- Implement per-character voice clip system (match, supermatch, win, lose) that
loads lazily per round and falls back gracefully when clips are missing
- Queue voices to play after arcade cues, with intelligent interruption handling
so only one line plays at a time
- Rename ensureRoundBackgrounds to ensureRoundAssets to handle both images and audio
- Reduce background music volume from 0.8 to 0.4
- Update character sprite sheet and document voice clip structure in sprites.md
Add new background images for Klaxon, Steve, and Victor characters
with 5 animation states each (r1-r5).
fix(civilization): resolve hotkey capture in city naming modal
Store hotkey list in this.hotkeyList to properly clear and restore
keyboard captures when opening/closing the city name input modal.
Previously, gameplay hotkeys prevented typing in the input field.
- Replace hard-capped difficulty curves with exponential ramp function
that continues scaling deep into endless play without plateauing
- Reduce base speeds and shot counts for more deliberate gameplay
- Increase flipper, fuseball, and pulsar speeds for more pressure
- Flipper AI now chains hops toward the claw instead of resting,
making it a true pursuer rather than a shuffler
- Change zapper to refill +1 per level instead of full reset, making
charge management meaningful
- Death no longer resets the board: only enemies within threshold t
die with the player, others remain mid-climb
- Improve enemy shot hit detection with lane distance check instead
of exact lane match
- Add advanceShots() helper for cleaner shot advancement logic
- Update verification tests for new mechanics and difficulty curves
- Add michael background sprites and update tetrisattack characters
Advance Wars:
- Add HP override system (seed/set/clearHpOverride) so units show correct
HP during enemy-turn replay until their battle animation plays
- Redesign river/road channel rendering with layered depth: rivers get
deep channel, light core, and ripple crests; roads get concrete shoulders,
asphalt, and dashed centre lines phase-locked to tile seams
Tetris Attack:
- Add character sprite sheet and per-host background images (beth, jerry,
michael, steve, victor, klaxon)
- Declare hero background assets in manifest; scene falls back gracefully
when art is missing
- Update characterSheet path in tetrisattack-artwork.json