fertig-classic-games/tools
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
..
data
…
lib
…
bloxorzMap.js
…
buildCommonWords.js
…
fetchStarControlAssets.js
…
genBloxorz.js
…
genDotLink.js
…
genExcitebikeTracks.js fix(excitebike): rework throttle, heat model, and landing after playtest 2026-07-29 22:34:29 -06:00
genGooTower.js
…
genJumble.js
…
genKatamino.js
…
genMiniCrossword.js
…
genPeggleLevels.js
…
genPuddingMonsters.js
…
genRushHour.js
…
genSpireClimbCreatures.js
…
genSuperKartTracks.js
…
genTACampaign.js
…
genTetrisAttackPuzzles.js
…
genZuma.js
…
readExcitebikeMaps.js excitebike: playtest fixes and Wave 5 polish 2026-07-29 23:06:41 -06:00
verifyAdvanceWars.js
…
verifyBalatro.js
…
verifyBejeweled.js
…
verifyBlockFighter.js
…
verifyBloxorz.js
…
verifyBookwork.js
…
verifyCanasta.js
…
verifyCivilization.js
…
verifyColoradoDefense.js
…
verifyCribbage.js
…
verifyDotLink.js
…
verifyDungeonBoss.js
…
verifyExcitebike.js excitebike: playtest fixes and Wave 5 polish 2026-07-29 23:06:41 -06:00
verifyGinRummy.js
…
verifyGooTower.js feat(gootower): make gears lethal hazards; redesign levels 5-6 2026-07-30 23:09:59 -06:00
verifyJewelQuest.js
…
verifyJumble.js
…
verifyMahjong.js
…
verifyMahjongMatch.js
…
verifyMiniMotorways.js
…
verifyPaiGowPoker.js
…
verifyPeggle.js
…
verifyPuddingMonsters.js
…
verifyRisk.js
…
verifyRummikub.js
…
verifyRushHour.js
…
verifySWDBG.js
…
verifySlots.js
…
verifySpireClimb.js
…
verifyStarControl.js
…
verifySuperKart.js
…
verifyTempest.js
…
verifyTetrisAttack.js
…
verifyTotalAnnihilation.js
…
verifyWorms.js **feat: add Worms game with full physics, weapons, and procedural terrain** 2026-07-31 16:33:37 -06:00
verifyZuma.js
…