DiceMachine
This is a free little Java program that rolls a pair of dice and graphs
the distribution of the rolls over time, which is just what you want for
the board game Settlers
of Catan. The graph is kind of neat to watch, and it demonstrates
visually that the rolls never go your way. It also helps the game to go
a little quicker. I have written a separate short discussion about Dice Odds in Settlers of Catan -- that
addresses questions like: what are the odds of a Settlers game where no
9's are rolled?
How much do we play Settlers of Catan in my house? Well the fact
that I wrote this little app should give you some idea!
This is a completely free application and it may be redistributed.
Running DiceMachine
DiceMachine is written in Java, so it can run on any system where
Java 1.2 or later is installed -- Windows, Linux, Mac OS X, Unix, and so
on. When there's a port of Java 1.2 to the Palm OS or Windows CE, it
should work there too.
- First make sure the Java Runtime Environment (JRE) is installed (JRE download) (Mac OSX has
Java installed by default) To run DiceMachine, just download the small
file DiceMachine.jar
(76K) which is the application itself (right-click or ctrl-click the
link to save the file). There is no extra step to decompress the .jar
file -- it's ready to go. On most systems, you can double click the .jar
file and it will run. The command line incantation to run it is "java
-jar DiceMachine.jar".
- Alternately, there's a new part of the standard JRE called Java Web Start
which allows Java applications to run right from the browser. With Java
Web Start installed, you should be able to run DiceMachine from your
browser just by clicking here.
Features
The big Roll Dice button does the standard 2-die roll (2..12).
Use the Players menu to indicate the number of players, and the program
will keep track of who's turn it is. DiceMachine can be driven entirely
from the keyboard or keypad -- use the return or enter key
for the standard 2..12 roll. There's an undo feature in case someone
rolls accidentally.
Use the Roll Custom button to get a uniform roll between 1
and the number you specify. Typing a digit on the keyboard automatically
does a custom roll, so for example, typing '6' does a custom roll from
1..6. In Settlers of Catan, use the custom rolls for the card stealing.
Use the little slider to look back in time to see how the rolls
evolved. There's a Look And Feel menu so you can try switching the
appearance of the program dynamically. It's a gratuitous feature, but
it's something that Java does, so what the heck.
This is the 1.4 release as of Mar 2003. New features in this
version: the fonts get bigger as the window gets bigger, so it can be
easier to see the interface from farther away. The time-slider now
allows you to look at the rolls over time. The numbers gray out more
obviously when stealing cards, so it's easier to remember to take your
turn if playing a soldier before rolling.
Running on Mac OS 8-9
Although Mac OS 8-9 only run Java 1.1, it's enough to run a slightly
older version of DiceMachine with a little extra work...
- Make sure Mac Runtime for
Java (MRJ) is installed. It's part of the default OS, so it's
probably already there.
- Make sure swingall.jar is installed ( get
swingall.jar -- you need to click-hold the link so you can save it
as a file, then move swingall.jar to System Folder > Extensions >
MRJ Libraries > MRJClasses).
- Download MacDiceMachine.sit,
and extract the MacDiceMachine application.
Java Web Start Developers
As part of getting Java Web Start to work, I found the following
settings helpful for getting the right MIME type for .JNLP and .JAR. I
created a .htaccess file in the DiceMachine directory with the
following contents (this is an Apache feature)...
AddType application/x-java-jnlp-file JNLP
AddType application/java-archive JAR
Then I created the dice.jnlp file which
glues it all together -- look at its text to see how it works. Share and
enjoy!
Nick Parlante
nick.parlante@cs.stanford.edu