Friday, December 30, 2016

The Computerized Game


Recently I had the opportunity to play for a few weeks in an online D&D campaign. Playing D&D over the internet really got me thinking about how we can use computers to do more of the heavy lifting for player and DM alike.


Programs, apps, webpages: whatever the ultimate shape of the infrastructure, it should be able to facilitate the following broad functions:

  1. view and manipulate digital character sheets, including changing one's equipment, making notes, and writing descriptions.

  2. review information about the game world, such as geography, roads, weather, the current market prices if they're at a city, and so on.

  3. easily consult game rules (XP tables, skill rating, Hit Die sizes, weapon damage, action point costs) and figure out how they apply to one's character.

  4. discuss the game in a central location in order to make plans and ask questions of each other and of the DM where everyone can see and benefit from the exchange.

Current Practice for All-Online Gaming

Let's go over how the above functions are handled by current online services, in the case of online-only campaigns. Then we can tie them back in to use for traditional game sessions.

Blog and Wiki

In the case I am familiar with, Alexis's Juvenis campaign, the functions above are handled primarily by a one-two punch of the linked Blogspot blog and a Wikispaces wiki.

The blog is the centerpoint of the campaign, and it is not used for anything other than campaign activities. Scenarios are presented as individual posts, and activity proceeding from the setup of the scenario is handled by comments on the post. Since comments and posts are kept around in the blogroll, on-the-spot rulings, which come up for all kinds of edge cases, can be reviewed in future situations, or consulted for the purpose of updating the codified roles as maintained on the wiki. This is the wiki's main purpose: a central repository for the game rules, growing ever larger as more and more questions are asked of the DM and more and more types of activity and edge cases to existing rules are considered. In Alexis's case, the wiki also contains information pertaining to the game world, including all the maps he has created. In the case of large editable files, such as generated character background Excel sheets, the wiki's storage functionality is supplemented by a Google Drive folder; this is easier to upload to and download from, and furthermore allows easy collaborative editing without as much overhead as the wiki, and with a more pleasant interface.

The chronological order of the blog posts, with newer posts toward the top, makes it easy to navigate and to check whether there is new information. The sidebar, containing a simple directory of all posts, makes it easy to jump back to long-ago posts. And, when necessary, blog posts which are not about a game scenario can be made, for such topics as rolling new characters.

Posts can only be created by the blog administrator (I don't know if there is an option to allow other users, such as the players, to create or edit blog posts.) If the players want a space to discuss some element of the campaign which is not relevant to the current scenario, they must make a somewhat off-topic comment on a scenario post, or on a post which has previously been set aside for just this kind of question. Game-related but off-topic comments can slow down the pace of e.g. combat scenarios, but in practice, as long as they are not too numerous, it is not a big problem. D&D primarily proceeds by first asking/answering questions and then making statements, so having questions pop up all over the place is expected. It does, however, result in a scattered trail of question-and-answer precedents which, until they are added to the wiki, can only be sourced by hunting through the blog. Given the large question-answer element of a D&D game, however, to some degree this will always be the case, no matter the medium.

Thus, discussion of the game in a central location is handled by the blog. Consultation of rules is handled ultimately by the wiki, but in practice often by reference to rulings made on the spot in blog posts/comments. Review of world information is again primarily handled by the wiki, and as necessary farmed out to Google Drive (character background sheets and small-scale area maps.) But what about player management of their own records?

For Alexis's campaign, since players are required to make new Google accounts with their characters' names, the solution is to also create a Blogspot blog on that account, and store the canonical versions of character records there. "Canonical" as long as one keeps it reasonably up-to-date, of course. In practice, it will sometimes lag the actual state of the game, especially when the state is evolving quickly, such as in combat.

If the character record is plain text which can be copied into a blog input box, then using a blog is reasonably convenient. But if one uses a spreadsheet to make certain calculations automatic, as is the case with myself and other players in the campaign, then the upload is a little more inconvenient. I believe it is possible to upload a spreadsheet as an attachment to a Blogspot post, but if this is done, then the spreadsheet contents are not visible at a glance when visiting the blog. To achieve at-a-glance visibility, a screenshot must be used instead.

Both of these approaches share a problem: any update to the game state or any decision by the player to modify his record, no matter how small, can immediately make the record non-canonical. Each approach also has unique disadvantages: if a spreadsheet is not used to track information, all calculations must be done by hand, which leads to errors which are not discovered until hopefully) the DM or another player notices. If a spreadsheet is used, then it is harder to make it visible on a Blogspot blog.

