Snake Game: Classic, Sprint and Verified Maze Play
Play Snake in the browser with Classic survival, Sprint 15, verified connected Maze boards, buffered turns, keyboard, swipe, pause and local bests.
What this Snake game includes
Snake is built around a simple real-time rule: the head advances one grid cell at a time, food lengthens the body, and the run ends when the head hits a wall, an obstacle, or a body segment that will still occupy that cell on the next tick. The simplicity makes control quality matter. This version therefore supports Arrow keys and WASD, direct swipe gestures on the board, and an on-screen direction pad on small screens. Two legal turns can be buffered, so a quick corner input is not discarded. A direct 180-degree reversal is ignored because it would send the head immediately into the neck.
Classic survival
Classic mode uses an open 20×20 board. Each food item grows the snake by one segment and adds points. The tick interval becomes gradually shorter as the food count rises, so early play leaves room for broad loops while late play asks for tighter route planning. There are no hidden power-ups, random teleports, or server-side advantages. The food sequence is deterministic for a Practice seed, which makes a shared seed reproducible on the same build while still leaving the player responsible for every turn.
Sprint 15
Sprint turns Snake into a finite skill run. The board is slightly smaller and the goal is exactly fifteen foods. Completion time and score are stored locally. A Sprint result is only a game record: it is not converted into an IQ score, percentile, reaction diagnosis, attention rating, or health claim. This keeps the result useful without pretending a browser arcade run measures something it does not.
Verified Maze boards
Maze mode uses sixty project-generated obstacle boards: twenty Easy, twenty Standard, and twenty Challenge. The generator keeps the starting body area clear and the independent verifier checks that every open cell belongs to one connected component. It also rejects duplicate wall positions. Connectivity does not guarantee that every path you choose is safe—Snake is still a game of route management—but it prevents the maze generator from shipping isolated unreachable pockets or an invalid start.
Food placement and deterministic sessions
Food is chosen only from cells that are not occupied by the snake or a wall. The selection is derived from the seed and food index rather than from a remote random service. The verifier samples six thousand sessions across Classic, Sprint, and Maze and confirms deterministic creation, a valid three-segment start, and safe food placement. This is a local-first implementation: the game does not need a paid API, a login, a cloud save, or an imported level service.
Pause, restart and local bests
Pause stops the local timer and movement loop. Restart returns to the beginning of the same seeded run, while Fresh Practice creates a new seed. Local bests separate Classic, Sprint, and Maze difficulty records. The current run can also be written to browser storage so an interrupted specialist session has a consistent local state. Clearing site data can remove those records.
Mobile play
The board scales down to phone width without horizontal scrolling. Swipe controls work directly on the board, while the direction pad gives a second touch option for players who prefer explicit buttons. Keyboard users can use either arrows or WASD, and P pauses or resumes. The canvas is drawn locally; no gameplay image stream is sent to a server.
How to improve at Snake
Long runs are less about chasing each food by the shortest route and more about preserving future space. Early in a run, broad edge loops can keep the center open. As the body length increases, avoid splitting the remaining free cells into regions that your head cannot leave before the tail arrives. In Maze mode, look one corridor beyond the food and ask where the head can go after eating it. A food that is easy to reach can still be a bad target if the exit path is blocked by your own body.
Why there is no global leaderboard
This public version deliberately keeps records on the device. That avoids account infrastructure and makes the game playable without a server-side ranking system. A local personal best is transparent: it reflects the runs stored in this browser and nothing more. If a future production version adds public competition, that would require a separate integrity and privacy design rather than silently pretending local scores are globally verified.