-
v0.1.0 - Matchmaking stability improvements, deterministic TicTacToe state sync, and cleanup
released this
2025-11-28 08:45:35 +00:00 | 46 commits to main since this releaseThis release introduces several major improvements to matchmaking, match state
synchronization, logging visibility, and simulation utilities.Key changes:
• Added full mode-based matchmaking support (
mode: classic | blitz) through local.yml- Enabled matchmaker.string properties
- Added interval_ms for faster matchmaking cycles
- Raised max_tickets for bulk test scenarios
• Improved match initialization flow
- Auto-broadcast initial match state as soon as two players join
- Ensures clients immediately render empty board and turn indicator
• Improved match loop robustness and debugging
- Added detailed logs for every move, turn check, rejection reason, and board update
- Added explicit validation for out-of-bounds, duplicate moves, and wrong turn
- Added
changedflag to avoid unnecessary broadcasts - Enhanced win/draw/forfeit handling with unified broadcast
• Added immediate broadcast on player leave to show "forfeit" to the other client
• Updated matchmaking simulation script (match_making_flow.py)
- Forced all players to use “classic” mode to simplify testing
- Reduced simulation to 1 user for easier verification
• Cleaned up .gitignore and docker-compose
- Removed old v2/v3 compose format
- Added _BKP safety rule
These changes collectively stabilize TicTacToe multiplayer flow, improve state
synchronization reliability, and make internal debugging much easier.Downloads