Home | About | Partners | Contact Us | Logout
SourceForge Logo

Welcome to http://rollem.sourceforge.net/

Rollem Table Roller

 
 

Rollem is a GameMaster's aid program for Role Playing Games.  It allows you to roll random results from tables of information, such as encounter tables, character background, weather conditions, place names, or any other tables that you make up.  Tables are defined using a fairly simple, yet flexible XML schema.  The current release of Rollem includes a GUI table rolling program, and a GUI table editor. Rollem is written in Python, and released under the GPL.  Rollem is similar to, and intended to be an Open Source replacement for, the commercial TableMaster program from Wintertree Software.

I've uploaded the Documentation that comes with Rollem so that you can look at it online. You can download Rollem from its Sourceforge Project Page. This is also where you can submit bugs and enhancement requests and join the mailing lists.

Here's an example of sample results from a table used to generate random tavern names, and the table itself:

Rolling on this table five times might yield:
Dragon's Head
Dancing Dragon
Dancing Fish
Drunken Sailor
Bear and Griffon    
<?xml version="1.0"?>
<!DOCTYPE rollem SYSTEM "rollem.dtd">
<master>
<table name="Tavern_Name">
<roll expr="1D6"/>
<entry><range low="1" high="3"/><rollon table="Adjective"/> <rollon table="Noun"/></entry>
<entry><range low="4" high="5"/><rollon table="Noun"/>'s Head</entry>
<entry><range low="6"/><rollon table="Noun"/> and <rollon table="Noun"/></entry>
</table>
<table name="Adjective">
<roll expr="1D6"/>
<entry><range low="1"/>Dancing</entry>
<entry><range low="2"/>Laughing</entry>
<entry><range low="3"/>Drunken</entry>
<entry><range low="4"/>Flying</entry>
<entry><range low="5"/>Red</entry>
<entry><range low="6"/>Green</entry>
</table>
<table name="Noun">
<roll expr="1D8">
<entry><range low="1"/>Bear</entry>
<entry><range low="2"/>Bull</entry>
<entry><range low="3"/>Griffon</entry>
<entry><range low="4"/>Sailor</entry>
<entry><range low="5"/>Dragon</entry>
<entry><range low="6"/>Fish</entry>
<entry><range low="7"/>Ploughman</entry>
<entry><range low="8"/>Horse</entry>
</table>
</master>

As you can see, table entries can themselves contain lookups onto other tables, and so on ad infinitum. What's more, although this sample doesn't make it obvious, the results of one table can be saved in a variable and used to influence the rolls on subsequent tables (this is actually what's happening under the covers in the tag). In fact, the tables can include evaluation of arbitrary Python expressions or code. This lets you use Python as a macro language within the Rollem tables to extend their functionality.


All trademarks and copyrights on this page are properties of their respective owners. Forum comments are owned by the poster. The rest is copyright ©1999-2000 VA Linux Systems, Inc.