// TODO update doc in regards to the large arch change from 0.0.8-SNAPSHOT
A way for Dungeon Masters to collect, build, and roll on their collection of favorite tables. the recursive template feature allows table results to mention dice rolls or other table results that all get resolved into one nice easy to read message. currently it loads up tables from the 5e SRD.
Lets roll for a random encounter.
18
Ok we are in the swamps so let me roll on that encounter table.38
Eblis… Eblis… Eblis… looking for Eblis description. Here it is. You stumble across… let me roll…4
eblis. (resolve) In their huts you find some treasures, let me roll a couple times.59
67
82
You find a rotting quiver with …roll…3
silvered arrows. You find a case with …roll…8
blocks of repelant. You find a wodden tube with …roll…2
gemstones.
DMing Tomb of Annihalation
It took 9 rolls to determine that single random encounter. With Table Flipper we can resolve that in 1 click. You can write a table for the checking of a random encounter and have that table (on 16-20) reference the table of encounters. The Elbis entry can reference the treasure drops table 3 times and the roll for variable amounts can all be handled right in line. I can now click 1 time and see this on my screen:
RANDOM ENCOUNTER in the SWAMPS.
Creature: 1d4+1=4 eblis living in reed huts built on stilts above a swampy marsh or pond. Depending on the threat level of the party the elbis may trade information or fight.
Treasure:
a rotting quiver containing 1d10=3 silvered arrows
a case containing 2d12=8 blocks of insect repellent incense
a stoppered, wooden tube containing 1d4=2 gemstones (50 gp each)
If this encounter occurs while the party is camped, the eblis sneak into the camp and try to drag one character away.
Reading Table Flipper output
This preserves the more procedurally generated content without the cost of time and interruptions.
If you have Java 11 installed then this should be as easy as getting the latest release. Start with the tableflipper-x.y.z.jar package. If double clicking it does not run the jar then on a command line try java -jar tableflipper-x.y.z.jar
. For those that want to run it solely from the command line then just run java -jar tableflipper-x.y.z.jar -cli
.
You can place your own table yaml files in a subdirectory of your home directory called tableflipper
.
The structure of these files are "Tables" and "Descriptions" here is a very simple table yaml file.
simpleExample.yaml
tables:
encounter:
roll: 1d20
results:
1-17: nothing happens
18-20: you encounter <table wandering>
wandering:
roll: 1d12
results:
1-4: <roll 1d2+1> firesnakes
5-9: <roll 2d4> <table mephitType> mephits
10-11: <desc azer>
12: <desc gargoyle>
mephitType:
oneOf: [mud, smoke, steam, dust, ice, magma]
descriptions:
azer: an Azer shedding bright light in 10 foot radius and weilding its Hammer in both hands looking quite menacing
gargoyle: a gargoyle surrounded by <roll 2d6> dead rodents. When the gargoyle becomes bloodied then <table encounter>. Treasure is a jar full of <table mephitType> and <roll 3d4> sp
And there are many examples in 5e-srd-5_1.yml.
the core
package is the meat and potatoes of the Table Flipping
the cli
package is a command line interface. currently this is not the main class of the jar. // TODO make more accessible
the ui
package is a JavaFX interface. currently the jars main class
interesting Entry points (Main methods) to run:
dan.langford.tableflipper.cli.TableFlipperCli dan.langford.tableflipper.ui.TableFlipperApp
you will need Java 11+ to run this. Maven 3.6+ is required to build this and that should be taken care of by the included maven wrapper ./mvnw
💡
|
you can obtain Java 11 from AdoptOpenJDK, sdkman, or Homebrew. |
run
./mvnw package
look for output
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 17.513 s [INFO] Finished at: {localdatetime} [INFO] ------------------------------------------------------------------------
now you can run
java -jar target/tableflipper-0.0.8-SNAPSHOT.jar
and copy that Jar to wherever you need them.
and at least in MacOS I can just double click the tableflipper-0.0.8-SNAPSHOT.jar
to have it executed.
by default the builds run with multiplatform
profile enabled to have the ui fatjar include all the javafx graphics for all three platforms. if you would like to save just a few MB you can disable that.
./mvnw package -P '!multiplatform'
Dan "8bagels" Langford