fertig-classic-games/data
Brian Fertig e7da172896 feat: add Total Annihilation game with campaign, AI, and full engine
Add a complete Total Annihilation clone including:

- TotalAnnihilationGame.js: Main scene with fixed-step loop, input handling,
  camera controls, selection, orders, and match lifecycle
- TAHud.js: Resource strip with flow rates, selection info, build/production
  grid, minimap with fog of war, and toast notifications
- TAScreens.js: Main menu, skirmish setup, campaign list, pause menu, and
  victory/defeat results
- totalannihilation-campaign.json: 6 hand-authored campaign missions with
  escalating difficulty (skill 1→5)
- tools/genTACampaign.js: Campaign generator that bakes terrain from the
  seeded map generator
- tools/verifyTotalAnnihilation.js: 13-section end-to-end test suite covering
  rules integrity, artwork, economy, pathfinding, combat, fog of war,
  map generation, serialization, AI skill ladder, and campaign winnability
- tools/lib/taStubScene.js: Minimal Phaser stub for headless testing

Engine improvements:
- TALogic.js: Swept projectile collision (no tunneling), quadratic AoE
  falloff, manual weapon support (D-Gun), unrecoverable elimination, onTick
  callback for AI stepping
- TAAI.js: Skill-based economy ladders, simultaneous factory+economy growth,
  sticky focus-fire, home defense gating by skill, tune/profile overrides
- TANav.js: fitField dilation for unit clearance, stale fit mask invalidation
- TAWorldView.js: _addWorld for layer ordering, frame-accurate zoom anchor
  math, container depth sorting every frame
- TARules.js: autoRangeOf excludes manual weapons, manual flag compilation

Art & data:
- Mayan civilization artwork added to civilization-artwork.json
- Several opponents switched to mayan citySheet
- totalannihilation-rules.json: balanced unit stats, new commanderlaser weapon,
  restructured AI skill tuning, formatted JSON
- sprites.md: complete art spec for drop-in PNG sheets
- Registered in gamesRegistry, assetManifest, PreloadScene, GameRoomScene,
  and soundtrack service
2026-07-24 20:57:40 -06:00
..
crosswords
…
wordlists
…
advancewars-artwork.json
…
advancewars-campaign.json
…
advancewars-rules.json
…
adventure-music.json
…
arcadedark-music.json
…
balatro-artwork.json
…
blockfighter.json
…
bookwork.json
…
card-backs.json
…
civilization-artwork.json feat: add Total Annihilation game with campaign, AI, and full engine 2026-07-24 20:57:40 -06:00
civilization-rules.json feat(civ): AI-initiated diplomacy with frustration escalation 2026-07-23 16:26:15 -06:00
colorado-defense-cities.json
…
colored-playfields.json
…
dotlink.json
…
dungeonboss-artwork.json
…
hacker-music.json
…
jewelquest.json
…
jumble-riddles.json
…
jumble.json
…
katamino.json
…
music.json
…
nintendo-music.json
…
opponents.json feat: add Total Annihilation game with campaign, AI, and full engine 2026-07-24 20:57:40 -06:00
playfields.json
…
puddingmonsters.json
…
rushhour.json
…
shift-artwork.json
…
slots-artwork.json
…
spireclimb-artwork.json
…
star-control-ships.json
…
superkart-artwork.json
…
superkart-racers.json
…
superkart-rules.json
…
swdbg-artwork.json
…
swdbg-cards.json
…
tetrisattack-artwork.json
…
tetrisattack-puzzles.json
…
tetrisattack.json feat(civilization): add japanese city theme and improve world generation 2026-07-22 23:48:41 -06:00
totalannihilation-artwork.json **Update game icons assets** 2026-07-24 16:01:13 -06:00
totalannihilation-campaign.json feat: add Total Annihilation game with campaign, AI, and full engine 2026-07-24 20:57:40 -06:00
totalannihilation-rules.json feat: add Total Annihilation game with campaign, AI, and full engine 2026-07-24 20:57:40 -06:00
zuma.json
…