Projects >> AjaxVTT
Want more?
AjaxVTT is a "Virtual Table Top" utility for multi-user, web-based battle mapping. It lets you play table-top RPGs (Role Playing Games) over the Internet. It is built in PHP and outputs standards-compliant dynamic HTML, CSS, and Javascript (with ajax).

Description

For quite some time I have wanted a way to play old-school, table-top, books-and-dice roll playing games online. I've looked at the packages out there (oh, mine is far from the only one) and found them all... lacking in a way. There's nothing I've come across that happens to do exactly what I want. So, like any developer with too much time on his hands, I decided to make my own.

AjaxVTT is not my first attempt at Internet gaming software. In fact, I've prototyped several VTT systems over the last four or so years, but never really finished any of them. I've also looked at several open source VTT packages and thought about contributing... but for various reasons never did or was never able to.

Background

So what does AjaxVTT do? It's a graphical web-based battle map. No unnecessary bells and whistles, just simple solid functionality that's as close to the real 'table top' experience as possible. In addition to the "battle map," AjaxVTT features a chat system with voice, video, and macros (for things like rolling dice) and very little else.

I first got the idea to create this software when the whole concept of what's being called "Web 2.0" was just starting to develop, and ajax technology was only beginning to find its way into mainstream use. I decided, "hey, what if I took a web-app and integrated d-n-d (drag and drop, not the other definition) functionality with ajax functionality? What would I get?" Turns out, you do that, you get something pretty cool. AjaxVTT is actually the second program I've written to use this combination (the first was a sort of wiki that let you drag elements around the page, sorta like a web-based MS Power Point (tm).)

Now, I know a lot of people who would cry out that a web page is hardly the place to build out a complex, interactive mutli-user application like this. In fact, I sorta agree with that - web technology is hacky, old, buggy, bloated, slow, and unreliable. The fact that it powers as much as it does, and has been built up as much as it has is really kinda impressive. But the bottom line is that, as much as PHP and Javascript are lousy choices to write functional thin client applications in... the end result does work. And it's hellaconvenient to tell an end-user "just go to this URL and you're done." No "pc or mac?" no "install this", no downloads (though, I do have to admit it only works in Mozilla-type browsers right now... open standards my butt).

AjaxVTT is still young and only partially complete. I've released the code under the GPL even though I'm not really sure what I really want to do with the project. Truth be told, I don't actually game that much anymore, and a big part of the effort was just to have done it. Not to do it because it could be done, but because I'm learning a lot as I go, and because there aren't a lot of ajax apps that do something similar to what I'm doing. And that's cool. It's enough to keep me motivated.

Screencaps

These captures represent only some of what AjaxVTT does. They are all from the point of view of the "Game Master." Players see almost exactly the same thing (the menus are a bit different) but don't have the ability to edit the maps or move the tokens.

Also, please excuse the very poor quality of the screen capture. As it turns out, screen capture programs (at least the good ones) are expensive. I used a cheap one and cleaned up the results in Quicktime, so they are what they are.

First log in and creating maps

When you first log in, you've got pretty much nothing but a blank screen (future logins take you back to where you last were). But don't worry, it's easy to edit your maps.

This cap shows a login to a clean game, setting the background, and adding a mobile. Token manipulation (rotation and sizing) is done with the arrow keys.


Quicktime, hi-res

This cap shows creating a new map and opening it. The background is then set.


Quicktime, hi-res

Adding characters to a game

If you want to play, you need players. Players play characters.

This cap shows creating a character and adding it to the game, then adding its avatar to the map.


Quicktime, hi-res

Adding, moving, editing, changing tokens

Tokens represent any object placed on the "battle map." Moving them around is the main functionality of the software.

This cap shows using an "overlay" to position the tokens nicely.


Quicktime, hi-res


In case you're wondering, most of the images came from Four Ugly Monsters.