• v0.1.0 95381c2a56

    v0.1.0 - Matchmaking stability improvements, deterministic TicTacToe state sync, and cleanup

    aetos released this 2025-11-28 08:45:35 +00:00 | 46 commits to main since this release

    This 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 changed flag 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