tukkek / generic-oracle

A grid-based oracle ("random generator") with a large number of source keywords

Home Page:https://tukkek.github.io/generic-oracle/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Generic oracle

Open the oracle by clicking this link.

Adblock users: please note that although this tool is 100% ad-free, adblock software may prevent it from operating normally. Disable your adblock extension or configure it to make an exception for the site's address if the site doesn't load at first.


This is a generic, customizable grid-based oracle ("random generator") with a large number of source keywords. Read below for a quick overview of the motivations for creating (and advantages of using) this project over traditional oracles.

A brief introduction to the concept of oracles themselves: "random generators" (like random character generators, dungeon generators, yes/no/but/and oracles) are tools used in the context of writing to provide inspiration while writing a story, module, sourcebook and also in the context of roleplaying games - either for a narrator who needs some help while preparing a game beforehand or during a session when you need to come up with something on the fly but inspiration has either run dry or started to get repetitive. They're also used during solo-roleplaying to simulate the improvising, unpredictable and dynamic role of a real narrator.

How to use the oracle?

First off, you can and should use this oracle in the way you feel is best for you personally. It's generic and it's freeform, make it yours and fiddle with the settings to your taste. This section is only a primer for those who have never used an oracle before or are a bit lost coming from traditional oracles.

Detail cards: detail cards describe the what and who. If you come to the oracle with the question "which patrons are in this bar" then each card will represent a notable patron. For a "what does this city look like" question, each card may represent an important building in the city. If it's a big city you may want to have each card represent a district and then generate a new result set for each of those districts to describe notable buildings in them.

Each card is summarized with a title, in bold, in the adjective-noun form - things like "happy traveller" or "strong church". You will have to interpret what this means for your current context, so let your imagination and intuition decide - if nothing fits, you can try generating a new set of cards instead or discard the ones you can't figure out and keep the ones you like.

Besides the title, each card contains a number of adjectives to help you flesh out that particular item. A "goal" is also provided in the (adverb-)verb-noun format and perhaps a short generic sentence that reads like a horoscope or tarot divination. These are all optional and meant to help you, not bind you. Strike out anything you don't like, keep what you like and add other details on your own as you flesh things out. If you want, you may determine that adjectives that appear first are "stronger" characteristics while the ones that come later are secondary, tertiary, etc.

The grid: each of the aforementioned card titles are placed on a two-dimensional grid, which can also be used to inform the generated results (or completely ignored, as you choose). If you're using the oracle to generate a world, city or location, the grid may represent a map, with up being north, down being south, etc. If you're generating a group of people, the people who are closer together on the grid may represent a group of friends or allies, while the results which are far apart between themselves represent enemies, distrust, conflicting interests, etc. If you're generating quests, the quests on the right of the grid may be lawful and honorable ones while the ones on the left may be crime opportunites or tasks that are morally challenging...

There are a few options to make your grid bigger or smaller, with more or less results in it, which you are free to configure. Although the defaults are decent for most scenarios, you can experiment and decide for yourself what's best for what type of oracle. For example, if you want a "story generator", you can turn the grid into a one-row affair with all cells filled and then read it left-to-right as different "chapters" on a linear story. If you want a D&D-style character generator, you can set up a 3x3 grid with a single result and then read it each axis as lawful-chatic and good-evil to determine alignment.

One particular note is the "generate 2d4 elements" setting. For those unfamiliar with this notation, it means roll 2 dice, each of them being 4-sided. So if you setup 1d6, it means roll one traditional six-sided die, 2d6 would be 2 six-sided die and so on. The dice are then rolled "behind the curtains" and all results added up to generate the final count each time you press "generate". If you want exactly 5 results every time, write it as 5d1 - or 10d1 for 10 results every time. If you want between 1 and 10 results, write 1d10 or 2d10 for between 2 and 20 results. 1d100 would be between 1 and 100, 1d30 between 1 and 30, etc...

Why a grid-based, online, generic oracle?

A few things bother me with traditional oracles, which I've read plenty of recently and I thought could improve upon. I'll present those as the "advantages" of using a tool like this over a traditional table-based oracle.

  • It's generic. It's great to have dedicated yes/no, character, setting, plot twist oracles and more but what happens when you need a "engineering failure in a spaceship" oracle? You'll be hard pressed to find one or you might even have to write you own (or realistically, you just won't and you try to come up with something yourself).
  • All-in-one, infinitely-recursive generation. If you're writing a space-opera setting, generate a result-set covering galaxy sectors, then for each sector generate a new result set representing the star systems on those sectors, then the planets and moon on each system... if you want to, you can go deeper into each planet, their own regions, cities, districts, neighborhoods... then even deeper into who resides on each district or frequents a certain venue, their family trees... generate sets for "current problems on this planet/district/family", "political parties fighting over the next election", etc, all with one single tool!
  • The possible result-set of an electronic oracle is degrees of magnitude larger than those that come in printed form or that are context-specific, by their very nature. The largest traditional oracle I've seen was 4 pages of 200 nouns and 200 qualifiers, for a total of 40 thousand possibilities (and most oracles are a whole lot smaller than even that). On the same comparison for noun-adjective, this project's initial release offers almost 5 million possibilities and that's not even to mention verbs/adverbs and more. It's also much easier to expand even more!
  • Results are placed on a grid, wihch you're free to customize and interpret as you want. Having read about a dozen oracle-filled publications recently, none offered much more than a linear read of table result, one independent item at a time, so hopefully that adds some degree of relationship (spacial, proximity, alignment, etc) between oracle results.
  • Being online and electronic, it's fast, easily accessible and recordable. You can roll hundreds of results instantly with the press of a button, you don't need to transcribe it into a notebook or text document. If you don't like how something comes up, try again as much as you want until something strikes your fancy. Focus on your gaming or writing, not on dice-rolling and looking tables up! Print, save or copy-paste results you like, ignore the ones you don't - you'll never settle for a bad result because you're too lazy to roll up a new one all over again.
  • It's free and online. Access if from anywhere, on any device, download the repository and save it to a USB stick if you want!

What are the downsides of a grid-based, electronic, generic oracle?

  • A generic oracle covers all possibilty-spaces but it also requires more interpretation and flexibility for the user to determine what those generic results mean for that particular context. Sometimes you may just want a character generator or kingdom generator. That's great and you can always go use those when they're more appropriate and come back to this one when you don't have anything else that will cover a particular context or when your traditional oracles start feeling too repetitive or restricting.
  • Having over 6 thousand words on the initial release's dictionary, I can't promise you I hand-picked and reviewed every single one of them to make sure they're perfectly suitable to be used in a generic oracle. If you end up scractching your head and thinking "what should a Rabid Hot-dog Stand be interpreted as in my medieval fantasy setting" then rest assured I'm right there with you but it comes with the territory. This oracle aims to be powerful and flexible but it can't be 100% precise, by definition.
  • It's electronic-only. If you absolutely need something you can print and roll on manually this one is not for you.

Contributions welcome

Either pull requests or general feedback, feel free to open up an issue and tell me what's on your mind or report problems and suggest ideas! I hope you'll find this tool useful to some degree and this manual informative. Let me know what you think of it!

About

A grid-based oracle ("random generator") with a large number of source keywords

https://tukkek.github.io/generic-oracle/

License:GNU General Public License v2.0


Languages

Language:JavaScript 64.7%Language:HTML 21.5%Language:CSS 13.8%