Image 1 — Taverns & Hubs, the biggest generator in my app so far: a whole venue as a floor plan, every spot tappable, with a GM switch for the hidden info
Image 2 — Taverns & Hubs, the biggest generator in my app so far: a whole venue as a floor plan, every spot tappable, with a GM switch for the hidden info
Image 3 — Taverns & Hubs, the biggest generator in my app so far: a whole venue as a floor plan, every spot tappable, with a GM switch for the hidden info
Image 4 — Taverns & Hubs, the biggest generator in my app so far: a whole venue as a floor plan, every spot tappable, with a GM switch for the hidden info

Taverns & Hubs, the biggest generator in my app so far: a whole venue as a floor plan, every spot tappable, with a GM switch for the hidden info

Hi all.

Fantasy World Generator just received a major update, and the newest generator is also the most ambitious one I’ve built yet: Taverns & Hubs.

It generates a whole venue drawn as a floor plan (a map), up to three floors: cellar, ground and upstairs. Every numbered pin on it, is a spot you can tap, like the bar, a booth, the notice board or a guest room. Each line has its own lock and reroll, so you can keep the barkeep and replace the crowd, or keep the people and draw a new floor plan around them.

There is a GM switch that shows everything hidden: the secret room, the stash, the tunnel and where the trouble lies. Switch it off and they leave the map, so you can show the floor plan to your players. In one roll, the cellar of a coaching inn hid a room where a purse of mixed coin sat in a boot, and a band of retired adventurers argued about who had to carry the rope.

The Ledger tab puts the whole venue on one page to read before your session: the owner, every spot, the menu(bill of fare), the games(games of chance) and the trouble. The menu is the food and drink the place serves, priced on a scale of one to five marks in bronze, silver or gold instead of coins, so it fits whatever currency your game uses. The games are the gambling played there, with the rules written out, the stakes, and a line only the GM sees on who is cheating.

The Tonight tab is the evening as a schedule of things that happen. At 6:30 pm a stranger sits down on the step outside and won’t come in until called by name; at 7:30 two old enemies recognise each other across the room. You can roll a different evening, or send it to the app’s Timeline Maker to move events around and add your own.

There are 22 kinds of place across fantasy, sci-fi and 1920s horror, from mead halls to orbital casinos to speakeasies.

It’s free, with no ads. Results come from fixed tables and procedural rules running on the phone, with no AI model involved.

https://play.google.com/store/apps/details?id=com.avaton.fantasynamegenerator

u/avatonqp — 5 days ago
▲ 3 r/madeWithGodot+1 crossposts

My second project is out: a real-time text adventure for Android

THE GAME

Terminal: Stolen Light is my second project, made with Godot 4.5 and out now on Android.

It's 2218. In a single night, called The Silence, all humanity's networks networks came down across the stars. The worlds disconnected from one another, and most of them reached the point of extinction. You are on planet Terra, and you mend dead machines in a half-empty town, suddenly one of them turns on: a terminal you salvaged and wired into a server you can't trace.

Tonight it speaks for the first time. On the other end is Prometheus, who has just woken on a drifting ship with most of his memory torn out, and you are the first contact he has reached for. Having nothing else to do, you decide to reply back to him and unravel his story.

The story comes in contacts, and it runs in real time. When Prometheus goes off to act on what you discussed together, the terminal goes quiet, sometimes for minutes and sometimes for hours. You close the app and get on with your day, and your phone tells you when he's back with a notificaton. A full playthrough runs over about a day and two nights. If you played Lifeline, you'll know the rhythm.

The first four contacts are free, and a single purchase unlocks the rest of the story. There are no ads.

Google Play: https://play.google.com/store/apps/details?id=com.windmilltales.stolenlight

---

THE BIGGEST PROBLEM I FACED⬇️⬇️⬇️

Godot has no built-in way to schedule a local notification on Android, and the game is built around one reaching you when Prometheus is back. So I wrote a small Kotlin plugin: a GodotPlugin with four UsedByGodot methods (schedule, cancel, is_scheduled and get_api_level), built into an .aar, loaded through a .gdap file in android/plugins with the Gradle build on, and called from an autoload through Engine.get_singleton("AndroidNotifications"). has_method() didn't always see the plugin's methods, which confused me at first, but callv() works, so every call goes through it.

