fertig-classic-games/assets/images
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
..
advancewars
…
civilization feat: add Total Annihilation game with campaign, AI, and full engine 2026-07-24 20:57:40 -06:00
mahjong
…
originals
…
peggle
…
shift
…
slots
…
starcontrol
…
superkart
…
tetrisattack
…
tutorial-images
…
azul-tiles.png
…
azul-tiles.psd
…
background-casino.png
…
background-jewelquest.png
…
background-jewelquest.psd
…
background-menu.png
…
background-room.png
…
balatro-artwork.png
…
balatro-artwork.psd
…
balatro-bossicons.png
…
balatro-bossicons.psd
…
balatro-deckbacks.png
…
balatro-deckbacks.psd
…
balatro-packs.png
…
balatro-packs.psd
…
balatro-planets.png
…
balatro-planets.psd
…
balatro-spectrals.png
…
balatro-spectrals.psd
…
balatro-tarots.png
…
balatro-tarots.psd
…
balatro-vouchers.png
…
balatro-vouchers.psd
…
cardbacks.png
…
cardbacks.psd
…
catan-pirate.png
…
catan-robber.png
…
catan-special-cards.png
…
catan-special-cards.psd
…
catancards.png
…
catancards.psd
…
catantiles.png
…
catantiles.psd
…
dominion-cards.psd
…
dominion-prosperity.png
…
dominion-prosperity.psd
…
dominion-tokens.png
…
dominion-tokens.psd
…
dominioncards.png
…
dungeonboss-bosses.png
…
dungeonboss-bosses.psd
…
dungeonboss-deckbacks.png
…
dungeonboss-deckbacks.psd
…
dungeonboss-heroes.png
…
dungeonboss-heroes.psd
…
dungeonboss-icons.png
…
dungeonboss-icons.psd
…
dungeonboss-rooms.png
…
dungeonboss-rooms.psd
…
dungeonboss-spells.png
…
dungeonboss-spells.psd
…
forbiddenisland-cards.png
…
forbiddenisland-cards.psd
…
forbiddenisland-tiles.png
…
forbiddenisland-tiles.psd
…
game-icons.png
…
game-icons.psd
…
gofish-cards.png
…
gofish-cards.psd
…
jello-items.png
…
jello-items.psd
…
labyrinth-cards.png
…
labyrinth-cards.psd
…
labyrinth-tiles.png
…
labyrinth-tiles.psd
…
labyrinth-treasures.png
…
labyrinth-treasures.psd
…
main-title.png
…
monopoly-cards.png
…
monopoly-cards.psd
…
monopoly-pawns.png
…
oldmaid-cards.png
…
oldmaid-cards.psd
…
opponents.png
…
opponents.psd
…
peggle-sprites.png
…
peggle-sprites.psd
…
playfield-combat.png
…
playfield-fantasy.png
…
playfield-felt-blue.png
…
playfield-felt-green.png
…
playfield-felt-red.png
…
playfield-starscape.png
…
playfield-wood-cherry.png
…
playfield-wood-dark.png
…
playfield-wood-english.png
…
playfield-wood-light.png
…
risk-board.png
…
spireclimb-act1.png
…
spireclimb-act2.png
…
spireclimb-act3.png
…
spireclimb-cards.png
…
spireclimb-cards.psd
…
spireclimb-creatures.png
…
spireclimb-creatures.psd
…
spireclimb-rogue.png
…
spireclimb-rogue.psd
…
spireclimb-warrior.png
…
spireclimb-warrior.psd
…
splendor-cards.png
…
splendor-cards.psd
…
splendor-gems.png
…
splendor-gems.psd
…
stratego-pieces.png
…
stratego-pieces.psd
…
superkart-background.png
…
swdbg-bases-art.png
…
swdbg-bases-art.psd
…
swdbg-cards-art.png
…
swdbg-cards-art.psd
…
tab-icons.png
…
tab-icons.psd
…
tickettoride-cards.png
…
tickettoride-cards.psd
…