Oracle (pre-alpha)
A downloadable tool for Windows, macOS, and Linux
Oracle is a tool for picking random items from a table.
When I prep adventures that uses random tables, I like having them all in one place. For instance, if I need to roll a random encounter check at the front of the book, then check how many 1d4 kobolds show up, and how much health they have, I'd lose my mind!
This tool simplifies rolling multiple random tables into one smooth step. You start with filling out the table and adding links to other tables. When you want to consult the oracle, the tool will tell you everything you need to know in one step by resolving all dice rolls: random event d6→2 spawns 1d4→3 kobolds with HD 2+1→(10, 12).
You configure tables using YAML files. See examples on GitHub.
To open a YAML file, drag it onto the executable. You can also run it from the terminal, passing in the file as an argument.
Consider this a very early prototype, as I'll continue to add features to it. You can always get the latest version on github.com/script-wizards/oracle. Contributions are welcome!
Features under development
- Fix issues with word wrapping
- Linking to other tables
- Open or drag n' drop YAML files directly
Status | In development |
Category | Tool |
Platforms | Windows, macOS, Linux |
Rating | Rated 5.0 out of 5 stars (1 total ratings) |
Author | Script Wizards |
Genre | Role Playing |
Tags | Solo RPG, Tabletop role-playing game |
Download
Install instructions
Unzip or untar the archive for your operating system.
Comments
Log in with itch.io to leave a comment.
Other features that would be nice: variable assignment, logic, and the ability to add scripts in some other language.
Great suggestion! I originally envisioned Oracle as an extension of perchance.org. I wanted to get feature parity with the perchance grammar. This has been mostly achieved by this Rust implementation. I plan on adding these features to Oracle next year. This would take care of variables and boolean logic.
Embedded scripts from another language is also something I thought of doing, though limited to Lua or Python for now. I am in the process of rewriting this to support Go and Lua, heavily inspired by this Slay the Spire clone which supports Lua scripting.