The plugin sets an AlarmManager alarm, and a BroadcastReceiver posts the notification when it fires, since the game usually isn't running by then. Getting it reliable took a few rounds:

- Exact alarms need USE_EXACT_ALARM, which Play reserves for alarm-clock and calendar apps, so I use an inexact setAndAllowWhileIdle alarm. For waits of minutes to hours, that's fine.

- My OnePlus delivered about a minute early. The alarm now goes off two minutes after the real target, and the game's own clock decides when a wait is over.

- Alarms die on reboot, so the plugin saves the pending one in SharedPreferences and a BOOT_COMPLETED receiver sets it again.

- Android 13 and later need the POST_NOTIFICATIONS permission at runtime, and OS.request_permission() covers that from GDScript.

- A notification channel can't be changed once it exists, so adding a custom sound meant a new channel ID.

- Switching notifications off in the settings still has to cancel the last alarm, or a stale one fires in the middle of a later, longer wait.

If you're stuck on the same problem in your own project, leave a comment or send me a message and I'll help if I can.

u/avatonqp — 17 days ago

Terminal: Stolen Light, a real-time text adventure played on an old CRT terminal (Android app, first four contacts free)

It's 2218. In a single night, called The Silence, all humanity's networks networks came down across the stars. The worlds disconnected from one another, and most of them reached the point of extinction. You are on planet Terra, and you mend dead machines in a half-empty town, suddenly one of them turns on: a terminal you salvaged and wired into a server you can't trace.

Tonight it speaks for the first time. On the other end is Prometheus, who has just woken on a drifting ship with most of his memory torn out, and you are the first contact he has reached for. Having nothing else to do, you decide to reply back to him and unravel his story.

The story comes in contacts, and it runs in real time. When Prometheus goes off to act on what you discussed together, the terminal goes quiet, sometimes for minutes and sometimes for hours. You close the app and get on with your day, and your phone tells you when he's back with a notificaton. A full playthrough runs over about a day and two nights. If you played Lifeline, you'll know the rhythm.

What's in it:

-A branching conversation where your replies decide what he does next, with three very different endings.

-Pictures at some moments, drawn by the terminal in its own green characters.

-20 archive entries to recover, left on the same terminal by whoever owned it before you.

-DISPATCH, a small puzzle hidden in the relay firmware, for the hours in between.

-A heavy CRT look and an original soundtrack; the CRT effects can be turned down or off.

It's Android only. The first four contacts are free, and a single one-time purchase unlocks the rest of the story. There are no ads, no subscription and no account, and your saves stay on your phone.

Google Play: https://play.google.com/store/apps/details?id=com.windmilltales.stolenlight

u/avatonqp — 18 days ago

A free, offline solo companion with many Oracle modes and features

Hello! I'm a solo developer, and I've spent a few years building an Android app called Fantasy World Generator. Ironsworn is the game that it sits beside most naturally, and a good share of what's in it came from solo players steering me in order to improve it.

Ironsworn's own oracles are better at Ironsworn than anything I'd write, so keep using them and bring this in for the gaps around them, or for other RPGS.

The first thing I'd point you at is the thread shield. The app has its own oracle, which keeps a list of your open threads and NPCs, and about half of its random events land on one of them by name: an NPC acts, a thread moves forward, a thread closes. NPCs are weighted by how they feel about you, so an enemy is the likeliest to turn up against you, and anyone you've marked dead stays out for good. A vow you want to play out properly shouldn't be closed by a random roll three scenes in, though, so you can shield a thread and no event will advance or close it. (A solo player asked for that feature and an update later it was added. That shows how valuable feedback is to me.)

