Summary
Snake — Combo Edition is a faithful rebuild of the classic Snake arcade game with a
combo chaining twist: eat food within a 4-second window to chain a multiplier
(+0.5x per chained food). Built mobile-first with swipe + on-screen D-pad, live stats, and a global
leaderboard. This page documents the complete build for research transparency.
Model & tools
- Builder model: deepseek-v4-flash-(latest) via CommandCode (max effort)
- Reviewer model: qwen/qwen3.7-max (independent of builder, temperature 0)
- Prompt used: "Create a 1:1 clone of a game that you feel 100% confident that you could clone perfectly, in one shot. Do research first on every capability that will assist you in doing this. Prioritize using open-sourced / free assets and already solved problems."
- Tools: CommandCode, Node.js (built-in test runner), Vercel + Vercel Blob (leaderboard), git/GitHub, the shared hub pipeline (nav injector, page generator, review harness).
Why Snake
Snake is the ideal second experiment: its mechanics are simple, universally known, and — unlike most
classics — not encumbered by trademark (the gameplay mechanics are in the public
domain; the original Nokia-era presentation is long since generic). It also lets us prove the
one-command scaffold: node scripts/new-experiment.mjs snake created the full experiment
structure, nav, and tab pages with zero manual plumbing edits.
The twist: combo chaining
The core is faithful Snake (grid movement, growth, wall/self collision). The twist adds a
combo system consistent with the hub's 2048 experiment:
- Eating food within 4 seconds of the previous food chains a combo.
- Each chained food adds +0.5x to the bonus multiplier (x1.5, x2, x2.5...).
- The snake speeds up slightly with each food (down to a floor), rewarding aggressive play.
- Live stats track length, current combo, foods eaten, and total combo bonus.
Build & verification
- Game logic is a single self-contained
js/game.js (no dependencies, canvas-rendered).
- Input: arrow keys / WASD, swipe (touch), and an on-screen D-pad on mobile.
- Unit tests: Node's built-in test runner exercises initial state, movement,
wall collision, combo state coherence, and restart (5/5 passing).
- Accessibility: keyboard controls, focus-visible styles, aria-labels on controls,
and reduced complexity over motion-heavy effects (the canvas is a single static render loop).
Assets & licensing
- Game code: original implementation by ByJTT (mechanics of Snake are public domain).
- Clear Sans font: Apache 2.0 (© 2012 Intel), bundled with attribution in
style/fonts/LICENSE-ClearSans.txt.
- Icon: deterministic SVG vector master (see
meta/icon-manifest.json).
- No copyrighted assets were taken from any source; the game is free, contains no ads and no tracking.
Session log
- v1 session (2026-08-14): scaffolded via
new-experiment.mjs, built the game core
(movement, growth, collision, combo chaining), mobile-first canvas + D-pad, tests, hub/timeline/sitemap integration.