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 Excitebike 2026-07-29 22:05:21 -06:00
lib Excitebike 2026-07-29 22:05:21 -06:00
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 feat(rushhour): redesign level bank, procedural art, and tiered curriculum 2026-07-28 22:12:55 -06:00
genSpireClimbCreatures.js
genSuperKartTracks.js
genTACampaign.js
genTetrisAttackPuzzles.js
genZuma.js Zuma Level Refactor 2026-07-28 21:33:36 -06:00
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 feat(rushhour): redesign level bank, procedural art, and tiered curriculum 2026-07-28 22:12:55 -06:00
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 Zuma Level Refactor 2026-07-28 21:33:36 -06:00