Other parts that suit Ironsworn:

  • Creatures have no HP and no dice. Instead they have the following stats: Threat, Toughness, Speed and Cunning which are rated from 1 to 5, with prose for how it attacks, where it's weak, what drives it, an omen of its coming and some lore. Read the ratings, pick a rank and draw the progress track. A sci-fi switch covers the other side of fantasy specturm.
  • NPCs have a "want" and a secret, quest hooks with a deadline, encounters with stakes, dungeon rooms with a hazard. Each is one field that turns flavour into a complication.
  • Found letters, wills and journals in an old voice that sits well in the Ironlands, and omens in a Grim voice (in one: children wake with dirt under their nails and no memory of the digging).
  • Hexcrawl, continent and town maps (a town can have a camp, by day or night), keyed dungeons, and star charts and topographic scans for Starforged. All of them save as images.
  • A journal for each campaign that saves as you play. You can search it, export it as a PDF, or copy it as Markdown if you are using a tool for worldbuilding like Obsidian.

There's also a Tarot Oracle, and a Bound Relic Oracle(it's more of a unique mode/genre I enjoy "Sword & Sorcery".)

It's free, with no ads and no account, and it works offline. Every result comes from fixed tables and procedural rules on the phone.

https://play.google.com/store/apps/details?id=com.avaton.fantasynamegenerator

u/avatonqp — 18 days ago

Update a month on: my free offline toolkit grew a sci-fi half. Subsector survey, cargo runs, and a voyage mode for the oracle. Still no account, no ads, no AI.

I posted this here a month ago and asked what was missing. Someone wanted a Traveller style subsector roller, and that request turned into most of the last month.

Sector Survey rolls a subsector the classic 2D6 way: for each of eighty hexes it checks whether a world is there, then cascades through starport, size, atmosphere, water, population, government, law and tech, so every step is shaped by the ones before it. Bases, trade codes, gas giants and travel zones on top, plus a rough route pass if you want one. Worlds export as tab separated text with the routes as XML, and you can read in a subsector file another tool made and edit it like a rolled one.

Trade and Cargo takes two worlds from that survey and works out a single run end to end: freight lots on the dock, who wants a berth, what a broker will sell you with the buy and sell modifiers, then fuel, berthing, life support, and the mortgage due at the end of the month. A run I rolled while testing came out at Cr115,600 of safe income and still short by Cr81,400 once the month was counted, with the best bet on the dock spelled out.

The oracle got a voyage mode. Bind a game to a survey and it becomes a ship: jump to any world the drive can reach, with the map shading what is in range, then arrive, work the dock, find a patron. Every roll writes into the same journal as your oracle answers. One line it produced: "Jump: Breakout puts the destination dead ahead, close enough to look deliberate."

On the fantasy side the History Engine grows factions now. A realm starts with two and its own events raise more: revolts leave rebels behind, schisms leave orders, wars hire companies. When the realm can no longer hold them it is seized, puts them down, grinds into civil war, or somebody with a following puts it back together, and each outcome moves stability, which used to be a one way trip to the floor.

Two smaller things: every screen was redone for landscape, and I pulled the ad SDK out entirely in the last release, so the app now has no internet permission at all. Nothing can leave your phone even by accident.

45 generators now. Free, fully offline, no account, no ads, no AI. Every result comes from handwritten tables and procedural rules running on the phone.

https://play.google.com/store/apps/details?id=com.avaton.fantasynamegenerator

u/avatonqp — 26 days ago
▲ 53 r/ai_rpg_generators+1 crossposts

45 offline prep generators I built for my own table, free and ad-free

An Android app with 45 generators for prep and at-the-table improvising. Everything runs offline.

The design rule behind all of it: a result should give you something to run with, not just a name. So NPCs come with a want and a secret. Factions with a goal, a method, resources, a Rival, a secret and a quirk. Encounters have stakes, Quests a deadline, Dungeon rooms a hazard, Magic items a drawback.

Two rolls, untouched:

NPC

Personality: Speaks fast, thinks faster still

Quirk: Greets the dead before greeting the living

Motivation: Trying to outlive their grandfather's enemies

Want: To trade a confession for protection

Secret: Is collecting the party's secrets one by one

Faction

Goal: Monopolise a crucial resource

Method: Unbroken tradition and repetition

Resources: A fortified base no one can crack

Rival: A splinter faction that broke away

