Show HN: I rebuilt a 2000s browser strategy game on Cloudflare's edge
Show HN (score: 6)Description
I finally built the version I wanted to play. Kampfinsel is live at kampfinsel.com right now with real players on it. It's not a straight copy of the old game. I gave it its own world. No magic, no gunpowder β just ballistas, fire pots, and slow ships crossing huge distances. Three resources: gold, stone, wood. Travel between islands takes hours, not seconds. It's slow on purpose.
The whole thing runs on Cloudflare's edge. Workers for the game logic and API, D1 for the database, KV for sessions and caching, R2 for assets and Durable Objects for per-island state and the tick system (fleet arrivals, combat, resource generation). There's no origin server at all. Making a stateful multiplayer game work inside Workers' CPU limits and D1's consistency model meant some non-obvious choices: resources are calculated on-read from timestamps instead of being ticked into the database, fleet movements live in Durable Object alarms and combat writes are batched. This helped me a lot!
The look is intentionally rough and text-heavy (Hi HN!): server-rendered HTML, tables, a parchment color palette, Unicode icons, no frontend framework, no build step. The only JavaScript is for countdown timers and auto-refresh. I wanted it to feel the way I remember these games looking, not how they actually looked. Honestly, it looks a lot like HN itself - tables, monospace, no chrome. If you like how this site looks, you'll probably feel at home.
No signup wall, no premium currency, no pay-to-win. Feedback very welcome, especially from anyone who played this kind of game back in the day or has opinions on running stateful stuff on Workers + D1 + Durable Objects. I'll be around for the next few hours.
More from Show
Show HN: T4 β a versioned datastore with branching and time-travel (S3-backed)
Show HN: T4 β a versioned datastore with branching and time-travel (S3-backed) Hi HN,<p>I built t4, a datastore that stores its WAL and snapshots in S3.<p>Instead of traditional storage, it writes append-only segments to object storage and reconstructs state from checkpoints + WAL.<p>A side effect of this model is that the database becomes naturally versioned: you can restore any past state, branch from any point (with copy-on-write) and replay history<p>I started this as an experiment to replace etcd in Kubernetes, but itβs evolving into a general-purpose versioned state store.<p>Curious what people think about it and appreciate any feedback!
No other tools from this source yet.