my daily nih - virtual rpg systems

nih - not invented here - a bad habit many engineers (certainly this one!) will cop to; if it was designed by someone else, it's crap and we should build our own.

I've recently been preoccupied with the idea of running a traditional rpg online. I was in one game a few months ago that was a lot of fun before it ran out of steam. We used a traditional forum setup and that worked alright, but there are some things about the way a forum is set up that make it less than optimal. Forums are good about maintaining a timeline, but bad at conveying game information efficiently. Things like maps, side conversations, character attributes, and ancillary characters are at best awkward hacks. That won't stop you from having a good time. Here is a site with a large community of play by forum games.

But to me an online rpg session is more similar to a game than a forum; I'd build it from the ground up around maps, characters, statuses, events, and attributes. Other people have approached this problem before. Here is a chart of some existing virtual battle mats that take a virtual map plus chatroom approach to online RPGs.

The thing is, most of these applications seem to have been designed for the world of 15 years ago. Most of them are downloadable clients, where the GM sets up a server on his local machine and gives his IP to his friends, who run their own native clients and connect to it. This is how online games worked in the 1990s. Nobody does this anymore in real life - games in this decade are centrally hosted. In fact I'd get rid of the native client entirely and use a web client instead. There are so many advantages to the web client! Compatibility, ease of use, accessibility from anywhere (including at work), centralization, and serialization. If your game is hosted on a web server with a database back end, you can have some confidence that you won't lose your campaign history if your GM has a power outage. Most of all, this model forces players to be online concurrently, which is often a deal breaker. There's a reason we're playing online in the firstplace, instead of meeting up at someone's house.

I also don't love the chat paradigm; it's good for letting people talk quickly, but I think there's something to be said for the more considered pace of a forum; players are encouraged to edit and embellish their posts, and the result is a higher quality, more readable and re-readable game.

I want to take the best of both approaches.

Forums are
-centrally hosted - GM needs no special software
-persistent - game data is never lost
-availabie- game can be accessed at any time from anywhere
-higher post quality - rich editors and the ability to edit posts after posting means better prose.
-multi-channel communication - secret threads for certain GM/player purposes.

The multiplayer computer game approach gives us
-built in character concepts
-object status and attributes
-fog of war
-dice rolling and other rpg tropes (initiative, turn order) built into the interface
-rich game appropriate GM controls

The system I would build would focus on creating the timeline of a story. The GM would have full access to edit anything anywhere in the timeline, and can assign out permissions to the other players to edit their own actions in the present and some subset of the past, or larger subsets as appropriate. The maps, the objects with their statuses and attributes, are all a part of the timeline. As you browse through the game log, you see how the map evolved with the actions, and you can see how the characters' attributes change over the course of the session/chapter/game.

The whole thing is stored forever in a database, and accessible from (almost) any browser. Like wikipedia, every edit is stored and is reversible. The default view of the game shows the final state of the timeline (or you can view the edits in strictly linear fashion if you want to see how it looked before someone retconned it.)

Also, sounds similar to google wave.


  1. I couldn't sit still and read through your whole thing without wanting to mention that Google Wave sounds like exactly what you want, so I'm glad you mentioned it yourself. I was going to say "Stop everything you're doing now and watch the Google Wave demo" but it's good to see that you have. So, yeah! Your idea sounds like a poster child Google Wave web app.

  2. I watched the Google Wave demo. Looks pretty sweet!