The heavier tools are for building rather than patching:

  • History Engine: runs a realm decade by decade, and a lost war or a plague moves the numbers underneath, so a golden age has to be earned rather than rolled
  • Realm, Faith and Dynasty generators, which hand you rulers, orders and the grudges between them
  • Mystery: a case laid out with clues, suspects and red herrings
  • Random Dungeon with an editable map, plus hex and topographic maps
  • Bestiary: original creatures, with its own light stats rather than any edition's
  • Campaign Assembler and a Timeline Maker for stitching the above together

There is a tone dial across the world tools. Grim is the default, heroic is one tap away, and the same seed gives you a different century on each setting.

Terms, since they matter here: free, no ads (the ad SDK came out in the last update), no purchases, no accounts. The app has no internet permission at all, so nothing can leave your phone. System neutral, nothing tied to an edition.

Happy to answer anything about how a particular generator works, and hear your feedback.

https://play.google.com/store/apps/details?id=com.avaton.fantasynamegenerator

u/Level-Distribution46 — 26 days ago
▲ 1 r/apps

I updated The Red Tomorrow, my free grimdark interactive novel for Android

The Red Tomorrow is a grimdark fantasy novel you read on your phone, making the choices as you go. I posted it here three months ago, and it has had a big update since.

It's mostly reading: about 108,000 words over 181 chapters, with fifteen endings. You play Jonas, who has survived the raids at the ancient wells every year of his life. This time he comes home to find his son gone, taken by a mage in white, and he goes after him.

What's new:

  • The timer and the ads are gone. It's free, with nothing to wait for.
  • 12 new chapters and a fifteenth ending.
  • Earlier choices come back more often. Nearly twice as many passages now change depending on what you did before.
  • A journal keeps a record of your run and the choices you made.

When you reach an ending, you can rewind to an earlier crossroads instead of starting over.

I built it alone in Godot. My wife edited it and drew the map, and my friend BLVCKSTVR made the UI and the soundtrack.

Google Play: https://play.google.com/store/apps/details?id=com.windmilltales.theredtomorrow

u/avatonqp — 29 days ago

I put my last story on Google Play and almost nobody read it. The next one is 300,000 words and nearly finished. Should I bring it here instead?

Military service is mandatory here in Greece and I did mine at twenty-five, after university, which made me older than nearly everyone around me. Having a hard time...I tied my phone with knots to the underside of the bunk above mine so I could read after lights out, and what I read was Choice of Games. Someone else's story to be inside for an hour instead of my own. That is not a small thing when you are counting days.

I came out in 2017 with no job and many free mornings. My girlfriend and I would walk to a cafe with one laptop between us and write, and what we wrote was Xardas, a hermit who comes down from his cabin in the mountains for one last journey to the capital of the mages, and learns only when he arrives that the world had ended while he was up there. We loved him. Then life caught up the way it does, and Xardas stayed in that cafe.

She's my wife now and we have two kids, so the long mornings are gone and what I get instead is whatever is left of me at eleven at night... But last year I finally finished something. The Red Tomorrow, grimdark, 108,000 words, about a man of forty who has survived the raids at the ancient wells every year of his life and comes home from one to find his son taken by a royal mage. My wife edited it and drew the map. My best friend BLVCKSTVR built the whole interface by hand and then recorded the soundtrack for it on his acoustic guitar. I put it on Google Play because I'm a developer and that was the only pipeline I knew.

Almost nobody read it. Not because it's bad(I hope), but because a store built for games shelves a novel between match-three and idle clickers, and nobody browsing there arrived wanting to read. Three of us spent ourselves on that thing and it reached a room with nobody in it.

Which is why I'm actually posting. The one I've been writing for years alongside everything else is finally approaching its finale. More than 300,000 words, hundreds and hundreds of files in an Obsidian vault, a world I've lived inside so long that leaving it is going to hurt. It's the best thing I've written(again, I hope) and I'm frightened of doing to it what I did to the last one.

So: do I build it as an app again, or do I learn ChoiceScript, run the beta, and bring it here? I'm not asking which is easier. I'm asking where a story like that actually gets read.

