Snake with four modes, four power-ups and the classic tail rule: the square your tail is leaving is safe to enter, which is what lets you turn tightly inside your own body. Four speeds, per-mode high scores and touch controls.
Initializing in your browser…
Block stacking with the Super Rotation System and its real wall kicks, so a flat I can stand up off the floor, and a 7-bag randomiser so no piece is ever more than twelve away. Hold, ghost piece and Guideline scoring.
Cellular automaton on a board up to 300 by 300, with RLE import and export, custom B/S rulestrings (HighLife, Seeds, Day and Night), pattern stamping, and pan and zoom.
Navigate through pipes in this side-scrolling game. Fixed-timestep physics that plays the same at any frame rate, three difficulties, coins and medals
A four segment snake curled into a square turns into the cell its own tail is about to leave.
Input
Body at (2,1) (1,1) (1,2) (2,2), heading right, press ↓
Result
The head lands on (2,2) and the snake lives, still four long
The tail leaves that square on the same tick the head arrives, so the move is legal, and it is the move that lets you turn tightly inside your own body. The version that used to run here tested the head against the whole body including the tail and killed you for it. There is a genuine second convention, where every body square is fatal, so the one in force is stated rather than assumed: the tail square is safe, except on a tick where you are eating, because a growing snake does not vacate anything. One piece of fruit is ten points and one segment, so a snake that has eaten n pieces is n + 1 long.
Eat the fruit, grow one segment longer, and try not to run into anything, including yourself. Four modes: the classic walled board, one where the edges wrap, one strewn with obstacles and a timed run. Power-ups appear as you play, and the tail square is safe to enter, which is what makes a tight turn inside your own body possible at all.
The loop that made the game famous on a monochrome phone, with the tail rule the original actually had.
The speed climbs a level every five pieces of fruit, so each run pushes a little further than the last.
The obstacle mode adds two more blocks every level, which turns a reflex game into a spatial one.
A run lasts a couple of minutes and nothing is uploaded, so it fits in a gap between tasks.
Every piece of fruit adds exactly one segment and ten points, twenty while a doubler is running, so a snake that has eaten n pieces is n + 1 long. That is arithmetic and it is checked on every build.
The rule most versions get wrong is the tail square. When a snake moves and does not eat, its tail leaves the square it was on in the same tick as the head arrives somewhere new. So a head moving into the square the tail is vacating is a legal move, and it is the move that lets you turn tightly inside your own body. The version that used to run here tested the head against the whole body including the tail, so a snake curled into a loop died on a move the original game allows. It does not any more, and there is a genuine second convention (some versions treat every body square as fatal) so the one in force is stated: the tail square is safe, EXCEPT on a tick where the snake is eating, because a growing snake does not vacate anything.
The game runs on one pure function from a state and a tick to the next state. That is not an implementation detail, it is why the score is right: the old version ran its move inside a React state updater and called the scoring, the food spawn, the sound and the game over handler from inside it. React double-invokes updaters in Strict Mode during development, so in the development build one piece of fruit scored twenty points instead of ten, spawned two pieces of food and threw two bursts of sparks. Now the step returns a list of events and the sounds and sparks happen outside it, where they belong.
Fruit is placed uniformly over the squares that are actually free, chosen from a list of them rather than by guessing at random and trying again, so a nearly full board still places fruit instantly instead of spinning. Power-ups now expire after a fixed number of TICKS rather than against the wall clock, so pausing no longer eats them.
In No Walls mode, yes: leaving one edge brings you out at the opposite one. In Classic, Obstacles and Speed Run the wall ends the game, and the panel says which of the wall, your own body or an obstacle it was.
Into the square your tail is leaving, yes, and that is the classic rule: the tail moves off it on the same tick your head moves onto it. Into any other segment of your body, no. The one exception is a tick where you are eating, because then the snake grows and the tail stays put.
It should not. Two turns queue up, so tapping up then left around a corner works even inside one tick. A third press in the same tick is dropped, because a queue that grows without bound makes the snake follow keystrokes from seconds ago.
The interval starts at your chosen speed and drops 10 ms a level, with a floor of 50 ms a tick. A speed power-up takes another 40 percent off and a slow one adds half again.
No. They are counted in game ticks rather than against a clock, so pausing stops them along with everything else.
Yes. Swipe on the board to turn, or use the direction buttons under it.
The game runs entirely in your browser. No account is needed and no gameplay data is collected.