Inspiration
Whenever I travel, I look for games that are good for offline, low-battery play. A lot of them end up being remakes of old board games like Battleships or chess. Polytopia is a great example of something that works really well for this, but I’ve been playing it for years.
When I went to Tunisia, I wanted something with high replayability where I could keep trying different strategies. I also strongly prefer playing games in portrait mode on my phone.
That became the starting point for Atheling.
What it does
You play as the King of England across a series of historical scenarios, beginning in 1066 and continuing through to Henry VII.
The game is built around real people, places and historical events, but everything runs inside a simulation. Your decisions can change what happens next, so history quickly starts to diverge from the version we know.
A campaign might begin with a familiar historical situation, but there is no requirement for it to end the same way.
Once a campaign is finished, you can replay it, move on to another one, or simply continue playing in the sandbox and see where your version of history goes.
How we built it
Honestly, I had avoided vibe coding for a long time.
Then I was sitting by the pool on holiday with my phone and started building this in Replit.
The main game is written in React, with Capacitor used to package and deploy it to the App Store.
One of the things I cared about from very early on was testing. A game where decisions can interact in so many different ways creates an enormous number of possible outcomes.
Alongside the game itself, I ended up building a small game-development studio where I could run simulations, inspect campaigns and test their balance.
That included running Monte Carlo simulations across thousands of playthroughs to see how often particular outcomes occurred and identify situations where a campaign was too easy, too difficult or simply became stuck.
Challenges we ran into
Balancing quickly became one of the biggest challenges.
The campaigns need recognisable historical events and story beats, but the player also needs the freedom to ignore them completely.
If Harold wins at Hastings, for example, the game still needs to make sense afterwards.
That meant designing campaigns where historical events could act as pressure on the simulation without becoming a fixed script.
The same problem exists once a campaign ends. The player can replay it, move on to another campaign, or continue their own alternate history indefinitely.
The systems therefore have to work both as part of a designed historical scenario and as part of an open-ended sandbox.
Accomplishments that we're proud of
Originally, I assumed I would need a local LLM running during gameplay to make the stories feel varied and responsive.
It turned out I didn’t.
By structuring the historical corpus in a way that could be consumed by procedural templates, the game became surprisingly good at generating situations and narratives that felt specific to what was happening in the simulation.
That also helped keep the game small, fast and completely playable offline.
Another part I’m particularly pleased with is the map system.
I built a map generator that runs at build time and creates very small offline maps styled specifically for the game. Because the maps are generated from geographic data rather than hand-created assets, adding a campaign somewhere else in the world can take seconds rather than requiring a new map to be designed from scratch.
That opens up the possibility of using the same game systems for campaigns far beyond medieval England.
What we learned
The biggest lesson was simply: build for yourself.
I’ve made things before because I thought other people might like them.
This time I made the game I wanted to play while sitting by the pool with my phone.
I wanted something that worked offline, barely touched the battery, could be played one-handed in portrait mode and had enough depth that I could keep replaying it and trying different approaches.
If other people enjoy it too, that’s a bonus.
What's next for Atheling
There are two obvious directions.
The first is more history.
At the moment the campaigns move from 1066 through to Henry VII, but the underlying systems are not limited to England or even to the medieval period. I’d like to add more campaigns chronologically, explore other countries and eventually experiment with very different periods of history.
The second direction is deeper simulation.
The game already includes things like marriage, succession and moving between locations, but there is much more that could be explored around actually ruling a kingdom: intrigue, land, religion, diplomacy, economics, family politics and the countless other pressures rulers have faced throughout history.
The goal is not to recreate history exactly.
It is to give the player a believable historical world, then ask:
What happens if you do something different?
Log in or sign up for Devpost to join the conversation.