The classic strategy game to play against a friend online.
This project implements the classic Reversi game as a multiplayer version. If you like, you can also add additional spectators to the game.
Reversi: Reversi is a two-player strategy game played on an 8×8 board with discs that are black on one side and white on the other.
Setup: In the original version, the game begins with four discs placed in the center of the board in a square pattern: two white discs and two black discs arranged diagonally. The alternative version places them side by side, and in the XOT version, a couple of moves are executed to offer more variety in the middle stages of the game.
Gameplay: Players take turns placing discs on the board with their color facing up. Black typically moves first. A legal move must flank at least one opponent's disc between the newly placed disc and another disc of the player's color (horizontally, vertically, or diagonally). All flanked opponent discs are then flipped to the current player's color.
Passing: If a player has no legal moves available, they must pass their turn. If both players have no legal moves, the game ends.
Winning: The game ends when the board is full, or neither player can make a legal move. The player with the most discs of their color on the board wins. Ties are possible.
Key Strategy: Corner positions are highly valuable as they cannot be flipped. Players aim to control the board while limiting their opponent's options.
Initiating Multi-Player: Find yourself a playing partner and agree upon a room name. The person who creates the room determines who starts the game. The host can also determine whether to play the traditional X setup, the alternative side-by-side configuration, or one of the Xot configurations. The second person who enters the room will be the playing partner. If desired, additional spectators may be allowed.
XOT - Configurations: These configurations are special start configurations that offer more variability by having the game already started with some pre-played moves. These moves are obtained from the website of Matthias Berg.
Starting the Game: At the beginning, the game host will be presented with a choice screen where you select the color and, therefore decides who starts the game.
Making Moves: During the game, you can already see the crosses on the board to see which options are available to you. You place a disc by clicking on the field.
Passing: If a player has to pass, the old player automatically continues.
Game End: When the game ends, the winner is shown at the top of the screen. After a few second you restart with the color selection process.
The game is built entirely in Rust using the Macroquad framework and compiled to WebAssembly. The network part uses dedicated technology: