◆  A. Lech Schiedam  51.92°N 4.39°E

Cult of Comfort

A cynical time traveller is stuck around the year 950 and does the only sensible thing: builds an absurdly comfortable spa out of junk and basic physics. By day you build the village; at night the neighbours come to take it, and your towers hold the road.

I wanted to know how the timers are made

I play mobile base-builders. They are machines for coming back: a building that finishes tomorrow, a raid with a warning on it, a reward for the seventh day in a row. Every app I had built so far was a tool you open, use and close. I wanted to build the other kind, and see from the inside how the machine works.

So I started on 9 October 2026 with a design document: the core loop, the economy, the tech tree, the map and the story, before any code. By the end of that first day it ran on my phone.

Trust nothing the phone says

A game is a court case. A raid is played on the phone, often offline, and the reward depends on how it went, so the phone cannot be believed. The whole battle is a pure, deterministic C# library, shared by the Unity client and the server: fixed-point maths only, a 20 Hz tick, a seeded random generator, a stable order for everything. The phone sends only what you did. The server replays the night from that and its result is the one that counts. It takes milliseconds, and replays come for free.

Determinism has to be checked from day one. The bugs are quiet: a dictionary walked in a different order, a float that slipped into the state. On the first day I checked that a night ends in the same hash on the phone as on the server, and the game still shows that check in Settings after every night.

Features grow faster than understanding. The first person who played it without me had no idea what to do. The screen was crowded, the to-do note took a big part of it, and features had been arriving faster than the game explained them. The next piece of work was about taking things away: one clear next step, and the rest unlocked when it matters.

Time is a design material. Builds that finish in seconds feel like a prototype; at the top they now take days. Long timers, a weekly festival and a “welcome back” for what the village made while you were away are what make the evening check-in worth it. Most of that I learned by looking closely at the games I play, not by inventing it.

Everything is code, art included. The Unity scene, the HUD and every model are built from code: the models from Blender scripts, the HUD in UI Toolkit. A change to a tower is a diff I can read and review, not a binary in an editor.

Unity 6.3 C# .NET 10 SQLite Blender Hetzner 1,000+ tests

←  All work