fertig-classic-games/tools
Brian Fertig 07efb69b38 feat: real linear momentum with size-scaled brake authority
Implement continuous velocity vectors (vx/vy) replacing the old
kinematic position clamp. Each hull gets brakeSeconds-derived
linearAccel so stopping distance naturally falls under or over beamRange,
producing battleship hold-position vs frigate strafe-run behaviour
without hull-specific tactic branches.

Key mechanics:
- Thrust magnitude scaled by facing alignment (cos of angle to task
  direction), honouring "turn and engage thrusters" without locking
  thrust to facing (which caused battleships to never stop).
- GOLDEN_ANGLE-spaced approach points fan out ships sharing a target.
- avoidAccel (60) is a gentle, hull-independent collision avoidance
  budget — ships can overlap when objectives require it.
- Target avoidance uses reduced radius (0.35×) so engagement isn't
  fought by personal-space calculations.

Data: add brakeSeconds to all hulls, avoidAccel to combatV2 constants.
Verifier: rewrite turn-rate check to time-to-range metric, add hold-vs-
strafe gradient and max-delta-speed checks, relax cloak/singularity to
"doesn't hurt" invariant.
2026-08-09 14:04:02 -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
genTetrisAttackPuzzles.js
genZuma.js
readExcitebikeMaps.js
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: real linear momentum with size-scaled brake authority 2026-08-09 14:04:02 -06:00
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
verifyZuma.js