I am pleased to announce that after countless hours in my secret underground labs, I am ready to release my creation on an unsuspecting world!
I give you…. Rollon!
Rollon Plugin – a plugin for rolling randomly on tables
The goal of Rollon is to make creating and rolling on tables as easy as editing a wiki, or cutting and pasting from a blog or web page.
Rollon is a TiddlyWiki plugin designed to let you roll randomly on tables, such as you might find in roleplaying games. When we talk about “tables” in Rollon, we don’t mean an HTML <table> , just a list of entries such as a Wandering Monster Table or Treasure Table might have. To Rollon, any tiddler containing a list is potentially a table, whether the list is an unordered list, an ordered list, a dictionary list, or even just text where each line starts with a number. This gives you a great deal of freedom in designing lists, or cutting and pasting them into your TiddlyWiki from other sources.
The basic idea of Rollon is that you create a very simple table of results, just a list really, and give it a name. In TiddlyWiki terms, it’s just a tiddler. Think of it as a page in a wiki, or a 3×5 card, if you will. Most of the time creating a table is as simple as cutting and pasting from a blog post, web page, or other document, or just typing in a bunch of numbered lines.
You can then create a button in another tiddler (wiki page/card) just by typing <<rollon “The Table Name”>>. When you save that, it will create a button in that tiddler. When you press that button it creates a new tiddler, with a random element of the list. Every time you press it, you get a new tiddler of the result.
But that’s not all! If the line of the table you created itself contains a rollon macro, <<rollon “Some Other Table Name”>> then if that line is chosen, a random result from that table will be returned. That means that you can have tables that refer to sub-tables… but more than that, you can have tables that contain text, where part of the text is a look-up into another table. This lets you do things like :
<<rollon “Character Names”>> has <<rollon “3d6 * 10”> GP, and <<rollon “Magic Items” 1d2>>
and so forth.
There are various parameters you can pass to roll multiple times, to roll different dice, to prompt the user for input, to change the separator character, and so forth.
Rollon requires TiddlyWiki, which I’ve mentioned before, but all that means is that you have to download an HTML file containing TiddlyWiki and the Rollon plugin to your local disk. If you already have TiddlyWiki, perhaps because you’ve been using Uncle Bear’s TenFootWiki or World Building 101, then you can just import the Rollon plugin and go.
The version I’ve hosted at TiddlySpot includes instructions, and example tables such as the Powers and Perils Special Events table from Jeff’s Gameblog, the Grim’s Swords & Wizardry Random NPC chart, and A Rust Monster Ate My Sword’s Captcha-inspired Character Names. Rollon itself is licensed under a the Artistic 2.0 license. That means it is free. Free! You are free to copy it, use it, distribute it, alter it and distribute that (with certain provisos about credit and naming), whatever. (The example tables are copyright their respective authors, and are linked and credited in the examples.)
So what are you waiting for? Check it out! The link is to a live version that you can play around with (though you can’t save it back to the web, you can save it to your hard-drive). Let me know what you think, and whether you find any bugs or can think of enhancements that you’d like. Planned enhancements include some helpers for capitalization, pluralization, number and gender agreement, saved variables and things to make text read more consistently (e.g. you could make is so that it would correctly say “1 Orc” or “2 Orcs”), as well as a more lenient format for tables that contain ranges (something like 1-2 Nothing, 3-6 A monster, 7-9 A monster and a treasure, 10 treasure currently has to be formatted as a dictionary list; it would be convenient for it to also just accept that if the start of a line looked like number-number it was a range and the rest of the line was the entry).
I’ve set up a Google Group for discussion, help, and to share tables you create.
Randomness Rules! Get Rollon today!
update: note that I changed the license from the CC 3.0 NC-SA to the Artistic 2.0 license…entirely because in order to use Google hosting for the bug-tracker I had to use one of their approved licenses. The major difference between them is that while you can now charge for distributing Rollon (good luck with that), if you want to distribute modifications you have to fork or send me the changes to include in the core.