Reflecting on 21st Century D&D

by . (updated

I've imported my old blog, 21st Century D&D, into this website, tagging the posts with "21stcenturydnd".

I wrote that blog during the second half of undergrad, give or take. While doing QA on the import program, I reread all the posts to gauge how I've changed since 2016-2018.

I've improved as a programmer and game designer, and there are ideas in those posts that turned out to be dead ends, or which are chiefly of historical interest as signposts for how far I've come. Yet there's a reassuring and comforting continuity between what I was thinking then, and what I've accomplished since.

In some cases, 22-year-old me had identified something as needful, and could see the shape and promise of the work, but hadn't yet had time to carry it out. In the first-ever post, I was deadly excited about finally finishing a tradegood pricing system for my game. At that time, it calculated market prices for 50 player-purchasable items, dumping them out to a terminal screen in a bare monospaced list.

Nowadays, that system prices ~1,200 objects in far more exacting detail, and displays them to players in pretty tables.

More importantly, those pretty tables are part of a market interface that's just one screen in a player- and DM-facing app for at-the-table use. That app also includes character sheets, a wiki, encumbrance calculations, live updates to all users when anything recalculates, and (as of earlier this month) a live-updating battlemap I can draw on.

In 2016, I was already calling for full computerization of the tabletop roleplaying game, in a way that preserved the DM's game-defining ability to change and upgrade the rules and world during play. I had absolutely no idea how to code such a thing at a time; I hardly even knew the technical terms for the necessary components. I desperately wanted it to exist; I repeatedly revisited the ideas in prose to try and nail them down; but I was hardly ready to implement.

Since then, I've written a master's thesis on subject, and implemented some half a dozen software projects surrounding the concept of augmented playing and DMing. I don't mean to pat myself on the back too much. Strange as it sounds, there is so much yet to be done. Even if I had all the time in the world to work on just the application for my own game, my own rules, my own world, I would have years of work ahead of me.

Despite all that needs doing, I just keep accumulating projects. As of March of this year, I'm now juggling work on a second "D&D companion app" on top of (as yet unnamed) one for my game/rules/world (as yet unnamed). That other app is Zingor, which I've built for myself and my fellow players in Alexis's online campaign.

There's already been cross-pollination between Zingor and my campaign app, even though they use different rule systems and are used by separate gaming groups. Some of that cross-pollination comes in the technical aspects: for example, I'm porting the live-update mechanism from my campaign app to Zingor. But another form of cross-pollination, which I hadn't expected at all, has come as a byproduct of using Zingor as a player. (It is perhaps no coincidence that I haven't been a player since college... although I like it that way. DMing is the best thing in the world.)

Zingor allows the players to edit all aspects of their character sheets at any time, but for the longest time, I've had a strict delineation in my own campaign app between player commands and DM-only commands. There's always going to be a need for some amount of separation there: the DM is not a player, and his needs are vastly different from those who play PCs. But using Zingor as a player made me realize I should ease up and give my players more control over their own character data entry. As long as I make it easy to fix up mistakes, I ought to more fully grant my players ownership over their characters.

There's a parallel here to the type of sandbox play that's on offer in my campaign. I don't give out quests. I don't have mysterious old men handing out convenient rumors. I build a world. When a group of players first starts playing, I put them in that world somewhere. And I describe what they see and what they know. And then I shut up and I let them go find their own fun. If that's the kind of game I run, then that ethos should be reflected in the tooling which is, by now, integral to gameplay.