Slither.io rebuild deck
BRUTAL
The snake is a ring buffer and a resample, roughly two hundred lines with no physics in it, and everything you are actually paying for is twenty thousand concurrent strangers and the prediction that hides their latency.
The hard part is not game design at all.
The surprise here is that the snake contains no physics at all. It is a ring buffer of positions and a resample, and once that clicks the whole body system collapses into about two hundred lines. That is also the trap: the mechanics are the cheap tenth of this game and the crowd is the product. A lobby of bots gives itself away inside ninety seconds, because bots do not gloat and they do not camp. Spend your review time on the spatial hash, since the naive collision loop is exactly where the frame rate goes to die.
- Difficulty
- BRUTAL · 5 of 5
- First playable
- A weekend
- The original
- 1 team-years
- Released
- 2016 · Browser
- Genre
- Multiplayer Arena
Build a browser snake arena where the player shares a circular map with 25 AI opponents. Single self-contained HTML file, Canvas 2D, no build step, no server. Requirements: - The snake follows the cursor. The head turns toward the pointer angle at a capped angular rate of about 4 rad/s at base speed; it must never snap to face the mouse. - The body is NOT a physics chain. Keep a rolling history of head positions and resample it, so each segment sits at a fixed arc length behind the head along that recorded path. Arc spacing scales with radius. This single detail is the difference between the real feel and a wobbly worm. - Length is one scalar. Radius is a gentle log curve of length, camera zoom a gentle log curve of radius, so a big snake sees more map. - Boost while held: 1.9x speed, drains length steadily, drops a pellet every 100ms. - Collision: your head touching ANY other snake's body kills you. Your own body never does. Death converts your whole path into a line of larger, brighter pellets. - AI behaviour tuned from a JSON file: seek nearest pellet, occasionally aim ahead of the player's head to cut them off, avoid bodies via a short forward raycast. - Use a spatial hash for pellet and body lookups. Naive O(n squared) checks melt at 26 snakes. Definition of done: I can cut off a large AI snake, watch it burst into pellets, and eat enough of them to double my own radius.
- The servers. Twenty thousand concurrent strangers is the game, and you are not running that on a hobby tier
- Client-side prediction and interpolation good enough to hide 120ms of latency from someone on hotel wifi
- The skin grid, and the faintly unhinged custom-skin community that grew around it
- Topping the US App Store free chart in May 2016, which is not a thing you can build toward
Resample the head's path at fixed arc length
A trailing body is not a physics chain and should never be built as one. Record where the head has been, resample that line at fixed spacing, and every follower sits exactly where the leader actually went — which is the difference between a sharp turn looking right and looking elastic.
ScopeAn evening— build just this, not the game
Build a follower-chain toy as a single self-contained HTML file, Canvas 2D, no build step, no dependencies. A head follows the pointer, turning toward it at a capped angular rate of about 4 rad/s. It must never snap to face the pointer. Each frame, push the head position into a ring buffer, discarding samples closer than 2px to the previous one. The body is derived, not simulated: walk backwards along the buffered path accumulating distance, and place each of N followers at a fixed arc length behind the head, interpolating between the two samples that straddle its target distance. No springs, no constraints, no per-segment velocity anywhere in the code. Controls for follower count and spacing, applied live. Raising the count must not disturb the existing followers. Draw the raw path polyline underneath everything in a faint colour so the followers can be seen sitting on it. Definition of done: I whip the pointer through a hairpin and the tail traces the exact line the head took, spacing unchanged at any speed.
Not a clone — Slither.io re-themed and cut down to something you can finish. The angle is the important reel: it is what turns a project into a weekend. 24,360 ways to land.
Once Endless
Slither.io, but an endless survival mode instead of levels, set in a fairy tale gone wrong. Rendered in silhouette against one light.
Build a browser game called "Once Endless". The pitch in one line: a multiplayer arena in the spirit of Slither.io, but an endless survival mode instead of levels, set in a fairy tale gone wrong. WHAT THIS IS Take the SHAPE of Slither.io — its core loop, and whatever makes that loop good — and rebuild it as your own game in a different world at a smaller scope. Use your own names, art and audio, which you want anyway: a reskin of somebody else's game is less interesting than a new one that works the same way. THE ANGLE — this is the important constraint, honour it above everything else An endless survival mode instead of levels. One arena, escalating waves on a data-driven timeline, a run timer and a score. Replaces level design with a difficulty curve. This is what makes the project finishable. If a decision would push the scope back towards the original's, take the smaller option every time. THE THEME A fairy tale gone wrong. Rules of stories treated as physics — deals, thirds, true names — and a moral that costs something. The theme is not a coat of paint. Let it change what the mechanics mean — a reload, a health pack and a locked door should all be things that make sense in this world and nowhere else. LOOK Silhouette against one light. Everything renders pure black against a lit background, with depth from four parallax layers of increasing blur, grain and a heavy vignette. REQUIREMENTS - Runs in a browser with no build step. Canvas 2D unless the angle genuinely requires 3D, in which case three.js. - Fixed-timestep update loop with interpolated rendering, so it behaves the same at 60Hz and 144Hz. - Every tuning constant in one CONFIG object at the top, exposed as live sliders in a debug panel. You will find the feel by dragging those, not by prompting. - All content — levels, entities, balance numbers — in JSON or plain data files, never inline in the logic. - Audio generated with the Web Audio API rather than asset files. - Respect prefers-reduced-motion: keep the fades, drop the shake and the parallax. BUILD ORDER 1. The core loop with placeholder rectangles, at the reduced scope the angle demands. No theme, no art, no audio. Make it fun as rectangles first. 2. The angle's consequences. Cutting to bots, or to turn-based, or to one level changes the design rather than just shrinking it — find out how and rewrite step 1. 3. The theme, as content and data. 4. The look, applied last as a rendering layer over a game that already works. Start by writing a one-page plan: the core loop, what the angle removes and what that frees you to do properly, and what you are deliberately leaving out. Wait for me to approve it before writing code.
Half the time one of these already does what you wanted, and the other half it saves you a week of solving a problem someone documented in 1997.
One count per game. No account — it is tied to a salted hash of your IP, which is not stored in a form anyone can reverse. Every build adds 1 team-years to the counter on the homepage.
Then try these
Questions
How hard is Slither.io to rebuild with an AI agent?
Yes — every game is buildable at some scope. The question is how hard, and Slither.io is BRUTAL (5 of 5). The hard part is not game design at all. The snake is a ring buffer and a resample, roughly two hundred lines with no physics in it, and everything you are actually paying for is twenty thousand concurrent strangers and the prediction that hides their latency. Reckon on a weekend to something you can actually play — not to something that matches the 1 team-years Steve Howse (Lowtech Studios) spent.
What makes Slither.io hard to rebuild?
The snake is a ring buffer and a resample, roughly two hundred lines with no physics in it, and everything you are actually paying for is twenty thousand concurrent strangers and the prediction that hides their latency. That is why it sits at BRUTAL rather than a tier either side of it. If you want the idea without the project, the transferable part is resample the head's path at fixed arc length — an evening of work.
How long does it take to build a Slither.io clone?
Wrong question, and it is worth saying why. Nobody rebuilds Slither.io — the original took Steve Howse (Lowtech Studios) on the order of 1 team-years, released in 2016 on Browser. What you can do is reach something playable and genuinely yours in about a weekend, and then keep going for as long as it stays interesting. Any figure that claims otherwise is measuring a prototype and calling it a game.
What do I lose by building my own Slither.io?
The servers. Twenty thousand concurrent strangers is the game, and you are not running that on a hobby tier. Client-side prediction and interpolation good enough to hide 120ms of latency from someone on hotel wifi. The skin grid, and the faintly unhinged custom-skin community that grew around it. Those are the parts a prompt will not hand you.
Which AI coding agent should I use to build it?
Any of Claude Code, Codex or Cursor will handle this prompt. Paste it as your first message, let the agent scaffold the project, then iterate on feel — the second, third and tenth prompts are where a game actually gets good. Work in an empty folder or a fresh git branch so you can throw it away cheaply.
One email when new games go on the list. No other reason to email you, ever.