Skip to content

Building the Perfect Encounter Manager

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 considered using IniTracker as a good starting point and making the changes personally. The project is open source afterall, and it’s in a language I am already fairly comfortable with (javascript.) After thinking about it for a couple months though, I decided that the amount of changes I want to make to the tool are so large that I might as well just write my own from scratch. One that has exactly the usability that I find missing from the vast majority of other managers out there. One that anyone can use and be happy with. One that has the flexibility everyone needs for their own house rules.

I have decided to build the perfect encounter manager.

Design Philosophy

The perfect encounter manager really only needs to accomplish two goals:

  1. Be more useful than paper and pencil.
  2. 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:

  1. Keep track of the initiative order of all combatants.
  2. Keep track of the current hitpoints of all combatants.
  3. Keep track of temporary status effects on any combatants, such as dazed, prone, blinded, etc.
  4. Display all of the above information in an easy to read, attractive format.
  5. 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.
  6. Allow additional combatants to be added at any time.
  7. 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.

Notable Features

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.

  1. 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.
  2. 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.
  3. 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!
  4. 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.

The Platform

Last but not least, I want to discuss the platform I have chosen to write this application in. My initial idea was to use C# and write it in the .NET framework. Desktop applications are a breeze to write in it, and I already know it moderately well. However, I was concerned about this decision completely leaving out the Mac and Linux users. I was also concerned about making the application attractive using .NET. It is great for writing applications that fit the look and feel of Windows applications, but I don’t think this application should have the standard “Windows Forms” look. I again thought of IniTracker, whose interface I particularly like. I considered writing it in Javascript. This allows me to work in HTML which I am very comfortable with, and also keeps it completely cross platform. The problem with this is that some of my feature ideas above are completely impossible in Javascript, most notably the ability to use and monitor files on the user’s hard drive (for the auto .dnd4e updating.)

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.

Your Feedback

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!


  1. Sean to the C wrote:

    I think it’d be good to have pre-made Monster archetypes as well, screens showing the encounter creature’s raw stats and flavor text along with pictures. Being able to just load in a few monster types instead of typing in the relevant monster data would be optimal for random encounters, and greatly speed up encounters.

    Friday, January 15, 2010 at 6:43 pm | Permalink
  2. Jeffrey wrote:

    I think you are very close to on the money here. I have been considering the same thing, and agree with you on pretty much everything. The one notable exception being that I would initially make it tie into iplay4e rather than raw dnd4e files.

    Thursday, March 18, 2010 at 9:00 pm | Permalink
  3. Cory wrote:

    You have pretty much articulated what I have been looking for since I started DMing last year. I’ve only dabbled in HTML/CSS and Javascript programming-wise, and it’s been extremely frustrating trying to create something along these lines. I don’t know if you might need any help, or how I could do so, but I’d definitely be interested.

    Tuesday, April 6, 2010 at 4:01 pm | Permalink
  4. Jon wrote:

    Oh so you want to write Masterplan basically. Good luck with that!

    For those who don’t know,

    Saturday, April 17, 2010 at 12:32 am | Permalink
  5. Greg Laabs wrote:

    Not at all. Masterplan is a pretty good program for a lot of reasons, but a perfect encounter manager it is not at all.

    I have a lot of needs that Masterplan does not address and Masterplan tries to do a lot of things that I do not need.

    I do use Masterplan for planning my campaign though, and I find it the best tool out there for doing that.

    Saturday, April 17, 2010 at 10:48 am | Permalink
  6. Jon wrote:

    … I hope you have a lot of time on your hands.

    Sunday, April 18, 2010 at 2:51 am | Permalink
  7. Diggles wrote:

    Besides importing character files, what about importing the rich text from monster builder?

    Wednesday, June 2, 2010 at 3:11 am | Permalink
  8. Sam wrote:

    I just started as a DM, and on your reccomendation from the Thursday Knights site I’ve been using Avandra and Initracker for my sessions. It has helped SO much, but today I’m preparing for a session tonight, and initracker isn’t working. I’ve been looking for a halfway decent program to use, but I haven’t found one.

    I’m reduced to using paper and pencil, which I guess is okay, but like you said – it’s a shame that all these programs out there exist, but are more complex than paper and pencil, and often don’t give that many options. I really think Avandra is awesome and I have high hopes that you will have an Encounter Manager to test soon.

    Saturday, July 17, 2010 at 7:24 am | Permalink
  9. Iain wrote:

    Greg, you are truly a genius. Adobe AIR? Fantastic. I’m on a Mac and I hate the limited options. Avandra really is very good so I can only imagine that this will be good too. I’m am certainly going to use Avandra in my future D&D sessions.

    I do have one concern: will there be enough flexibility to use this manager with D&D 3.5e? My 3.5e players are stuck in their rejection of 4e (for reasons i can’t entirely fathom) so I’m hoping to be able to use this programme still. Avandra’s macros are flexible enough to basically put any rule-set I need into it. What about this?

    Tuesday, August 24, 2010 at 7:27 am | Permalink
  10. Mark wrote:

    Nice post and a decent collection of comments. I’m working on an Encounter Manager for 3.5e and most, if not all, of these ideas listed here are definitely helpful.

    Friday, August 27, 2010 at 10:18 am | Permalink
  11. alert iis wrote:

    I’ve been exploring for a little for any high
    quality articles or weblog posts in this sort of house . Exploring in Yahoo I ultimately
    stumbled upon this website. Studying this info So i’m glad to express that I have an incredibly good uncanny
    feeling I found out exactly what I needed. I most no doubt
    will make certain to don?t omit this website and provides it
    a look regularly.

    Sunday, September 14, 2014 at 3:31 am | Permalink
  12. The most common error is that tempo training is done at a pace that is too fast.
    In most cases, the leaner you are, the more carbohydrates
    you’ll want to have in your diet. The pear contains
    natural sugars and not the processed stuff that flavours your maple and brown sugar oatmeal.
    ) The successful people get to repeat this attempt but farther apart from each other.

    Monday, June 29, 2015 at 8:59 am | Permalink

One Trackback/Pingback

  1. Greg Laabs :: Avandra Dice Manager Alpha on Wednesday, January 27, 2010 at 3:18 pm

    [...] an idea I’ve had for a long time, and related to a concept I have been thinking about for my Perfect Encounter Manager: The “Player Window.” This is a window that is meant to be placed on a second monitor [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *