Upload a game ZIP that contains a game.json manifest. The uploader extracts it into /games/library/ and updates /games/registry.json.
my-game.zip game.json index.html game.js style.css thumbnail.png sounds/ images/
{
"id": "my-game",
"title": "My Game",
"description": "Short description.",
"category": "STEM Arcade",
"club": "both",
"difficulty": ["easy", "medium", "hard"],
"startFile": "index.html",
"tags": ["coding", "robots"],
"coinsMultiplier": 1,
"xpMultiplier": 1,
"teamScore": true
}Inside uploaded games, include the bridge:
<script src="../../assets/clubfaceoff-game-bridge.js"></script>
<script>
CFOGameBridge.complete({ score: 1250, completed: true, levelsCleared: 3 });
</script>