The flaws of using a blog to store character information are overcome by using Google Drive. Spreadsheets can be uploaded, downloaded, viewed, and edited all in one place. What's more, there is now one central location for all player record information. This defeats the visibility problem inherent to "uploading a spreadsheet to a blog post," while defeating the "immutable-and-requires-manual-calculation" problem of using plain text instead of a spreadsheet.

In sum, the blog acts as the main meeting point for the campaign and the "testing ground" in which new rules are discussed, applied, and evaluated. Working drafts of the rules are added to the wiki and called out to the players by the DM. Refinement of the initial drafts is an ongoing process, as the rules are shaken out in the actual gameplay or discussed between active play sessions by the DM and players. The basic architecture of "establish precedent while playing the game (blog) and codify precedent and procedure in distinct but associated areas (wiki + G Drive)" is sound.


I haven't investigated this medium, but DMs who run campaigns with drop-in players by the FLAILSNAILS campaign-interoperability rules exclusively use Google+.

Google+ essentially functions like a blog, in that posts are made and can be commented on. I don't know whether a Google+ page can be shared so that anyone can make posts on it (which would be an advantage over the Blogspot situation above.)

Two Directions

There are two areas for which I want to explore the use of computer and internet tools for furthering the possibilities of D&D as a medium.

The first area is: encouraging players to come together and organize/plan between game sessions, and making game rules and information available. In short, the campaign must have an online presence.

Convincing players to keep the game in mind, plan for in-person sessions, and strategize may not be necessary for every group. It can happen spontaneously. But it could doubtless be encouraged by providing a blog, chat room (with message history), or similar low-weight group discussion area to the players, perhaps attached to the rules website itself.

Making game rules and organization available is accomplished by organizing and maintaining a wiki (or, in my case, this website) as an always-on, always-available documentation of game procedures.

The second area is: advancing the state of the art in computer tooling for both the DM and the players to manage, look up, and apply game information, including rules, character records, and the state of the game scenario. For players this includes digital character sheets which are more than just editable text fields on a webpage or in a spreadsheet, but which are integrated programmatically with other areas of the game, such as the equipment tables. For the DM this includes retrieving existing NPC data or quickly storing (or generating and storing) a name or stats for a novel NPC; receiving callouts from the program which manages game world state when it detects that a given player character is at a dis/advantage in the current scenario; or declaring that the effects of weather, area spells, and other complex mechanics have taken place, and having the computer update the state of affected entities accordingly.

