Skip to Content

H5 · Star Sprint

Collect 5 stars in 45 seconds while avoiding 2 patrol robots, starting with 3 health. Move with WASD/arrows, pause with P, and replay with R. Mobile viewports show directional buttons. The source includes plain HTML/JS and Vite versions.

Download and run

Extract the source into a new native-h5 folder with package.json at its root. Enter that folder and choose one route:

python3 -m http.server 8000 --bind 127.0.0.1 --directory plain/dist
npm ci npm run dev

Open http://127.0.0.1:8000/ for the plain version or http://127.0.0.1:5173/ for Vite. The recorded folder was Move to Combos/native-h5 on the desktop; use your own actual path.

Star Sprint locally: verify starting, moving, collecting stars, and scoring.

Star Sprint locally: verify starting, moving, collecting stars, and scoring.

Test, build, and publish

Start the game, collect a star, and check the score. Collect all 5 to win. Check collision damage, timeout failure, pause, and replay. For Vite, stop dev and run:

npm run build npm run preview

Preview at http://127.0.0.1:4173/; the plain route uses plain/dist directly. Follow Publish and update, retaining your own combos.json.

The recorded Vite release declared pc,mobile, revision 1. Play Star Sprint , Canvas code 07752. Full keyboard wins were recorded locally and online. Mobile controls were checked only in a browser viewport, not on a real phone.

Star Sprint collecting its first star on the public Combos page.

Star Sprint collecting its first star on the public Combos page.

Source and downloads

index.html/src/style.css provide Canvas, HUD, buttons, layout, and touch controls. src/main.js owns input, movement, collection, collisions, timing, outcomes, and drawing. package.json/vite.config.js define build scripts and relative URLs; plain/dist is the no-build equivalent.

This scoring snippet explains the example; it is not required Combos integration code:

if (!star.collected && Math.hypot( star.x - state.player.x, star.y - state.player.y ) < 35) { star.collected = true; state.score++; } if (state.health <= 0 || state.elapsed >= 45) show('lost'); else if (state.score === 5) show('won');

Both build archives extract with index.html at the root.


Source: Combos developer integration guide , checked on 2026-10-08 with CLI v1.14.2. Example results refer to the original recorded runs.

Last updated on