reddit.com
u/avatonqp — 1 month ago

The subsector generator you all specced is out. Here is what made it in.

Nine days ago I posted a circular sector chart here and asked what the shortest path was to something usable at a table. The thread rewrote it. It is released now, so here is what happened to each piece of feedback.

Previous post: https://www.reddit.com/r/traveller/comments/1w0lxww/i_built_a_procedural_sector_chart_generator_it_is/

u/Sakul_Aubaris said routes, X-Boat lines and borders are the part people want to draw themselves, and that the cascade automates cleanly with DMs for density and tech. Both true. Generation has cluster count and density as separate sliders with Rift / Frontier / Settled slants, and every route is editable and deletable after the fact.

u/ghandimauler gave me the zones, the layers and the fringe. Zones do something now: trade and X-boat treat Red as a no-go and route around it, and if the only link between two halves goes Red the express network splits in two rather than pretending it can cross. Amber is a penalty worth about two parsecs, not a wall. Mains and naval paths ignore zones entirely. Fringe worlds with no neighbour a jump away come back as X000000-0 and draw as a bare asterisk. Routes are six switchable layers: Mains at J1, J2 and J3, trade links between chains, an X-boat style express on J4, naval paths between bases on J6.

u/illyrium_dawn asked for star placement first and stats second, per-star rerolls, and a logicalizer. The rerolls needed the generator rebuilt: it shared one random stream across the grid, so a world's stats depended on how many worlds came before it and rerolling one silently rerolled everything after. Every hex now rolls from its own stream keyed on its coordinates. The logicalizer is on by default, and it raises tech rather than thinning population, on the grounds that a crowded hostile world is a story and an empty one is nothing.

u/AdOdd521 asked me to keep the dial chart as a style option instead of binning it. It stayed.

u/mavikfelna pointed at travellermap.com, which was the answer to the question I actually asked. The export is T5 tab-delimited plus XML metadata, so it reads back there instead of me building a worse map viewer.

u/rnadams2 and u/AdOdd521 between them are why the dial chart survived: as long as parsec distance is noted, the shape of the map is the referee's business.

Two other tools came out of the same thread. Trade & Cargo works out what one run between two worlds pays: freight, passages, speculative cargo, four ship profiles. And the Oracle has a voyage mode now, which carries a ship, a world and a date, and turns Jump, Arrive, Find work, Dockside and Depart into journal entries. Patrons come with a catch, and port encounters read the world's law level, so a high-law port boards you before the ramp is down.

STILL PENDING: sector scale, and starting from a completely empty map to place every star yourself. Both are on the list.

The question this time: the logicalizer is on by default. Is that the right default, or do you want your subsectors raw and are you happy to explain the TL3 world with a population in the billions yourself?

Cepheus Engine SRD, so the licence is open, and the word Traveller appears nowhere in the app or the listing.

u/avatonqp — 1 month ago

Made a grimdark gamebook called The Red Tomorrow for Android. 181 sections, 274 choices, no dice.

Jonas is forty, which is old for a man born at the ragged edge of a kingdom that has never once thought about him. For a handful of cursed nights each year the wells open in the swamp and the wraiths pour out of them, and on every one of those nights he has stood in the front rank and gone through them alone, his companions there only in case he faltered, which he never has. His pole-sword is crusted with rot and the edge of it hardly matters; it's the witch's talisman bound at the crossing steel that does the real work. He calls the blade Farewell.

He survives this raid too. Then he comes home to find his son gone, taken by a royal mage into a kingdom coming apart over a prophecy.

181 sections, about 108,000 words, 274 choices. No dice, no combat table, so if rolling is what you're after this won't do it.

Free on Android. No ads, no timers, nothing to buy. IFID and an IFDB listing if that means anything to you.

18+, it's grim dark fantasy.

https://play.google.com/store/apps/details?id=com.windmilltales.theredtomorrow

Happy to hear your feedback.

u/avatonqp — 2 months ago
▲ 2 r/iPogo

LF: Mostly Gen 1 Shinies. FT: Many (can fly)

DM me with your offer.

