Game configuration
| Where | What it holds | How you change it |
|---|---|---|
| Game metadata | name, description, validPlayerCounts, estimatedPlayTime, complexity, howToPlayVideoUrl, defaultLocale, translations |
update_game |
/manifest.json |
mood, voice, rendersMatchEnd |
update_game |
/theme.json |
Fonts, colors, semantic tokens and backgrounds (Game theme format) | write_file |
| Game logic | The first position and the rules of play | The major's source files |
get_game answers the metadata, mood and voice. update_game's schema lists the values each field accepts. Each change is pending until commit.
defaultLocale and translations apply to framework 3 games only.
rendersMatchEnd
rendersMatchEnd: true tells Boardweaver that the game's React client draws the end of the match, so Boardweaver hides its own end panel. How it is set depends on the major:
| Major | rendersMatchEnd |
|---|---|
| 1 | Has no effect. Boardweaver draws the board and the end panel. |
| 2 | Set it with update_game once /src/frontend.tsx draws its own end screen, with the controls to continue or leave. |
| 3 | Each commit sets it from the client: true when /src/frontend.tsx exports GameOver. A value you set is replaced. |
{
"mood": "A quiet coastal village",
"voice": "Direct and welcoming",
"rendersMatchEnd": false
}