From Country Simulator to Napoleonic Warship: Why I'm Building RPG(er)

The spark
This whole project started innocuously enough.
I was researching AI agents and newer LLM models for work-related tasks when I stumbled onto a country simulator. I didn’t even play it, ironically, but it sparked an idea. I opened a chat window and crafted a scenario: a newly elected president trying to manage a dysfunctional cabinet during a national crisis. A silly premise. I was using Claude Opus, a frontier model, and it completely blew me away. It wove this tale of a struggling society left behind by the rest of the world, full of political tension and competing agendas. I was hooked.
But even with Opus, which is genuinely good at keeping its thoughts organized, the cracks showed fast. Characters I’d had deep conversations with would be completely oblivious a moment later. Plot threads evaporated. The story got mushy.
Now, I’d been doing work around context management for software projects. Large codebases generate massive documents that need to be tracked and kept in mind, and there are sophisticated techniques to keep AI from forgetting and corrupting your work. So I took some of those ideas and started a new experiment: a story built from the ground up around persistent NPC memory. Characters who remembered what you said to them, who carried grudges, who acted on information they’d actually received. I wanted them to feel like expressions of real people, not decorations in a scene.
That experiment became the inspiration for this project. Ironically, it was story first and “role playing” second. Maybe less “game” than the name implies.
The Hornblower adventure
The story I built was set in the world of C.S. Forester’s Horatio Hornblower novels, at the beginning of the Napoleonic Wars. I’ve always loved those books. The era, the politics, the weight of command.
Recreating that world was a complicated endeavor. I had to figure out how to feed the AI the history of the early 19th century, the realities of naval combat, the social dynamics of a Royal Navy warship. But it worked. Soon I was the newly commissioned captain of HMS Doris, a 6th rate frigate. Promoted under the patronage of Rear Admiral Curtis, a real historical figure who was unfortunately not well regarded by most of the fleet. My officers expected their very competent and more experienced first lieutenant to get the command. He didn’t. I did. And he wasn’t happy about it.
Before long I was fighting the Spanish off the coast of Cádiz, trying to keep them away from my 14 merchant ships in convoy, while managing a wardroom full of officers who weren’t sure I deserved to be there. Needless to say, I was hooked.
But the longer the story ran, the harder it was to hold together. Managing complex characters with real depth, tracking detailed memories, keeping NPCs acting on information off-screen… markdown files and chat windows just weren’t enough. I needed to bring in the big guns.
The problem nobody’s solving
So I went looking for tools that had already solved this. If you’re at all interested in this space, you probably know there’s no shortage of them. AI Dungeon pioneered AI-driven RPGs years ago and proved the demand was real. Since then, products like AI Game Master, AI Realm, and MasterAI have built on that foundation. They’ve brought in character sheets, combat systems, dice rolls, AI-generated artwork. Some of them are genuinely good at what they do, which is recreating the D&D experience for people who can’t find a dungeon master.
But that’s the thing. They’re all building for tabletop gamers. The experience is structured around classes, spell slots, and stat checks. The narrative exists to connect one combat encounter to the next. If you’re coming from D&D, that’s exactly what you want. If you’re coming from Hornblower novels or Disco Elysium or Wolf Hall, there’s no great entry point.
The deeper problems are structural. Memory is shallow across all of them. Most are wrappers around a single LLM conversation, which means every character shares the same context window. Your first lieutenant’s private grudge bleeds into what the ship’s surgeon knows, because the model can’t keep their knowledge separated. Play long enough and the whole story blurs together. The same “mushy” problem I hit with my country simulator, just with better window dressing.
And the settings feel locked down. Every tool I tried pushed me toward fantasy dungeon crawls. What if I wanted to be a medieval knight in 13th century France? A Roman senator caught in political intrigue? A fur trapper navigating the Missouri River in 1804? Or something entirely fantastical, a setting of my own design? The tooling just wasn’t built for that.
What RPG(er) is
RPG(er) is for people who love stories, not game systems. If you’ve ever wished you could step inside a historical novel and see what happens when you make different choices, that’s the experience I’m building.
You start in a real setting. Not “a medieval village” but a specific place in a specific decade with specific tensions. The world has been researched. The details are grounded. When you’re captaining a frigate in 1805, the AI knows what a 32-gun warship looks like, how prize law works, what a captain’s authority actually meant in the Royal Navy. That specificity is what makes it feel real.
An AI narrator tells your story. Not a chatbot responding to prompts. A narrator with pacing and restraint, one that knows when to linger on the fog rolling across the channel and when to cut straight to the broadside. The prose has to earn the player’s attention the same way a novel does.
Characters remember you. Not just what you said last turn, but what you did 15 sessions ago. The officer you humiliated in front of the crew carries that. The sailor you showed mercy to remembers your face. These aren’t just cosmetic. They should change how NPCs behave, what information they share with you, whether they help you or undermine you when it matters.
Your choices compound. Actions ripple through a timeline. Spare a French captain today, and it matters six months later when you need a favor in a neutral port. Insult the wrong admiral, and doors close that you didn’t even know existed. The world remembers and makes the story feel earned rather than random.
And here’s something most AI storytelling gets fundamentally wrong: the AI wants to please you. By default, it will let you win, make NPCs agree with your plans, smooth over conflict to keep you comfortable. A good story requires the opposite. Characters who push back. Plans that fail for reasons that make sense. An NPC who refuses to help you because you burned that bridge two weeks ago and they haven’t forgotten. Overcoming that sycophantic instinct is one of the hardest design problems in this entire project, and one of the most important.
There will be game mechanics under all of this, but less emphasized. Mechanics do help keep sycophantic AI on its toes. Skills will grow through use and open up new opportunities. The scaffolding keeps the narrative unpredictable without ever breaking the surface of the prose.
History is the first setting because it forces discipline. No falling back on generic fantasy tropes. The AI has to be specific and grounded. That discipline makes the system better at everything else. Fantasy, sci-fi, and settings of your own design come later.
Why this is hard
There’s a reason nobody has really attempted this yet. It’s a genuinely hard problem, and the difficulties stack on top of each other.
The models that produce the best narrative writing, the frontier models, are astronomically expensive for this kind of use. Running a real-time interactive story through them would cost users hundreds of dollars a month. That’s a pretty tough sell. So you need smaller, faster models. But smaller models need more help. They can’t just wing it the way a frontier model can.
That’s where the multi-model approach comes in. Most tools in this space run everything through a single model: retrieval, narrative, character dialogue, world tracking, all of it. In practice, that means the model is mediocre at all of those things instead of good at any one of them. RPG(er) splits the work across specialist models. One handles context assembly: figuring out what information is relevant to the current scene, pulling in the right memories, the right history, the right NPC details. Another handles the actual narration. Each can be trained and optimized for its specific job.
But even specialist models fall apart without good memory architecture. The way most systems handle NPC memory is barely a step above a conversation log. Human memory doesn’t work that way. We remember some things in sharp detail and compress others into vague impressions, and what we retain depends on how significant the moment was. An NPC who watched you save their life should remember that differently than an NPC who saw you walk through a market. On top of that, each character needs to be contextually isolated. What one NPC knows shouldn’t bleed into what another NPC knows. Getting that right is one of the core engineering challenges of this project.
And finally, the models need tools. Actual tools they can call to explore the world state: who is in this scene, what happened here last week, what does this character know about the player. Without those tools, even a well-trained model will just make stuff up in contradiction. Future posts will go deeper into each of these problems. This is a build-in-public project, and the technical decisions are part of the story.
Where it stands
This is still early. But it’s past the napkin-sketch stage.
The backend that manages game state, NPC memory, and context retrieval is built and running. The database schema is in place: tables handling everything from NPC relationships and player skills to semantically searchable memories and a world timeline. The embedding pipeline that converts narrative events into searchable vectors is working. The website you’re reading this on is live.
What’s next is the hard part: the AI pipeline itself. Dataset generation, model fine-tuning, and the actual narrator that turns all of that structured context into prose worth reading. After that, the player-facing app. I’m hoping to have early playtests within a few months.
I’m building this in public. That means regular blog posts here: general updates, screenshots, and progress reports as things move forward. If you’re a technical person who wants the behind-the-scenes, I’ll be writing deeper articles on the architecture, the memory system, the model training pipeline, and the specific problems I’m solving along the way. I hope that gives everyone a clearer picture of where this is going and why.
Stay in the loop
If any of this sounds interesting, sign up for the newsletter. I’ve put signup forms throughout the site for exactly this reason. No spam. You’ve already trusted me with your attention, and I have no interest in wasting your time. The newsletter goes out roughly once a month with blog post updates and development status. Newsletter subscribers will get first access when playtesting begins.
Fair winds - Ben