fertig-classic-games/assets/gamedata/gootower
Brian Fertig 2268c74918 **feat: add Worms game with full physics, weapons, and procedural terrain**
Add Worms (inspired by Worms Armageddon) as a new arcade game with:

- **Procedural terrain** — seeded Island and Cavern generation, full destruction via `carveCircle`, girder placement, ROCK immunity
- **Bespoke physics** — worm locomotion (walk, jump, backflip, ballistic flight, fall damage), projectile simulation with wind/bounce/homing, ninja rope with corner wrapping, explosion geometry with linear falloff
- **16 weapons** — Bazooka, Grenade, Cluster, Shotgun, Uzi, Fire Punch, Dynamite, Mine, Air Strike, Homing Missile, Holy Hand Grenade, Blowtorch, Girder, Teleport, Ninja Rope, Skip Go (+ Surrender)
- **Match rules engine** — 45s turns, retreat phase, sudden death with rising water, crates, mines, oil drums, chain reactions, deterministic hash-based state
- **8 themes** — Forest, Desert, Farm, Hell, Arctic, Jungle, Construction, Space with full procedural palettes and drop-in art hooks (`data/worms-artwork.json`)
- **Phaser scene** — mode select, quick match setup, camera, HUD, weapon panel, slingshot aim, 2-player hotseat
- **Headless verifier** (`tools/verifyWorms.js`) — 207 checks across terrain, physics, weapons, and match logic; deterministic through the sim
- **Wiring** — registry (iconFrame 92), main.js scene registration, slug dispatch, asset manifest resolver, preload

Also updates `level-008.json` with new solid/spike geometry, additional balls and strands, and repositioned pipe.
2026-07-31 16:33:37 -06:00
..
level-001.json
level-002.json
level-003.json
level-004.json
level-005.json
level-006.json remove Angry Birds game; enhance Goo Tower visuals 2026-07-31 16:29:49 -06:00
level-007.json remove Angry Birds game; enhance Goo Tower visuals 2026-07-31 16:29:49 -06:00
level-008.json **feat: add Worms game with full physics, weapons, and procedural terrain** 2026-07-31 16:33:37 -06:00
level-009.json
level-010.json
level-011.json
level-012.json
level-013.json
level-014.json
level-015.json
level-016.json
level-017.json
level-018.json
level-019.json
level-020.json
level-021.json
level-022.json
level-023.json
level-024.json
level-025.json
level-026.json
level-027.json
level-028.json
level-029.json
level-030.json
level-031.json
level-032.json
level-033.json
level-034.json
level-035.json
level-036.json
level-037.json
level-038.json
level-039.json
level-040.json
level-041.json
level-042.json
level-043.json
level-044.json
level-045.json
level-046.json
level-047.json
level-048.json
level-049.json
level-050.json
level-051.json
level-052.json
level-053.json
level-054.json
level-055.json
level-056.json
level-057.json
level-058.json
level-059.json
level-060.json
level-061.json
level-062.json
level-063.json
level-064.json
level-065.json
level-066.json
level-067.json
level-068.json
level-069.json
level-070.json
level-071.json
level-072.json
level-073.json
level-074.json
level-075.json
levels.json