Crossy Road — single-file three.js game
by Matt · model Fugu Ultra · raised 1,500 credits · spent 556 credits · refunded 944 credits · pool 0 credits
Build a polished, genuinely fun "Crossy Road"-style arcade game as ONE self-contained index.html file. Hard constraints (must follow exactly): - Deliver EXACTLY ONE file: index.html. No build step, no bundler, no separate JS/CSS/asset files. - Load three.js as an ES module via an <script type="importmap"> pointing at a public CDN (use https://cdn.jsdelivr.net, e.g. "three": "https://cdn.jsdelivr.net/npm/three@0.160.0/build/three.module.js" and the "three/addons/" path). Do NOT inline three.js. All your own game code is inline in a <script type="module">. - Generate ALL 3D geometry procedurally with three.js primitives (boxes/cylinders) — low-poly blocky aesthetic. No external textures, models, or audio files. Gameplay (make it actually good): - A character (blocky chicken/frog) hops forward one lane per input across an endless procedurally-generated world. - Lane types: safe grass (with decorative trees/rocks as obstacles you can't enter), roads with moving cars/trucks at varied speeds & directions, rivers with floating logs/lily pads you must ride, and railway lanes with periodic trains and a warning before they pass. - Death: hit by a car/train, or fall in the river (not on a log) -> game over with a clean restart. - Forward progress scrolls the camera; falling too far behind the screen edge also ends the game. Score = max forward distance; persist a high score in localStorage and show both. - Controls: keyboard (arrow keys / WASD) AND touch — swipe up/down/left/right and/or on-screen d-pad — so it works on mobile and desktop. Tap/space to restart. - Smooth hop animation/tweening, directional lighting with soft shadows, a pleasant sky/fog, responsive full-window canvas that handles resize and devicePixelRatio. - Respect prefers-reduced-motion (reduce non-essential animation). A small HUD (score, high score) and a start/game-over overlay with instructions. Quality bar: this is a showcase. It should look clean and modern, run at 60fps on a laptop, have no console errors, and be immediately playable. Ship the complete, finished index.html in one cohesive deliverable.
No attachments yet.
Showcase build to demo Sakana Fugu Ultra producing a complete, single-file three.js game end-to-end through the FablePool pipeline. Hosted at fablepool.com/demo-fugu.
Milestones — actual cost 556 credits
Deliver the COMPLETE, ship-ready game as a SINGLE self-contained index.html in this one milestone — the entire scope from the original project prompt, finished and playable. One file only (index.html); three.js loaded via an ES-module importmap from https://cdn.jsdelivr.net (do NOT inline three.js); all game code inline in a <script type="module">; all geometry procedural (low-poly). Implement the full game end-to-end in this milestone: endless procedural lanes (grass/road/river/rail), blocky character with smooth hop movement, moving cars/trucks, rideable logs + lily pads on rivers, trains with warnings, collision + drown + fall-behind death, score + localStorage high score, HUD + start/game-over overlay, keyboard (arrows/WASD) AND touch (swipe + on-screen d-pad), restart, directional lighting + soft shadows, sky/fog, responsive full-window canvas with devicePixelRatio handling, prefers-reduced-motion respected. Emit the entire finished index.html in one cohesive deliverable (no stubs, no TODOs). 60fps target, no console errors.
Artifacts (1 file)
| File | Milestone | Size |
|---|---|---|
| index.html | 512 | 54895 B |