Realm Conquest is a persistent, turn-based browser strategy MMO: one account, many independent worlds, colonies on a shared map, and a slow economy that turns into a war. This is the first post in the series about why we threw away four years of work and started the whole thing over.
The problem with the original build
Four years after the original project began, I restarted it from scratch. The first version was built on a canvas-first game framework and a thin backend. That stack made sense early, but it pulled the project toward canvas-first thinking that worked against a turn-based game where almost all of the interesting state lives in the database, not on the screen.
The real problem was the tick engine. Each new game mechanic was bandaided onto the tick processor as it was designed. There was no overarching model for what a tick did; there was just an ever-growing list of steps that ran in sequence. By the time the core mechanics were in place, the tick engine was the most fragile part of the codebase: difficult to test, difficult to extend, and impossible to reason about as a whole.
For a free-to-play strategy MMO that is supposed to run for years and keep growing, that is fatal. A game engine you are afraid to touch is a game that stops improving.
The decision
The rebuild inverts that. The tick architecture is designed first, with every planned mechanic accounted for before a line of production code is written. The game design is unchanged. The implementation starts clean.
We kept the genre we love: the slow, deliberate, multi-world browser strategy game that mostly disappeared when the old web-game era ended. We rebuilt everything underneath it. If you came here looking for a BattleDawn alternative, the rest of the series is the honest version of how it got built.