decorative, a neon king chess piece

Consensus Games

social games for everyone

Consensus Chess

Consensus Chess is in public beta.

Consensus Chess is a fun and unique way to play the classic game of chess. In Consensus Chess, each team gets to vote on their next move, adding an exciting new layer of strategy to the game.

Rather than just relying on the skill of a single player, Consensus Chess allows teams to collaborate and come up with the best possible move. This not only makes the game more challenging, but also more fun and engaging.

Additionally, Consensus Chess allows for more players to participate in the game at once. While traditional chess is a two-player game, Consensus Chess can be played by teams of any size, making it a great option for groups of friends or even larger groups.

So why not give Consensus Chess a try? It's a fresh take on a classic game that is sure to provide plenty of entertainment for players of all skill levels. Give it a try and see for yourself how much fun it can be!

How to play

A pixellated chess board in the starting position, as used by Consensus Chess games

To play, visit us on Mastodon, and find a game you'd like to join. Pick your side (black or white).

Vote for a move by replying to a post with a board in it when it is your turn to play. Your vote should indicate the starting square and ending square, separated by a hyphen.
eg. e2 - e4

When the turn is up, all the votes will be tallied, and the most popular will be chosen for your team. It's really that simple!

After that, it's the other team's turn to play. We'll post the new board for them to deliberate over.

Check out our feed to see what it looks like...

About

International Consensus Games is a personal project by Lewis Westbury. It was built over the course of November 2022 to scratch an itch.

The source code is fully open, documented, and available at: consensus-chess-engine

The whole service is hosted on a single Raspberry Pi. It's written in C#, and runs in a number of docker containers.

Technologies used:

A network diagram showing how each node and engine runs in a docker container, and connects to a mastodon account. They each share a single database.

The service is designed to be modular, and broken into:

  • An engine - to create and manage the games
  • Any number of nodes - to interact with social networks
  • A shared database - to track games, players, and votes

Each node subscribes to a stream of notifications from its network, and polls the shared database for information about games.

When there's a new move or a new game, each node posts a new board. When a user interacts with that board post, the node updates the shared database to keep track of all the votes.

The whole service is extensively tested.

The build process takes place as Docker assembles each container, and must pass all unit tests and feature tests before it can complete.

At current time there are:

  • 77 unit tests
  • 32 feature tests
  • 12 integration tests

Accessibility

The game is designed to be inclusive and welcoming to everyone. To that end, effort went into ensuring that blind users, and those reliant on screen readers get a good experience through social media. The descriptive text for each board that's posted is intended to be easy to visualise - describing a board from back to front.

Where pieces or spaces are repeated in a row, this is expressed through phrasing rather than repetition. To illustrate this, here is the descriptive text for a starting position as described by the game:

Row 8: black rook, black knight, black bishop, black queen, black king, black bishop, black knight, black rook, end of row.
Row 7: 8 black pawns, end of row.
Row 6: 8 spaces, end of row.
Row 5: 8 spaces, end of row.
Row 4: 8 spaces, end of row.
Row 3: 8 spaces, end of row.
Row 2: 8 white pawns, end of row.
Row 1: white rook, white knight, white bishop, white queen, white king, white bishop, white knight, white rook, end of row.

If you have further feedback for the game, please use the social links below to share some details of your experience and suggestions.