fertig-classic-games/tools
Brian Fertig d27244ac60 Rework Pipe Puzzle to branching network with no-leak win condition
Replace the single Hamiltonian-path model with a spanning-tree + extra-edges
approach that produces boards full of T-pieces, crosses and dead ends. The
win condition is now simply "zero leaks" — every socket matched to a
neighbour that opens back — instead of requiring one continuous path from
faucet to drain.

Key changes:
- Logic: generate puzzles via randomized Kruskal spanning tree plus tunable
  extra edges per difficulty; add bitCount, countLeaks, and derived
  angleFor/canonical rotation table
- Art: new tile textures for stub (dead end), T-piece, and cross;
  tileKeyFor and angleFor now handle all five piece types
- Game: faucet and drain are fixed anchors (not rotatable); removed the
  CONNECTED counter in favour of a simpler LEAKS stat; updated difficulty
  tiers (6×6 through 10×10) with extra-edge counts; improved water
  rendering contrast
- Tests: rewrite verify script for the new generation model (spanning tree,
  connectivity, piece mix, no-leak solution); update smoke test to skip
  anchor tiles
- Tutorial: updated rules, board reading guide, and tips for the branching
  network variant
2026-08-24 21:04:27 -06:00
..
data
lib
bloxorzMap.js
buildCommonWords.js
fetchStarControlAssets.js
genBloxorz.js
genDotLink.js
genExcitebikeTracks.js
genGooTower.js
genJumble.js
genKatamino.js
genMiniCrossword.js
genPeggleLevels.js
genPuddingMonsters.js
genRushHour.js
genSpireClimbCreatures.js
genSuperKartTracks.js
genTACampaign.js TAL: smooth obstacle collision push + in-place building upgrades (upgradesFrom) 2026-08-16 18:59:30 -06:00
genTetrisAttackPuzzles.js
genWolfenstein.js feat(wolfenstein): add enemy vision cone, patrol loop behavior, and weapon sprites 2026-08-21 20:23:02 -06:00
genZuma.js
readExcitebikeMaps.js
smokePipePuzzle.cjs Rework Pipe Puzzle to branching network with no-leak win condition 2026-08-24 21:04:27 -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
verifyGinRummy.js
verifyGooTower.js
verifyJewelQuest.js
verifyJumble.js
verifyMahjong.js
verifyMahjongMatch.js
verifyMasterOfVega.js feat(mastervega): add morale bonus system and espionage restraint diplomacy 2026-08-16 08:12:16 -06:00
verifyMiniMotorways.js
verifyPaiGowPoker.js
verifyPeggle.js
verifyPipePuzzle.js Rework Pipe Puzzle to branching network with no-leak win condition 2026-08-24 21:04:27 -06:00
verifyPuddingMonsters.js
verifyRisk.js
verifyRummikub.js
verifyRushHour.js
verifySWDBG.js
verifySlots.js
verifySpireClimb.js
verifyStarControl.js
verifySuperKart.js
verifyTempest.js
verifyTetrisAttack.js
verifyTotalAnnihilation.js TA AI Updates 2026-08-17 21:15:32 -06:00
verifyWolfenstein.js feat(wolfenstein): add fists viewmodel, weapon cycling, ammo drops, and campaign carry-over 2026-08-22 19:07:37 -06:00
verifyZuma.js
wolfensteinMap.js feat(wolfenstein): add enemy vision cone, patrol loop behavior, and weapon sprites 2026-08-21 20:23:02 -06:00