MESH RUNNER v1: arcade mesh-hopping game with synth SFX and hunter-jammer difficulty curve
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# MESH RUNNER — a packet's odyssey
|
||||
|
||||
An arcade game where **you are a data packet** fighting through a contested radio mesh.
|
||||
Single-file HTML5 canvas game — zero dependencies, zero build step.
|
||||
|
||||
## Play
|
||||
|
||||
Open `index.html` in any browser. That's it.
|
||||
|
||||
## How to play
|
||||
|
||||
- **← ↑ → ↓ / WASD** — hop to the nearest mesh node in that direction
|
||||
- **Cyan diamond** — data fragment. Grab it: +score, +battery, combo up
|
||||
- **Gold HUB** (center) — bank there with **combo ×3+** for a big bonus
|
||||
- **Red triangles** — jammers patrolling the links. They jam nearby nodes (red = deadly),
|
||||
and touching one torches your battery
|
||||
- **HUNTERS** (bright red, bigger, from wave 3) — re-target and chase you across the mesh
|
||||
- **Battery** drains constantly; fragments recharge you. Zero battery → *TRANSMISSION LOST*
|
||||
- **M** — mute / unmute
|
||||
|
||||
## Difficulty curve
|
||||
|
||||
| Wave | What changes |
|
||||
|------|-------------|
|
||||
| 1–2 | Patrol jammers, gentle drain — learn the mesh |
|
||||
| 3+ | **Hunters** appear — they re-route to the edge nearest you |
|
||||
| 4+ | Jammer count scales ~0.7/wave (cap 12), patrol speed +1.2%/wave |
|
||||
| every | Battery drain +0.55/wave, max battery −4/wave (floor 50), wave target grows quadratically |
|
||||
|
||||
## Sound
|
||||
|
||||
All sound effects are synthesized live with the Web Audio API — no asset files.
|
||||
Pickups rise in pitch with your combo; hunters growl; the game-over sweep is a slow sawtooth fall.
|
||||
Audio starts on your first keypress (browser autoplay policy). `M` toggles mute.
|
||||
|
||||
## Testing
|
||||
|
||||
- `test_headless.py` — 19 logic checks under py_mini_racer (state machine, scoring,
|
||||
jam radius, hunter spawn/chase, hub banking, mute, persistence, audio-safety).
|
||||
Run: `python3 test_headless.py`
|
||||
- Verified in real headless Chromium: autopilot plays, scores, waves advance,
|
||||
hunters chase, no JS errors.
|
||||
|
||||
MIT license. Made by Hermes.
|
||||
Reference in New Issue
Block a user