PocketDice 1.03

Documentation File last updated Mar 30, 2001.

PocketDice is intended for Pocket PCs (Windows CE 3.0) only. It will not run on Palm-size or Handheld PCs with older versions of Windows CE. It might run on a Handheld PC 2000, but it will likely look funny. I may do a patch release for the HPC2K, when the SDKs are available.

[What's New This Version |Installation Instructions |Basic Instructions |Details on Dice and Roll Types |Version History |PocketDice and DicePro ]

This version (1.02) is FREEWARE. It only took me a couple dozen hours to write, and I wanted it for my own use. I put in almost all the features I could think of.

I will gladly entertain ideas for new features, especially if I've missed any die rolling or counting methods used by extant games. Since this is freeware written on my own time, I may or may not act on any given suggestion. If you want to offer me money, let me know and I might be interested!

(Realistically, even if you offer me a small bundle of cash, I might or might not have time free since I do have a day job.)

What's New in version 1.03

Added the ability to give a "bonus" on a normal "total" type roll, and to specify your AV on a Feng Shui roll.

Installation Instructions

No fancy installer is provided, but there isn't much to this software either.

The only thing you really need to know is the processor type of your machine. You can find this out definitively by going to Settings|System|About.

The ZIP file contains four folders. The "Docs" folder contains a copy of this file and its accompanying screenshots. The other three directories are named for each of the three processor families used in Pocket PCs: MIPSRel for MIPS processors, ARMRel for StrongARM processors, and SH3Rel for SH3 (and SH4) processors. In each of those directories is the executable for that type of processor.

  1. Copy the executable for your processor type to your choice of locations on your Pocket PC. The normal location would be \Windows\Start Menu\Programs.
Yup, that's it. One step.

Basic Instructions

By default, PocketDice will open the settings file you most recently used. (This means if you need only one "page" of dice for all your gaming needs, you won't have to do anything but save it when you modify it.) PocketDice also remembers a whole bunch of your most recent files on its File menu, so you shouldn't need to explore very often.

Normal Operation

Screenshot: main screen

In normal operation, you see a bunch of buttons on the screen. Press one to roll the dice indicated on the button label.

Depending on your preference settings, rolling the dice may just tell you the results at the top of the screen, or it may switch to a display of all the dice rolled. By default, it will switch to the dice display only when the die roll involved more than one die.

Dismiss the detailed dice display and return to the main screen by tapping anywhere.

You can always see the die roll page for the most recent roll by tapping in the area where the results are displayed. This works whether or not the details were shown automatically.

Configuring Dice Buttons

Screenshot: configuring a button

As you probably expect, you can edit a button by tap-and-holding on it. This will bring up a menu which allows you to just roll the dice (if you held by accident), edit the button's settings, or Copy or Paste the button's settings. (If you paste button settings into some other program, the text of the button is all that will appear there. If the clipboard contents come from some other program, the Paste command will be gray.)

Though the roll configuration screen has a bunch of stuff on it, it should (hopefully) be clear to you, at least when you are configuring rolls for games you know. There is a detailed explanation of the options later in this document.

At the bottom of the page are some buttons designed to make it unnecessary for you to bring up the Pocket PC keyboard most of the time.

The bottom-most set of buttons are a mini-keyboard with only digit keys and backspace; this should suffice for anything except the label field. (Because these are actually buttons on the dialog, clicking them moves the focus normally, so you won't be able to see the insertion caret to show where you are entering numbers. Input from these buttons goes to the last number field (count, sides, etc., not the Dice Type or Roll Type) you tapped in.)

The set above the mini-keyboard are presets for the standard polyhedral die sizes. Like the mini-keyboard, pressing one of them replaces the current value of the number field you were last in, so you can use them to set the number of dice, etc. as well. For the same reasons as the mini-keyboard, you won't see the caret because these are just buttons in the dialog.

Configuring your Preferences

Tap-and-holding in the results area will give you a menu showing the modest set of preferences you can set. Again, what you would get on a simple tap appears at the top of the menu in case you didn't mean to hold the stylus down. The three choices of when to show the detailed results page are grouped together, and the only other option is to turn the die-rolling sounds off or on.

Saving and Loading Pages

The File menu looks an aweful lot like the one you'd see on a Windows desktop or a pre-Pocket PC Windows CE application. Since you probably don't use your Pocket PC in a vacuum, I hope this is straightforward enough for everybody. (If you are curious, yes I used MFC to build this app. Hence this behavior was extremely cheap to implement.)

Contrary to the official Microsoft line, PocketDice has an explicit Exit command. You don't have to go to the Settings page, or use the secret Ctrl-Q keystroke, just to shut it down.

The choice of what an "empty" page of dice buttons should look like is pretty arbitrary. I just fill them in with some obvious simple combinations, since you'll likely want to customize everything anyway.

Details on the Dice and Roll Types

Dice Types describe the way the dice are rolled, while Roll Types describe how they are counted up afterwards. Most Roll Types apply only to certain Dice Types; in fact, there are quite a few pairs where a Dice Type and a Roll Type can only be used together.

Some Roll Types really only apply to specific settings within a Dice Type. For example, a Dungeons and Dragons THAC0 roll should only ever be made with 1D20, while GURPS and Hero success rolls should only be made with 3D6. PocketDice does not enforce these types of restrictions. It only forbids combinations where the calculation is impossible or nonsensical. More detailed rules could be a feature in a later version if folks tell me they really want it.

Dice Types

Normal
These are simple n-sided dice with numbers from 1 to n, your garden variety "3D10" or whatever
Averaging
These are six-sided dice numbered 2, 3, 3, 4, 4, 5
Open High
These are n-sided dice which reroll and add when they are "threshold" or higher. Several games use open-high D6s, though Shadowrun is called out separately so I can implement Karma rerolls in a future version of PocketDice.
Open Low
These are n-sided dice which reroll and subtract when they are "threshold" or lower. Note that they keep rerolling when the reroll is (sides - threshold + 1) or higher. This is the other half of the full open-ended die type, but I don't know of any game that uses these.
Open-Ended
These reroll and subtract when "threshold" or lower is rolled, and reroll and add when (sides - threshold + 1) or higher. Rolemaster (aka Chart Law) uses an open-ended D100 with threshold 5 for all of its tables.
Reroll Once <
These are rolled as normal dice, but when too small a value is rolled, a single reroll of each offending die is made. This is used in some AD&D games for spell damage, and in others for hit points rolls, to reduce the incidence of small numbers.
Reroll Once >
The mirror image of the preceding type, which might be useful for the opposite tweak to probabilities
Reroll Once =
Sounds very odd, but I left it in as cheap to implement. Like the Open-Low type, I don't know of this ever being used.
Feng Shui
This is the basic roll mechanic from the Feng Shui game system, involving two open-high D6s in opposition to each other, with special cases for boxcars.
Hero Normal Damage
This involves rolling D6s and counting both the normal "stun" total and the "body" total, allowing for the two types of hit points in that game. Normal damage can also involve "half" dice, which add 1-3, evenly distributed, to "stun", but only add a single pip to "body" if they roll a 6.
Hero Killing Damage
Also for Hero, this is the alternate damage scheme for "killing" attacks, which do slightly more "body" but extremely variable "stun". Killing attacks cost triple what normal ones do, so they can end up with a "third" of a die, counted as +1, or "two thirds" of a die, counted as 1D3.
Digits
Some games use a set of dice as the digits of a number instead of adding them up. This is the same as the normal way of rolling 1D100, but extends to multiple digits. Also, some games use other than D10s to generate special table entries. Many Starfire campaign games number star systems from 111 to 666, rolling 3D6 as digits to pick a random one.
Storyteller (White Wolf)
This is the die rolling system used by the World of Darkness (aka "Noun: the Gerund") games. This is a special case of rolling some number of D10s, but the resolution is special.
Ars Magica
This game uses a peculiar system of rolling a single D10 with rerolls, but instead of rerolling and adding, you count the number of rerolls and double the final result for each reroll. An initial roll of 10 is a potential "botch", and invokes additional mechanics.
Shadowrun
The standard Shadowrun roll is simply a number of open-high D6s, but in a future version of PocketDice I plan to implement the special mechanics for karma rerolls.
Twilight Brigade (Shadowrun variant)
A variant way of rolling Shadowrun skill checks, originally out of Cambridge. This results in a similar target number curve, but doesn't have all the strange kinks in it the way the standard one does. (Frex, in standard Shadowrun target numbers of 6 and 7 are identical in difficulty, but 8 is significantly harder.) In this system, both 5s and 6s are rerolled, but on rerolls only 4 is added to the total. For example, if a die comes up 6, and the reroll comes up 3, the total will be 7; a sequence 5-5-6-3 totals to 15.
FUDGE
This "free public" game uses dice with equal probabilities of +1, 0, or -1. Hence any roll's expected result is zero but a number of dice decreases the chance of exactly zero significantly.
Earthdawn
This game uses a funky system of multiple open-high polyhedral dice based on "step numbers", yielding a relatively smooth curve of average results equal to the "step". The rulebook's table only covers step numbers up to 40, so PocketDice only implements that.
Star Wars
The basic roll in this game is just a total of D6s, but a single die is distinguished as the "wild" die; if the wild die comes up a 1 or a 6 the outcome is special.
"Luck" Dice
Originally part of the Hero System, the mechanics for luck rolls are often used in all sorts of games to resolve basically random questions for dramatic effect. These are six-sided dice read in a special way: Luck dice count the number of sixes rolled, while unluck dice count the number of ones. In the pure Hero rules, a character with, say, 3D6 luck and 3D6 unluck would roll three dice for luck, then three more for unluck. Many groups compress these to a single set of 3D6 to save rolling. PocketDice follows this convention, so if you want to roll your luck and unluck separately, you need to configure a button for each of them.

Roll Types

Ordinary Total
Add them up, just like normal people do. As of V1.03, you can specify a bonus to add in, to save doing the math yourself.
Total of Highest
Out of all the dice rolled, take only the highest several to add up. This is used in AD&D for character generation, where you roll 4D6 but use the best 3.
Total of Lowest
The mirror image, keeping the lowest bunch and adding them up.
Count Successes >=
Usually used for open-high dice as in Shadowrun. Instead of adding up the total, compare each die individually to a target number. Count the number of dice that equal or exceed the target as the "number of successes".
Count Successes <=
The mirror image, counting the number less than or equal to the target.
Count sixes and ones
This is the roll type half of a Luck Dice roll. See the dice type above.
Made by <=
Compare the total of the dice to a target number. If it is lower or equal, you succeed. The amount by which you succeed or fail is usually significant as well. This is used in Hero (though see the Hero To-Hit Roll Type for a convenient special case) and GURPS (but that has special critical and auto-failure rules so it gets its own Roll Type), as well as some more obscure games. With exactly 1 normal D100, this is the mechanic for most Chaosium games, although Runequest has a bunch of special cases (in its own Roll Type below), and Pendragon uses 1D20 and obscures the subtraction.
Made by >=
The mirror image of the previous one. Used in some D&D variants that get rid of the AC system.
THAC0
AD&D uses a D20 and a set of charts based on class, level, and target "Armor Class" to determine hits. These charts can be abstracted to a single number based on class and level, and most folks do so. In a nutshell, your THAC0 score is the minimum you need to roll on a D20 to hit Armor Class 0. Higher AC numbers represent being easier to hit, so you hit AC10 if your roll +10 beats your THAC0. There are two special cases: A "natural" one always misses. A "natural" 20 effectively counts as a 25 for the computation. Thus, magical to-hit bonusses can't be included in the THAC0 score if you are following the rules carefully, but most campaigns ignore this finesse.
Note: I didn't implement the separate to-hit bonus for those who use the official rules. This would be a fine thing to include in a future version if people ask for it.
GURPS
A GURPS skill roll is basically 3D6 Made by <= your skill, but there are special rules for automatic successes and failures, and for criticals.
Stun and Body
Hero damage, as mentioned in the two Dice Types to which this applies, involves two separate but related numbers.
Botch/Success
Both Storyteller and Ars Magica have result concepts of either "botching" (potentially multiple botching), or of succeeding to some degree. Ars Magica rolls a single D10 and sometimes some "botch" dice, resulting in either botches or a "made by >=" sort of result. Storyteller rolls a number of dice with a "count successes >=" result, but subtracts the number of ones rolled from the number of successes; a negative result is a botch.
RuneQuest
This is basically a 1D100 "made by <=" result, but with special rules for "critical" and "special" successes, critical failures, and auto-success and auto-failure.
Legend of the 5 Rings
This is a funky hybrid of the "Total Highest" and "Total Lowest" methods. A number of dice are rolled, then the "keep number" highest ones are added up and the "keep number" lowest ones subtracted.
Feng Shui
The unique Feng Shui rolling mechanics result in a unique computation mechanic as well. You may specify an AV to which the roll will be added, or leave the AV field zero to get the raw roll.
Star Wars
Again, a special Roll Type matching the special Dice Type.
Hero To-Hit
Hero's to-hit rolls are a special case of their general 3D6 "made by <=" mechanic. Your character has an "OCV" score and the target has a "DCV". If you roll an 11, you exactly hit a character whose DCV is the same as your OCV; deltas apply appropriately. Hence, especially when the GM doesn't want to tell the players what a character's DCV is, a player will often want to roll and say "I hit DCVs up to 6" or such.

Version History

Version 1.0
Initial release.
Version 1.01
Improved Random-Number Generation. This version is a little smarter about using the pseudo-random number generator in the run-time library, but enforces a limit of 1000 sides on a single die to allow for that.
Version 1.02
There was a big bug in the handling of negative values as parameters to die rolls. This is only allowed by a few of the more obscure roll types (notably the stun modifier on Hero "killing" damage), which is probably why nobody noticed it before I did.
Version 1.03
Added the ability to give a "bonus" on a normal "total" type roll, and to specify your AV on a Feng Shui roll.

PocketDice and DicePro

I owe a debt to Rival Game Labs, because their PalmOS die roller gave me some excellent ideas for presenting the vast array of possible die rolls, and because it was so clear to me how the greater capabilities of WinCE could improve on the basic idea.

On the other hand, the complex interaction of dice types and roll types is very confusing in DicePro. By clearly defining the distinction, I think I've made it a bit easier to figure out where to find things. It took me quite a while to rediscover how to set up Champions damage dice after reading the DicePro manual, because that's one of only nine options in their "dice type", with everything else appearing as a "roll type".

I also got rid of the distinction between "standard" and "nonstandard" dice, since the existence of a Platonic solid implementation of a die type isn't all that important.

More of a judgement call was getting rid of some of the roll types that seem to be in DicePro just for completeness. Counting successes when equal to a specific value, for example, would not make much sense except when that value is the highest or lowest possible roll (and hence can be done with the >= and <= options already). Similarly, rerolling all dice that were in a range or equal to specific value seems like a way to, for example, use D6s as D5s. This isn't necessary with virtual dice. Totalling all dice except those that rolled a given number or set of numbers is more mathematically interesting, but I've never heard of a game that did this. Please let me know if you want/need this type of roll.

As of this writing, you can read about DicePro and download the current version, 2.0a, from http://www.geocities.com/rivalgamelabs.