u/avatonqp — 2 months ago
▲ 2 r/RoastMyApp+1 crossposts

Free offline tabletop RPG toolkit for Android, about 16k downloads, and I still don't know where the UX falls apart.

Fantasy World Generator is a free Android app for tabletop roleplaying: 43 generators for NPCs, monsters, dungeons, maps and whole worlds, plus an oracle that lets you play solo with no game master.

It's been out for years and has picked up around 16,000 downloads, so this isn't a launch post. My problem is the opposite one. Almost all the feedback I get comes from people who already play solo RPGs, already know what an oracle is, and already know what they came for. They tell me what feature to add next. Nobody tells me that the second screen is confusing, because by the time someone bothers to write to me they've already figured it out.

What I'd actually like from this sub:

  • Open it cold and tell me where you get lost or bored. Especially in the first two minutes.
  • The Oracle screen is the feature I care most about and the one I can no longer see clearly. Is it usable without reading the help text?
  • Anything that crashes, freezes or breaks in landscape. I test on very few devices.
  • Anything that just looks wrong on your phone.

You don't need to know anything about tabletop RPGs to give me the feedback I'm missing. Not knowing is the point.

No account, no sign-up, no ads, no AI, fully offline. Nothing to opt into and nothing to uninstall afterwards but the app.

https://play.google.com/store/apps/details?id=com.avaton.fantasynamegenerator

Blunt is more useful than kind.

u/avatonqp — 2 months ago

I built a procedural sector chart generator. It is not a subsector map, and I'd like to know what would make it one.

I write a free offline Android app full of random generators, and one of them draws sci-fi sector charts. It's the piece I'm least confident about, because I'm not a Traveller regular and this community knows more about sector generation than anyone.

Being upfront about what it is not: this is a circular dial-frame chart, not the standard subsector hex grid. There are no UWP codes, no world classifications, no tech or law levels. So it will not drop into a Traveller campaign as-is.

What it does do right now:

  • Named star systems at a density you choose
  • Lanes between systems in four different styles, with named routes
  • Nebulae, political territories, black holes and rim exits
  • A dial frame and a legend
  • Type-in seeds, so a chart reproduces exactly and you can share the seed instead of the image

There are two other map generators alongside it. A hex map for a planet surface, with terrain, rivers, roads and settlements. And a topographic contour scan that reads as a tactical sensor sweep, which is closer to a landing-zone map than anything at sector scale.

The question I actually want answered: what is the shortest path from this to something usable at a Traveller table? My own guesses are a proper hex grid with coordinates, UWP strings on each world, and trade routes drawn by classification rather than at random. But I would rather hear it from people who generate subsectors every week than guess.

Happy to be told the whole approach is wrong. That's useful too.

Everything runs on-device from handwritten tables and procedural rules. No account, no ads, no AI.

https://play.google.com/store/apps/details?id=com.avaton.fantasynamegenerator

u/avatonqp — 2 months ago

A free, offline solo toolkit I built. It won't replace the Ironsworn oracles, but it fills the gaps around them.

I'm a solo dev and I've been building an Android app called Fantasy World Generator for a few years now. Posting here because Ironsworn is the game it sits next to most naturally, and a lot of what's in it came from solo players telling me what was missing.

Being upfront: Ironsworn's own oracles are better at Ironsworn than anything I'd write, and I'm not trying to replace Ask the Oracle or the Action and Theme tables. Where mine earns its place is the stuff you'd otherwise stop and improvise.

The one feature I'd actually point you at is thread shielding. The app tracks your open threads and your NPCs, and random events target them by name so the story compounds. But an epic Vow you want to play out properly shouldn't get closed by a random roll three scenes in, so you can shield a thread and events will never advance or close it. That came straight from a solo player complaining about exactly that happening.

