Commit Graph

11 Commits

Author SHA1 Message Date
Brian Fertig 1e153b34ef **Fix: Increase Monopoly popup dialog height and padding**
Adjust the popup dialog dimensions in MonopolyGame.js to improve content visibility and spacing. Increases maximum height from 620px to 800px and bottom padding from 20px to 48px.
2026-06-16 18:10:26 -06:00
Brian Fertig fc7ae2c53d feat: add themed tutorials and overhaul Monopoly AI trading
- Add new tutorials for Labyrinth and Mexican Train with unique character voices
- Redesign Battleship and Mahjong tutorials with narrative themes and assets
- Implement AI-initiated trade proposals and counter-offer system in Monopoly
- Add AI-to-AI trading with rate-limited proposals and mutual benefit validation
- Enable tutorial flags for Labyrinth and Mexican Train in game registry
- Add new character assets and tutorial videos
2026-06-13 19:30:12 -06:00
Brian Fertig 684f5ed7b2 feat(monopoly): add complete trade system with AI evaluation and drag-and-drop UI
- Add trade logic to MonopolyLogic: isTradeable, validateTrade, applyTrade
  - Properties with buildings (or in groups with buildings) cannot be traded
  - Validates ownership, cash affordability, and player activity
  - Handles two-way cash flows and property ownership transfers

- Add AI trade evaluation to MonopolyAI: evaluateTrade
  - Scores offers based on cash delta, asset value, group control changes
  - Detects set completions and control crossings (past 50%)
  - Vets breaking up completed monopolies
  - Applies skill-based thresholds and randomness
  - Returns acceptance decision with human-readable reason

- Add trade modal UI to MonopolyGame
  - Three-column layout: your properties, give/get lanes, opponent properties
  - Drag-and-drop property cards into trade lanes
  - Cash steppers for adding/requesting cash
  - Opponent tabs to switch counterparty
  - Hover cards for detailed property info
  - Visual feedback: pulsing hints when offer is empty, accept/reject messages
  - "Initiate Trade" button in end-turn menu
2026-06-08 16:43:54 -06:00
Brian Fertig ae2f3246dc feat: enhance Monopoly dice animations and player panel layout
- Add realistic dice throw animation with quadratic bezier arcs
- Implement perspective scaling and spin during dice animation
- Add impact bounce effect when dice land
- Randomize dice landing positions and angles for natural appearance
- Increase player portrait size and adjust panel layout for better readability
- Improve cash display font size and spacing in player panels
- Track dice positions and angles for consistent rendering between turns
2026-06-07 21:14:11 -06:00
Brian Fertig c8dc0a05e0 feat(monopoly): add sound effects for payment and pawn animations
- Play sfx-monopoly-pay when rent/payment animation begins
- Play sfx-piece-click when pawn/token hop animation completes
- Load new audio asset and register in SFX constants
2026-06-07 17:17:22 -06:00
Brian Fertig 359740f4f7 feat(monopoly): add card deck visuals and rent/card animations
- Draw Chance and Community Chest card decks on the board center
- Add animated card draw with flip effect from deck position
- Add animated rent payment with money flying between players
- Integrate new Monopoly sound effects (purchase, expense, paid)
- Extract applyRent() to MonopolyLogic for cleaner state handling
- Update monopoly-cards spritesheet with new card art
2026-06-07 16:32:12 -06:00
Brian Fertig 0317d1c14f Fix video overlay 2026-06-07 15:23:53 -06:00
Brian Fertig e5c1021322 Purchase property routine 2026-06-07 15:15:16 -06:00
Brian Fertig 77e334e192 fix: outward pawn hop animation on bottom row
- Track `fromSpace` before incrementing position for arc direction logic
- Flip Bézier control point for spaces 20–29 so pawns hop outward (away from center)
- Fixes awkward inward arc that made pieces clip through the board on the bottom edge
2026-06-07 14:52:07 -06:00
Brian Fertig ec3ae78570 Purchase Shade on properties 2026-06-07 14:41:54 -06:00
Brian Fertig 10ac18ab6e feat: add Monopoly board game
- Add complete Monopoly implementation with pure state engine (MonopolyLogic.js),
  static data (MonopolyData.js), AI (MonopolyAI.js), and Phaser scene (MonopolyGame.js)
- Implement full game rules: property buying, auctions, building houses/hotels,
  mortgages, jail, chance/community chest cards, rent calculation, bankruptcy
- Add 5-level AI with configurable greed, blunder rate, and thinking delay
- Add spritesheet loading for monopoly pawns and cards with graceful fallbacks
- Register game in registry, main.js, and game room scene dispatcher
- Add spritesheet creation guide (sprites.md) and update game-icons.png
2026-06-07 14:37:06 -06:00