Commit Graph

13 Commits

Author SHA1 Message Date
Brian Fertig afd1681245 feat(swdbg): rework TIE Fighter, Vader, Cassian, Luke; add capital gate & force SFX
- Add `requiresCapital` ability gate to card definitions
- Rework TIE Fighter: constant boost → action that draws a card if you control a capital ship
- Rework Darth Vader: constant +4 attack while Force is with you (removed damage ability)
- Rework Cassian Andor: onBounty trigger forces opponent discard on galaxy row kills
- Rework Luke Skywalker: onPlay destroy enemy capital ship if Force is with you
- Centralize ability requirement checks via `abilityGatePasses()` helper
- Apply gate checks to onBounty, onPlay, and onReveal triggers
- Add Force track shift SFX (light/dark variations) with randomized playback
- Update verification tests for new card behaviors
2026-07-07 21:15:58 -06:00
Brian Fertig 137acc3500 feat: add default playfields for board games and new combat theme
- Add new "Future Combat" playfield image and configuration
- Assign default playfields to multiple games:
  - Stratego and Risk → combat
  - Checkers, Othello, Monopoly, Azul → cherry
  - Chess, Go, Backgammon → dark
  - Labyrinth → fantasy
2026-07-05 19:21:50 -06:00
Brian Fertig a1503d19fe feat: enhance SWDBG animations and Dungeon Boss mid-walk casting
- SWDBG: add animated buy sequence with funding arcs, center-screen reveal,
  and face-down stow to discard/deck
- SWDBG: introduce stable row slot tracking so bought/lost cards don't shift
  neighbors; add ghost cards for pending animations
- SWDBG: add end-of-turn discard animations preserving old-hand positions;
  emit endTurnDiscard events from logic
- SWDBG: add deep-dive Buy/Attack buttons for actionable cards; refactor
  dealCardAnimated with startAs/flipTo/keepAlive support
- SWDBG: add drawArcArrow/drawArcArrows for converging attack visuals on
  bounty kills and base attacks
- Dungeon Boss: add mid-walk advRoom casting window after room events,
  letting players react to damage/kills during hero crawl
- Dungeon Boss: track walking hero in publicView and entranceHeroesOf so
  spells and AI heuristics can target mid-crawl heroes
- Dungeon Boss: replace pre-bait token snapshot with overlay system —
  pending bait heroes stay in town with fly-in tokens; pending draw cards
  show card backs until animations land
- Dungeon Boss: keep heroes in battle zone after roomHit/pass instead of
  returning them immediately
- Update images, registry (defaultPlayfield), and verifier (advRoomCasts)
2026-07-05 18:20:06 -06:00
Brian Fertig ee60d7fa1c feat(swdbg): add card dealing animations and opponent hand visualization
- Animate card draws, plays, and row refills with smooth flight transitions
  and mid-flight reveal flips during initial deal
- Introduce slot helper methods for consistent card positioning across
  renderers and animations
- Show opponent hand as face-down fan with visible draw/discard pile counts
- Track pending card UIDs to prevent rendering cards mid-animation
- Support game-specific default playfields via gamesRegistry
- Add guardFreshButton to prevent accidental clicks from pointer event bubbling
- Add Starscape and Fantasy playfields; set Starscape as default for Star Wars
2026-07-05 14:44:03 -06:00
Brian Fertig 0e93c6ed56 More adjustments 2026-07-04 17:48:34 -06:00
Brian Fertig 29cf5972b6 Dungeon Boss item positioning 2026-07-04 12:34:37 -06:00
Brian Fertig 57f9941dc4 feat: add card and base artwork spritesheets
- Add swdbg-cards-art.png and swdbg-bases-art.png spritesheets
- Add corresponding PSD source files
- Update swdbg-artwork.json to reference new art assets
- Adjust card sheet frame height from 230 to 155
2026-07-04 11:49:20 -06:00
Brian Fertig 6a49f5e2ae feat(dungeonboss,swdbg): add hover-to-zoom card previews and update art assets
- Add hover-to-zoom preview popup for cards in both DungeonBoss and SWDBG games
  (500ms delay, follows pointer, hides behind opponent videos)
