
Oracle Random Table Roller
A downloadable tool for Windows, macOS, and Linux
Oracle - Random Table Roller for Tabletop RPGs
A desktop app that turns your Obsidian vault into a powerful random table rolling system.
Oracle parses tables written in Perchance syntax from your markdown files and lets you roll on them with interactive results. Perfect for D&D, RPGs, and any tabletop game that uses random tables.
Features
- Obsidian Integration - Point it at your vault and roll on any table
- Interactive Results - Click subtables to re-roll specific parts
- Smart Search - Find tables instantly with keyboard shortcuts (1-9 for quick select)
- Roll History - Track your results with timestamps
- Keyboard Navigation - Efficient workflow with arrow keys and shortcuts
- Responsive Design - Works from mobile-width to full desktop
Guide
Write tables in markdown code blocks using Perchance syntax:
```perchance
title
Random Encounters
output
You encounter [creature] near [location]
creature
A pack of wolves
A wandering merchant
location
A babbling brook
An old stone bridge
```
Oracle automatically resolves all subtables in one roll, giving you complete results instantly.
Who is this for
- D&D DMs with random encounter tables
- RPG players who love random generation
- Anyone using Obsidian for tabletop gaming notes
- Streamlining complex multi-table rolls
No installation required - just download and run!
Made by Script Wizards. Open source on GitHub.
Updated | 22 days ago |
Status | In development |
Category | Tool |
Platforms | Windows, macOS, Linux |
Rating | Rated 5.0 out of 5 stars (6 total ratings) |
Author | Script Wizards |
Genre | Role Playing |
Tags | Solo RPG, Tabletop role-playing game |
Download
Install instructions
Launch or install the app. On Mac, you may have to Cmd+Click or Right Click then open the app as it's currently unsigned. On Windows, you might see a security screen, which you can ignore.
Development log
- v1.1.0 Canvas Mode26 days ago
- Oracle Reborn: Now Cross-platform!26 days ago
Comments
Log in with itch.io to leave a comment.
I'd love for the program to support folders - probably based on the organisation of the Obsidian vault you have it connected to; I'm going to have so many tables in this thing eventually, some organisation would be useful.
By default, it does support Folders! Technically you don’t even need Obsidian. I used Obsidian vault terminology because a vault is just a folder filled with markdown files.
I’m considering updating the language to reflect the fact that this has no dependency on Obsidian.
I think it's better to say it tolerates folders, but doesn't do anything with them in the application - for example, I have several folders, one for naming tables from a particular book, and several folders under that for particular sections.
Oracle does not do anything with these folders. All you get is a list of random tables to choose from, with no grouping based on folder. I was imagining expandable folders containing subfolders and tables.
That’s great feedback. Currently Oracle keeps track of where the tables are coming from, and which subfolders they’re in, so I can add a view that preserves the folder organization. This way, the table browser in Oracle can act as a file browser as well.
I’ll create a ticket for this and add in the next release.
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.