If you spent any real time in a turn-based browser strategy MMO, you already know the feeling. You go to sleep, the world ticks without you, and you wake up to a result you cannot explain. Sometimes it is a brilliant ambush by a better player. Other times it is a multi-account farm, a backstabbing alliance mate, or a bug that nobody can prove happened. The mechanics were not the problem. The trust was.
The failure in the original Phaser and Express build
The original version of Realm Conquest ran on Phaser on the client and Express on the server, with a tick processor wired in as a scheduled job. That stack put a playable prototype on screen fast, which is the only reason it ever made it to a closed alpha. It also carried problems that no amount of patching could really fix.
Game states had no business living on the Phaser client. Processing combat math, resource accrual, and animation triggers tangled into the same render loop was a mess, so what the player saw and what the server believed were two stories that could drift apart. Express was a request/response shape pretending to be a simulation. There was no record of intent, just unintended side effects. The tick engine itself ran a cron-style job, waking up, reading the current state, and then going back to sleep. When two ticks fired close together, or a player action landed mid-tick, ordering came down to luck.
Things held up as a proof of concept. The problem showed up the moment I started adding features and stress testing. Build something new and the game world would do things I couldn't explain. There was no way to stand the world back up exactly as it was and watch the same tick play out again. I was asking "what happened on that tick, and why," and I couldn't answer it about my own simulation, with my own logs, on my own hardware.
If you cannot reproduce the outcome in alpha with a handful of testers, you cannot ship it to thousands of strangers and expect to debug it, defend it, or catch anyone quietly cheating their way up the rankings while honest players quit around them. A turn-based strategy MMO that cannot explain itself is not a hard game. It is an unfair one. I could already see myself building the next one of those before I ever opened the doors, and that was the moment to stop and start over instead of bandaging forward.
The learning
The lesson was not "add logging." It was deeper than that. A competitive world has to be something you can re-derive each turn from scratch and check against itself, not just observe. Everything a player does, and every step the simulation takes, has to be recorded as intent the world can be rebuilt from, not just as a side effect you hope you wrote down.
I also learned that you never rewrite history. The original build treated past state as editable, which is exactly how a tiny "fix" turns into a result nobody can trust. In the new system, the past is append-only. You move forward by adding, never by going back and changing what already happened.
The new tick engine
The new engine treats every action in a game world as a thing that can be reconstructed and verified, end to end, not as a screen that updates and forgets. The player will experience:
- The same world, fed the same actions, always produces the same result. No hidden dice, no wall-clock luck, no quietly different math on two runs.
- An admin can stand a world back up and walk through each player action on every turn. A disputed night turns "trust me bro" into "here is exactly what happened."
- Suspicious patterns can be reconstructed after the fact, acting as a thorough anti-cheat system.
None of this changes how the game feels to play. A tick rolls over, your colony grows, your squads march. The difference is that the world underneath is now honest by construction. When you lose, you can find out why. When someone cheats, the world remembers.
That property is the foundation everything else in this devlog is built on: the economy, combat, new worlds, and the late-game weapons. None of it would be worth shipping on a simulation I could not trust.