Adding a Minigame Plugin
This guide describes the expected workflow for introducing a new minigame to TableFlux.
#1. Create Plugin-Owned Folders
Add code, scenes, and tests under plugin paths:
scripts/gdscript/Plugins/Minigames/<MiniGameName>/scenes/ui/plugins/minigames/<mini-game-name>/test/scripts/gdscript/Plugins/Minigames/<MiniGameName>/
#2. Define Networking Responsibilities
Document and implement:
- Host authority boundaries.
- Player input replication strategy.
- Late-join synchronization behavior.
- Score and match-state synchronization.
Use the existing minigame networking patterns rather than introducing ad hoc sync channels.
#3. Register Discovery Metadata
Ensure the minigame appears in discovery and launch surfaces by adding the required metadata and registration hooks.
#4. Add Regression Coverage
At minimum, include tests for:
- Start and end lifecycle events.
- Authority handoff or reconnection behavior.
- Late join consistency.
- Result/score replication.
#5. Validate Locally
Run focused GDUnit coverage for the new minigame plugin, then execute the batched runner for broader confidence.
#6. Update Docs
Add or update markdown in this folder so website docs stay aligned with runtime behavior.