What else fits how Ironsworn actually plays:

  • A creature forge with no HP and no dice to convert. Threat, Toughness, Speed and Cunning as bands, plus prose hooks for its offense, weakness, drive, omen and lore. Read the bands, pick a rank, draw your progress track. It has a sci-fi mode too, so it works for Starforged.
  • NPCs with a Want and a Secret, quest hooks with a deadline, encounters with stakes, dungeon rooms with hazards, found letters, factions, rumors and omens.
  • Maps for the Ironlands or a Starforged sector: hexcrawls, continents, towns, keyed dungeons, star charts and topographic scans, all exportable as images.
  • A journal that saves itself across multiple campaigns, searchable, and copyable as Markdown if you keep your play log in Obsidian. PDF export if you'd rather have a document.
  • There is a dice oracle in there, with odds tiers and a Mythic style chaos factor, plus a tarot engine and a bound relic sub-game. Ignore all three and everything above still works on its own.

Free, fully offline, no account, no ads, and no AI anywhere in it. Every result comes from tables I wrote by hand and procedural rules running on your phone.

https://play.google.com/store/apps/details?id=com.avaton.fantasynamegenerator

u/avatonqp — 2 months ago

Fantasy World Generator: a free, offline solo RPG and GM toolkit for Android. Free, no account, no AI.

I'm a solo dev and I've been building this for a while: a pocket toolkit for running tabletop games with no GM, or for prepping one if you are the GM.

The core is an oracle. Ask a yes or no question at any odds and get an answer back, sometimes with an "and" or "but" twist, while a Chaos factor decides how wild things are and how often random events crash your scene. It tracks your open plot threads and your NPCs, and events target them by name, so the story builds on itself instead of drifting. There are two other oracles too: a tarot engine, and one where you bind a cursed artifact and play out the tug of war for control.

Behind that sit 43 generators: NPCs, quest hooks, rumors, encounters, mysteries, magic items, an original-creature bestiary, dungeons, maps (continents, hex crawls, towns, treasure maps, sci-fi star charts), factions, realms, faiths, and a world engine that simulates several kingdoms into one shared history. Anything you roll can be saved, sorted into folders, pinned to a campaign board or a timeline, and exported as PDF, text, Markdown or an image.

Free, works fully offline, no account, no ads, and no AI anywhere in it. Every result comes from handwritten tables and procedural rules running on your phone.

https://play.google.com/store/apps/details?id=com.avaton.fantasynamegenerator

Happy to hear what's missing. Most of the last few releases came straight from user suggestions.

u/avatonqp — 2 months ago

Fantasy World Generator (Android): free, offline solo and GM toolkit. Oracles, 43 generators, maps, worldbuilding. Free, no accounts, no AI.

I'm a solo dev and this is the thing I've been building for a while: a free Android toolkit for solo players and GMs who need a table's worth of random content in their pocket.

What it is:

  • Solo play. An oracle with shifting odds, "yes and" / "no but" twists, and a Chaos factor that decides how often random events crash your scene. Plus tracked plot threads and NPCs that those events actually target, a scene engine, an action resolver, Pay the Price consequences, a dice roller (d4 to d100 and Fudge), and an auto-saving journal you can export as PDF, text or Markdown.
  • Two alternative oracles. A tarot engine (22 majors, upright and reversed, spreads up to a six card reading that lays out a whole adventure), and Bound Relics, where you bind a cursed artifact and play out the tug of war for control.
  • 43 generators. NPCs, quest hooks, rumors, omens, encounters, dungeon rooms, magic items, found letters, mysteries, factions with crests, an original-creature bestiary with system-agnostic stat blocks, full adventures, five room dungeons, and a one-tap session pack.
  • Maps. Continents, hex crawls, towns, dungeons, treasure maps, sci-fi star charts, and a hand-drawn Map Maker. Export any of them as an image.
  • Worlds. Realms, faiths, dynasties, and an engine that simulates several kingdoms together decade by decade into one shared history.
  • Organizing. A node-based Campaign Board, a swimlane Timeline Maker, and a searchable favorites vault with folders and backup.

The part people usually ask about: it's completely free, it works fully offline with no account, and there's no AI in it anywhere. Every result comes from handwritten tables and procedural rules running on your device.

Play Store: https://play.google.com/store/apps/details?id=com.avaton.fantasynamegenerator

Happy to answer anything, and I take feature requests seriously. Most of the last few releases came straight from user suggestions.

u/avatonqp — 2 months ago