-
v1.1.0 — Generic Match Engine, Multi-Game Framework, Battleship Support, and Full Repository Refactor
All checks were successfulcontinuous-integration/drone/tag Build is passingreleased this
2025-12-01 12:58:13 +00:00 | 0 commits to main since this releaseThis is a major architecture release that replaces the single-game Tic-Tac-Toe backend
with a fully generic, multi-game, extensible authoritative game engine.Key Changes:
• Introduced GENERIC MATCH ENGINE
- New “generic” match handler that delegates flow to per-game GameRules.
- Supports arbitrary board sizes, player counts, and game modes.
- Unified OpCodes, turn-handling, validation, and state broadcasting.
• Multi-Game Support
- Registry-based system allowing infinite games.
- Tic-Tac-Toe migrated to GameRules interface.
- NEW GAME: Full Battleship authoritative implementation.
- Central GameConfig defining board sizes and player counts.
• Matchmaking Rewrite (Generic)
- MatchmakerMatched now validates both
gameandmode. - Automatically spawns “generic” matches with correct ruleset.
- Strong error feedback for missing properties.
• Player Model & Match State Overhaul
- Unified Player struct: { user_id, username, index, metadata }
- Unified MatchState with dynamic Board (rows × cols).
- Metadata used for symbols (Tic-Tac-Toe) and boards (Battleship).
• New Folder Structure
- /plugins/games → Rules for each game.
- /plugins/modules → Generic match + matchmaking.
- /plugins/structs → Shared Board / Player / MatchState models.
- Removed legacy match.go & matchmaking.go.
• Battleship Implementation
- Authoritative ship board + shot board logic.
- Hit/miss, sinking detection, win condition.
- Server-side board encoding/decoding.
- Full turn-based enforcement.
• Leaderboards Upgrade
- Auto-creates multiple game-mode leaderboards:
Downloads