(Aside: I assume that we can take laptops at the table for granted. It became the norm in my games for most players as soon as I started emphasizing this website's role as the knowledge store, and since I've designed the site to be minimalistic, even smartphones can view it easily. That said, I have noticed that some players get distracted on their computers during the game. This is partially my own fault for not being sufficiently engaging and I'm working to correct that. But I believe this may also be because it is not currently possible to use computing devices to their full potential at the table. If the character sheet was on the computer, it wouldn't matter if the player was looking at it all the time. Paper character sheet and the player is constantly staring at the computer? Unless they're studying the rules website or have digitized their character's inventory, it's a problem.)


  • What further improvements can be made to the concept of a "digital character sheet" beyond a spreadsheet in a Google Drive?

  • Can calculations for certain derived values (such as whether the character is carrying enough equipment to be encumbered) be done for the player without needing the player to program a spreadsheet, which may contain errors, or to do the calculation by hand, which is slower and even more likely to contain errors? If an error is found in the calculations, can the DM reprogram it easily, and propagate the reprogrammed version without destroying existing data? These are crucial characteristics for the design of a character page that adds value beyond being a mere digitization of traditional paper records.

  • Can the state of the game world be, to some degree, managed by a computer program or programs? At minimum we can consider a clickable version of the world map, for which the party can call up information about anywhere they've been, and which has a moveable "party" marker indicating the party's current location, thus supplying to the master "game world program" the area for which weather and other characteristics should be displayed. More complex versions would have more logic behind the scenes. A DM-accessible database containing NPC information, some with only names, some also with some or all stats determined, some also with equipment, and space for notes or reminders. Perhaps this program could be fed specifications of the consequences of weather, so that when "rain" is generated, so too is a popup reminding the DM to impose such and such penalty to attacks or such and such multiplier to travel damage.

  • Can digital character sheets be linked to said game world program for real-time updates? That is, is it possible to automatically, and in real time, apply game rules to character data with respect to the current game scenario? For example, if a druid character has the ability to sense ley lines within a certain distance, and the party's positions has approached sufficiently near a ley line, how can we make the druid's character sheet go ping and alert them to a ley line's presence?

  • Other than offloading knowledge onto the wiki for players to absorb, how else can we remove the DM from the process of rules consultation?

A Vision

The computer's ease of use for formatting, storing, and sharing digital documents brings us to the state of Alexis's game. I don't think it is an exaggeration to say that his work represents the cutting edge of DM technologies. Complicated artifacts, like the trade tables and the character background generator, are built up by combining myriad simple calculations into nuanced operations. But we can go further than artifacts which present a single facet of the game. We can build artifacts which communicate with each other.

The trade table should be a webpage and the character sheet should be a webpage, and I should be able to drag and drop items from the former to the latter, decrementing my character's available cash, until I run out of money or the market runs out of a given item.

A monitor process could govern the flow of time in the world. The party decides to stay in town for a month to do some crafting. The DM types the length of time -- thirty days -- into the input, and the game simulates at least some of the effects of the passage of thirty days. I emphasize "some" because I know there will always be effects which the DM has not preprogrammed, but the more heavy lifting the computer can do, the better. Perhaps money for basic foodstuff is subtracted automatically from the character's sheets -- with a DM option to suppress this feature and let players figure it out themselves, if they decide they want to use their gold coins more efficiently than the unoptimized default provided by the computer. Perhaps the season turns to winter, and the character with a susceptibility to cold damage is advised, by an alert on her personal webpage, that on days colder than 40 degrees the character will take double damage from traveling.

The monitor process may be more general than a time checker. It might also automatically consider rules, as programmed by the DM, to display the case that fits their situation. Consider: your character approaches a cliff and wants to climb it. The DM states its height (and difficulty, and whatever other factors one accounts for.) The player plugs this into a "climbing" form on their character page, which prompts the monitor process to chug through the character's class, level, race, and background details, spitting out the number the character needs on d100, and the number of d100 rolls needed, to climb the cliff. (If you aren't sentimental about dice, the rolls can be done automatically too; this works fine for the DM who could use a load off, but players like to live or die by their own hands.) In an important further refinement, the process could, instead of presenting the result directly to the player, present the rule-defined result to the DM for tweaking, thus acknowledging and routing around the fact that not all scenarios can be programmed ahead of time -- as long as the magnitude of the tweak is made known to the player, so that DMs must justify scenario-specific tweaks, lest they be shamed as a fudger.

I want to be able to mark the recipes in my trade system as "armor," "weapon," and other categories, and have the character page slurp up those categories and build dropdown lists for characters to select their weapons with handy blurbs immediately accessible -- limited, of course, by their current inventory. Obviously there's some concern about things like improvised weapons: do I have to include weapon stats for every item that might conceivably be used as a weapon? No, a generic list is possible. And when there's an exceptional case, it should be possible for me, the DM, to edit the contents of the player's inventory, or drop in arbitrary items not present on the equipment table. The die says your weapon broke, and with a few seconds' work I as DM can edit your sword into a damaged one, or perhaps the computer will pick the way in which it breaks. You pick up a funny rock, and at my computer I'll write in "funny pink rock found 11/23/1701" and send it to your character's page, along with its weight.

We are going to have to take lessons from videogame design, from programming, from website design, and from human-computer interaction if we want to discover the shape of 21st century D&D.


  1. This is an awesome look at digitization technologies for D&D purposes. I'd love to hear your thoughts on Roll20 and other online platforms, which have chosen a somewhat different path forward w.r.t. computer aids for RPG purposes.

    Another feature that might be useful - the ability to add rulings generated during the running directly to the wiki (flagged so that the DM can look and edit it later).

    1. My friend Ben (who helped write the original version of the map generator, long before it was plugged into everything else) suggested I look at Roll20. Then the next day, you suggested I look at it too. Two suggestions from people I respect means I go take a look.

      I am intrigued by some of the execution, although of course using their tools requires buying all-in and using their whole online gameplay platform. That's the part to which I can't commit. I need to own the whole kit and caboodle and choose how it all works, especially when it comes to integrating graphics. Because it's focused on online play, Roll20 assumes one wants to use computer graphics to represent character positions for exploration, combat and so on -- which I am interested in, but which is only part of the goal for me. The core of the goal, I think, is a computer representation of the game world which can be updated in real time by myself or by code processes, and which can send and receive information from a player UI. Graphics are just one way in which such a model might be represented; I'm taking the data representation as my fundamental layer. I think about everything else flowing out of operations on the world data, whether it's transforming the data to alter game-world reality, or processing the data to do something like e.g. render a world map.

      Thanks for the feedback! I'll give Roll20 another, deeper look when I think I am ready to learn from it.