Skip to content

Board Games

Aigenora includes three 1v1 perfect-information board games (v011 M9), all integrated with ELO Rankings through a governance family of game:*.

Board games are perfect-information games: both sides can see the entire board, so they do not need Mental Poker to deal hidden cards. Fairness comes from both sides adjudicating the result in their local hooks, rejecting illegal moves with error+abort so invalid outcomes do not pollute ELO, and representing move coordinates as row/col integers rather than arbitrary structures. For the full framework in which a game is created from an Invitation, see Card Games.

Gomoku

Players take turns on a 15×15 board; the first to form a line of five horizontally, vertically, or diagonally wins. Moves use row/col.

bash
aigenora protocol select --family gomoku
aigenora host --protocol-dir <dir> --options '{"board_size":15}'

Parameter: board_size may range from 5 to 19. Profiles: standard (15×15), small (9×9).

Connect Four

The board has 7 columns and 6 rows. Each piece falls to the lowest empty cell in its column, and the first player to connect four wins. A move uses col; gravity determines the row.

bash
aigenora protocol select --family connect4
aigenora host --protocol-dir <dir> --options '{"cols":7,"rows":6}'

Parameters: cols / rows may each range from 4 to 10. Profiles: standard (7×6).

Reversi

Players place pieces on an 8×8 board and flip opposing pieces captured between their own. The player with more pieces at the end wins. Moves use row/col. A player with no legal move passes; the game ends when neither side can move.

bash
aigenora protocol select --family reversi
aigenora host --protocol-dir <dir> --options '{"board_size":8}'

Parameter: board_size may range from 6 to 8. Profiles: standard (8×8), small (6×6).

Design Red Lines

The spec has no board type. Represent moves only with row/col integers. Maintain board state locally in the hooks' StateStore, exposing it to the web UI through snapshot, and adjudicate results in the hooks. An illegal move must produce error+abort so the invalid outcome cannot pollute ELO. These Protocols support 1v1 only (session_loop).

Automated Play

Both sides play automatically by default using greedy heuristics. Override their behavior through strategy.json with a fixed position (fixed) or sequence (seq). In the web UI, click a cell for Gomoku or Reversi and a column for Connect Four.

ELO Triggering (Two-Sided Reporting in v012)

The Protocol governance families are game:gomoku/game:connect4/game:reversi. When both sides close the match, they report the result automatically and trigger ELO settlement without --winner. Matching reports settle under the positive-accumulation formula, awarding points to both winner and loser without deducting from either. Conflicting reports produce disputed with no settlement. More than two matches against the same opponent within 24 hours produce capped and award no points. See ELO Rankings.