Snaketron is back
Let’s break down what changed in this Rust-based rewrite.
Server Authority & Lag Compensation
In 2012, trusting the client was a recipe for chaos. This time around, the game engine runs on the server, enforcing all rules and validating inputs. Clients predict their own movement locally to smooth out perceived lag, but the server has final say. The engine itself is written in Rust and compiled to WASM for the browser — giving us both speed and safety.
Auto-Scaling Architecture
Ops overhead killed the last version’s scalability. So I built Snaketron to be inherently resilient: any node can join the cluster and automatically pick up live sessions. Rebalancing happens seamlessly — players don’t drop, games don’t reset. It’s designed so you never have to manually intervene during traffic spikes.
Gameplay Enhancements
The core loop stays faithful to Snake — collect food, avoid crashes. But team-based objectives add structure to competitive matches. There’s a ranked ladder (Bronze → Grandmaster), boosting mechanics, combo scoring, skins, and even Play of the Game detection. If enough people play, calibrating the ranking system should get interesting.
On Rust and AI
Originally, choosing Rust was partly about learning the language. But once AI tooling got good enough, I leaned into it heavily. What used to mean wrestling with borrow checker errors became focused time on game design and high-availability logic. Still ended up at 200k LOC — most of it tests, don’t worry.
Snaketron is live at snaketron.io. Source code and original HN thread linked below. Feedback welcome — especially from anyone who remembers the first version. GitHub repo | Original 2012 post