I wrote a D&D application. I consider it to be in alpha, and I’m releasing it here for people to try out.
The Purpose
Over the weekend I ran several “playtest” encounters with a few of my regular players. It was much different than our usual role-play-heavy sessions, because it was just pure combat. We said that we were practicing on the holodeck.
The point is, I took this opportunity to really examine what parts of combat could be sped up. I have always been dissatisfied with how long our combat takes and am always interested in doing whatever I can to make things go faster. And during these few encounters, I found one: My dice rolling.
I realized that I spend a considerable amount of time rolling my 20, forgetting what the attack bonus was, checking the monster card, adding the total, announcing it, and THEN if it hits, checking the monster card again because I forgot what the damage was, finding the dice used for that attack, rolling the total and then telling the player. This process is fine for players; it’s an exciting part of the game for them. Everyone likes rolling attacks! But for the DM, I am doing this a LOT every single turn. In fact I am on average doing it 5 times more often than each of them are, double or even triple if there are minions! This time adds up.
That’s when I got the idea for this application. I wanted a simple application where I could feed it a list of attacks, and it would give me simple buttons to roll each attack. All it would do is give me the total attack value, which defense it was versus, and the damage it will deal if it hits.
So that’s what I made. I currently call it “Avandra” which is named after the D&D god of luck. I’d like to make the name a little more descriptive like “Avandra Dice Manager” or “Avandra God of Dice” or something silly. Post suggestions as comments if you think of anything!
What it Does
As stated above, the main part of the application is little more than a list of dice “macros” that will roll if you double click on them.
It’s very simple, and works well. The only big disadvantage is that there is no way to add new macros to it while running; you have to modify your macro file and then restart the application. That’s something I’ll add in the future.
As you can see, there is also a “Temp Bonus” box in the lower left allowing you to apply temporary bonuses (or penalties) to the attack roll to account for combat advantage, enfeeblement, and so on.
The second major feature is an implementation of 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 (most likely plugged in to your laptop you use while DMing) that is facing the players. It’s a screen that all of the players can see that displays useful information.
Specifically, Avandra uses it to show the dice rolls of the monsters, in an animated fashion. As long as the player window is open and the “Public” checkbox is checked, any time you roll for a monster, the Player Window will go to work and display what the monster rolled. The screenshot doesn’t do it justice, because in reality it’s animated. The attack roll number “rolls” for a second before settling on a final number. It is then color coded based on the result (gradually turning from green to red between 5 and 15) and then the attack bonus is revealed and the number quickly ticks up to the final result. Finally the defense is revealed. If the attack hits, you can choose to reveal the damage which causes the damage as well as possibly a quick description (“damage, and stunned (save ends)”) to fade in for the players.
The goal of this feature is twofold:
One: I think public DM dice is more fun. It adds more suspense for the players because they feel like they really are at the mercy of the gods of fate. When rolling behind a screen, some of the suspense is missing, because the players are never really sure if the results you’re saying are actually true. Lying is well within you right as a DM, but it does take something away from the players.
Two: Having a computer roll the dice for you takes a little something away from the fun of D&D. I knew this when I set out to create the program. I felt it was an acceptable sacrifice for the purpose of speeding up combat. The players still get to roll all of their own dice, of course. I feel that this feature helps maintain some of the fun of physical dice rolling. The animated number helps, at least a little, keep the feeling of excitement you get when rolling a real d20.
I have not personally used this yet during a session. I plan in trying it out Thursday, and I will be sure to find out from my players if they thought it added anything of value to the experience. If you end up trying it with your own players, please let me know how it goes!
Using Avandra
Using Avandra is very simple. First you need to install it from this link. You will need Adobe AIR, which it should offer to install for you. If it does not, please let me know. I haven’t tested this on a machine that doesn’t already have AIR.
After installation is finished, if you run the program you’ll see that it asks you for a “Dice Macro File.” This is the file which will contain all of the attacks you want to be able to roll in Avandra. The format of this file is as simple as could be. It’s simply a plain text file, with an expression on each line, saved as a .dice file. Here is an example of the contents of a .dice file:
Club: d20+9 vs Fortitude, 2d12+7 damage Shortsword: d20+7 vs Reflex, 1d10+5 damage Dragon's Breath: d20+13 vs Reflex, 3d8+7 fire damage Concussive Bash: d20+10 vs AC, d0 stunned
You can download this example file here. When you go to add your own attacks, it is important that you follow the format exactly. Specifically you need to have an attack name followed by a colon and then a space. Then a dice expression, followed by “ vs ” and then a defense name, then a comma, then a dice expression for damage, a space and then you can put anything after that you like for the damage description. Also, you dice expressions must not have any spaces in them at all. “1d20+13″ will work but “1d20 + 5″ will not. If you deviate from that formula at all, the program will crash.
This is an Alpha release. There is virtually no error checking at all, as is evidenced by the strict requirements for the attack macros. If you follow the directions exactly it should work just fine!
Please let me know what you think of it, either as a comment or an email.

Adso | 04-May-10 at 8:53 am | Permalink
I like Avandra quite a bit, and I think I’m going to use it for private DM rolling, but I’m not sure about the player window. Primarily, it’s way too slow – I’d love it the animation speed could be doubled. I also wish multiple targets could be rolled against simultaneously. Also, I wish I did have a mechanism to “fake” a roll, without the players seeing it. This seems to me the best of both worlds.
Sam | 13-May-10 at 7:31 pm | Permalink
I do like the idea of the fake roll. It’d be pretty funny if you could set hotkeys that’d let you cause a 17-20 or a 1-3.
Greg Laabs | 14-May-10 at 10:27 am | Permalink
I just put up a new version with many improvements, including the ability to cheat. The animation speed is also increased significantly (it’s now a fixed length no matter how much it has to add to the roll, so a +20 counts up a lot faster than +10)
Mike | 06-Jun-10 at 5:42 pm | Permalink
Just used Avandra for my new campaign and we greatly enjoyed it. However I would like to say that constantly having to restart Avandra when we go to a new encounter does get old quick so some way to load a different macro without restarting the program would be nice.
Entice | 01-Jul-12 at 2:08 pm | Permalink
Hi, I noticed one thing. When you have multiple dice expressions in the damage, it doesn’t recognize this. Example: Githzerai Reavers do 3d12+4 damage plus 1d6 psychic. I tried writing this as 3d12+1d6+4 and it stops reading after the 1 in 1d6 and does 3d12+1.
I have fixed this by using a flat rate of 3 psychic damage and doing 3d12+7, but I was hoping that this could be looked into in the future.
Thanks
Jason | 19-Oct-12 at 5:09 pm | Permalink
I have played around with it quite a bit for a few days using some macro files I built from encounters I’ve run recently. It’s a great tool; dunno if I can use it with my DM setup (space is pretty limited), but I can see it being very useful to someone with decent table space to burn.
One thing I did note was when attacking multiple targets, if any of them is a critical hit, the damage expression is maximized for all targets instead of just the one. Is probably hard to code for that kind of contingency, but something I found noteworthy.
Thanks for making this program available!