- Add new artwork sprite sheets and update frame dimensions in JSON/config:
  dungeonboss-rooms 300×200, spells 300×160, heroes 300×225, bosses 300×275
  swdbg-cards-art 300×155 art window
- Introduce canonical CARD_ASPECT ratios and fitCardBox() for consistent card shapes
- Switch DungeonBoss opponent panels from dark to parchment theme
- Switch SWDBG card face from light to dark navy theme with updated accent colors
- Add setVideoVisible() to Portrait to pause videos during hover popups
- Update sprites.md documentation with new frame sizes and status
2026-07-03 18:21:44 -06:00
Brian Fertig ab6b2ce9fc feat: add Dungeon Boss and Star Wars Deckbuilder card games
Implement two complete card games with full rule engines, AI opponents
(5 skill levels), procedural rendering, and drop-in art support.

Dungeon Boss: Boss Monster-style dungeon building game for 2-4 players.
Players build dungeons of rooms and spells to lure and defeat heroes,
harvesting souls to win. Includes 8 bosses, 31 room cards, 16 spells,
and 41 heroes with class-based baiting mechanics.

Star Wars Deckbuilder: 2-player deckbuilding game. Players build decks
from faction and neutral cards, purchase from the galaxy row, bounty hunt
enemy units, and attack bases. First to destroy 3 enemy bases wins.
Includes 90-card galaxy deck, 10 bases with abilities, and the Force
mechanic.

Both games include:
- Pure logic engines (rules-verified by headless test suites)
- Synchronous heuristic AI with skill-based decision quality
- Phaser scenes with vector-rendered procedural art
- Drop-in sprite sheet support via JSON mappings
- Tutorial documentation and art specifications
- Registration in the game registry and scene loader
2026-07-03 07:32:41 -06:00
Brian Fertig 376f878a70 feat: add Jumble word puzzle game with 58 curated levels
Unscramble 4 base words, then collect circled letters to solve a riddle
bonus answer. Includes a seeded puzzle generator (tools/genJumble.js),
a verifier (tools/verifyJumble.js), and 58 procedurally generated levels
with progressive difficulty.

Also:
- Fix Pai Gow Poker seat rendering to only draw active seats
- Reduce Pai Gow max players from 6→5, max opponents from 5→4
- Add track 19 ("Down the Line" by Journey) to music
- Add Michael opponent voice lines (terry, victor)
- Update game-icons sprite sheet
2026-06-30 19:42:57 -06:00
Brian Fertig e6d0b2ee5d feat: add Azul board game with tutorial videos and modal fix
- Implement Azul (tile-drafting game) with full game logic, AI (5 skill levels),
  spritesheet rendering, and animated wall-tiling/scoring
- Add Inês-flavored tutorial text and 96×96 tile spritesheet
- Register Azul in gamesRegistry, main.js, GameRoomScene, OpponentSelectScene,
  and PreloadScene
- Add tutorial videos for Blokus and Chinese Checkers
- Update Blokus and Chinese Checkers registry entries with hasTutorial: true
- Add Klaxon (mecha) tutorial for Blokus and Kage (samurai) tutorial for
  Chinese Checkers
- Fix TutorialModal close-button click fallthrough with transient shield overlay
2026-06-29 20:49:48 -06:00
Brian Fertig b24ca7f31f feat: add tutorial videos and rewrite Risk/Spire Climb tutorials
- Add tutorial videos for Risk and Spire Climb
- Rewrite Risk tutorial with new narrator (Nadia, 4th Temporal Expeditionary Corps)
- Add new Spire Climb tutorial (narrator: automaton DV-8-2303)
- Mark Spire Climb as having a tutorial in games registry
2026-06-28 23:37:07 -06:00
Brian Fertig 52c78ae86a Major Port 2026-06-28 19:27:29 -06:00