I’ve been playing Dungeons and Dragons for many years. I started back in second edition, played quite a bit of 3e, and am now running a 4e campaign that has been going strong since 4e’s release. Throughout these many years, I have search far and wide for the perfect encounter manager. I have tried dozens of different tools over the years, and they have all had one thing in common: They are awful.
It’s a sad truth. The majority of the options out there are not just “not great,” but rather they are terrible. I try them out and I cannot imagine how people actually use these tools on a regular basis during a session. Most of them require way too many clicks to do extremely common tasks, lack flexibility, and are just plain ugly. Even the ones that aren’t terrible are still not nearly good enough to be usable during my weekly sessions.
There is, however, one exception. IniTracker by Andrew Lieffring is the first encounter manager I have ever used that I actually feel comes close to what a proper encounter manager should be. It has an attractive, subtly animated presentation. It displays the information you most often want to see at a glance. It does a small amount of automatic processing (like damage reduction for resistances,) and doesn’t require an obscene amount of clicks to do common operations. It is in fact the first encounter manager I have actually found myself using during my sessions. It’s good enough. As good as it is though, it is still far from perfect. It lacks a lot of flexibility to recover from mistakes: You can’t add a combatant after combat has started, you can’t reorder the initiative without a lot of work, you can’t simply “set” anyone’s HP directly to a value, as well as other things. And the biggest problem for me is the fact that even though it doesn’t take 10 clicks to do everything, it still takes too many. Adding and subtracting hitpoints is the single most common thing I need to do in the tool, and it makes me click a button just to bring up the “I want to make HP changes” panel. And finally, there are no keyboard shortcuts. Ideally I would never have to use the mouse, and instead just be able to type a few letters to accomplish what I want. In fact in its current state if you accidentally press enter while in the “HP” field, it completely ends the encounter and you lose everything. I only made that mistake once!
I have decided to build the perfect encounter manager.
The perfect encounter manager really only needs to accomplish two goals:
- Be more useful than paper and pencil.
- Be quicker and easier to use than paper and pencil.
Unfortunately these two goals are exceptionally difficult to accomplish. If a DM finds that he can keep track of all of the monsters’ hitpoints and statuses on his scratch paper more efficiently than he can using the encounter manager, then the software has failed. Paper and pencil is already a very fast method, not to mention infinitely flexible. This is why making the interface as quick and intuitive as humanly possible should be the number one thing on a designer’s mind when trying to design an encounter manager. If the DM wants to subtract 17 hitpoints from a monster, he should be able to in less than 4 seconds, because that’s how quickly he could jot it down on his paper.
Accomplishing those two goals will be my primary aim during the course of creating this tool.
What Does it Do?
I suppose I should outline what the scope of this encounter manager will be. Some encounter managers attempt to be little more than a tool to track initiative order, while others try to do everything including rolling monsters’ attacks. Here are the tasks that the tool should be able to do:
- Keep track of the initiative order of all combatants.
- Keep track of the current hitpoints of all combatants.
- Keep track of temporary status effects on any combatants, such as dazed, prone, blinded, etc.
- Display all of the above information in an easy to read, attractive format.
- Remind the DM when important events happen, such as a combatant becoming bloodied, a status effect ending, a saving throw needing to be rolled, and others.
- Allow additional combatants to be added at any time.
- Allow the initiative order to be changed at any time (manually adjusting everybody’s initiative scores is not the way to do this.)
This is a work-in-progress list, but I believe that covers the most important bases.
Here I will outline what I consider to be notable features. These are elements of the manager that will be an important part of the design, but don’t quite fit in to the much more general “What should it be able to do?” section above.
- Import characters from .dnd4e Character Builder files. Then automatically watch the source files for changes, and when one is detected, prompt the user to update the data in the manager with the new data in the .dnd4e file.
- Every operation will be possible to execute by typing in a shorthand command. This will allow 100% control of the application via the keyboard. I want to in some ways simulate what a DM might write on a piece of paper. If I type “drag stun save,” the application will know that the dragon now has the “stunned” condition with a “(save ends)” end condition. Similarly “10 fire id2″ will deal 10 fire damage to Intellect Devourer #2. “15 temp Melek” will give Melek 15 temporary hitpoints.
- Stats tracking. I am a stat whore. At the end of combat, I want to see how much time was spend on each turn of each round. I want to see a log of events throughout the entire combat. I want to see how much damage of which types a combatant took. Since the software is handling all of these events as they happen, it’s trivial to keep track of them and allow them to be viewed at the end of combat!
- Undo, not confirm. Confirmation boxes are terrible. You should never ask the user “are you sure you want to remove this combatant from the battle?” If the user didn’t want to remove him, he wouldn’t have clicked the button. In the much rarer event that a mistake was made, there is an “undo” button to undo the last operation.
But then it hit me. I will write this application in a platform I have been dying to find an excuse to work in: Adobe AIR.
If you don’t know, AIR allows developers to write applications in ActionScript that run outside of the browser. It’s 100% cross platform, with all of the benefits of being a full desktop application. It’s perfect. Plus I’ve been very impressed with a few other AIR applications I use on a regular basis, such as TweetDeck.
If you are reading this, it is hopefully because you too are interested in an application like I am describing. This is where you come in: Have I missed anything? This is your chance to leave a comment here explaining what features you have found lacking (or perhaps even features you like) in other encounter managers you have tried. This is the absolute best time to let your opinion be heard, because now is the time when I am most able to consider big features.
So, leave a comment with your thoughts!