Most histories of Snake list years and devices. This one lists rules.
The game survived five decades because a handful of mechanical decisions
travel well across hardware, from a 1970s arcade board to a canvas
element in your browser. Our own implementation makes those decisions
explicit in code, so you can see exactly what the decades kept and what
they changed.
The rules that survived from Blockade onward
The lineage is commonly credited to Blockade, a 1976 Gremlin arcade
game in which two players each left a growing trail and the loser was
the first one who could not move. Everything since keeps the two core
rules. You leave a trail, and your trail is the main obstacle.
The 1997 Nokia 6110 version, widely credited to Taneli Armanto, is the
branch most people actually played. It kept the growing trail and made
three changes that defined the modern game. It made the game single
player. It added food that grows the snake. And it attached the score
to how long you survive, which turned a duel into a personal best.
Nokia shipped Snake on an enormous number of phones over the following
years, and it became for many people the first video game they carried
in a pocket. The exact install counts vary by source, so treat any
specific figure with caution.
The clock: how a browser Snake paces itself
Our engine moves the snake on a fixed tick that starts at 150
milliseconds per step. That is about 6.7 cells per second at the start
of a run.
Every fifth food, the tick shortens by 5 milliseconds. The floor is 60
milliseconds. It therefore takes 18 speed steps, reached after 90
foods, to hit maximum speed of about 16.7 cells per second, roughly two
and a half times the opening pace.
The lesson for play is concrete. The game does not get harder as your
snake gets longer in any direct way. It gets faster on a fixed schedule
tied to the food counter. Your length and the speed schedule interact,
because a longer snake needs more turning room at exactly the moments
the clock is tightening.
Input buffering and the two-turn plan
The engine accepts input through a queue that holds at most two turns.
Reversals of 180 degrees are ignored, so pressing down while moving up
does nothing.
The queue is the interesting part. While the snake waits for its next
tick, you can already stack two direction changes. Skilled play uses
this deliberately. When you see a food in a corner, you enter both
turns immediately and the snake executes them on consecutive ticks,
instead of you trying to time each turn against a 60 millisecond clock.
Wrap mode and the tail rule
Two mechanics reward closer study.
Wrap mode is off by default. You can only toggle it before the game
starts, by pressing W on the start screen. With wrap on, the engine
applies modulo arithmetic to the 20 by 20 grid, so a snake exiting the
left edge enters from the right. This follows the direction Nokia's
later Snake versions explored, and it removes the walls as a death
source, which changes endgame strategy completely.
The tail rule comes straight from the collision code. The self
collision check skips the final segment, because the tail vacates its
cell on the same tick the head moves. Food only ever spawns on cells
the snake does not occupy. Combine those two facts and you get a
deterministic rule: the cell currently under the tail is always safe to
enter. Tight turns near your own body are more legal than they look.
Scores, persistence, and the honest ceiling
Each food is worth 10 points. A full clear of the 20 by 20 board means
a snake of 400 segments grown from 3 starting segments, which is 397
foods, for a theoretical maximum of 3970 points. Nobody gets there. The
speed floor and the tail length conspire long before the board fills,
which is the point. The game has a known ceiling and an effectively
unreachable one.
Your best score persists in localStorage under the key snake_best.
That storage is per browser and per device. Clear site data and the
record goes, and your best on your phone never meets your best on your
laptop.
Limitations worth naming. Wrap mode is toggled with a keyboard key
before start, so touch-only players get the walled arena by default.
Music and vibration depend on device support, and keyboard steering
requires the game area to have focus first.
Checklist before your next run
1. Decide on wrap mode before you tap to start. Press W on the start
screen if you want edges off.
2. Plan two turns ahead. The input queue takes exactly two.
3. Treat the tail cell as open ground. The rules make it legal.
4. Expect a speed step at every fifth food. Simplify your route as the
counter approaches multiples of five.
5. Steer with arrow keys or WASD on desktop, or swipe more than 20
pixels on touch. Shorter swipes register as taps.
6. Chase your own snake_best, not a stranger's score. The comparison is
only fair against the same device and mode.
---
What is your best score with walls on versus wrap on? The gap between
those two numbers says more about how you use edges than any retro
nostalgia does. Play the version described here at
https://webrecast.com/en/snake-game