Sequence game

Multiplayer online version of the board game

The idea


One of my favourite games to play is Sequence - a game where players try to create sequences of 5 tokens to win. In the game, two eyed Jack cards are wild cards and one eyed jacks allow players to remove other players tokens. Other than that, the rules are fairly simple. Unlike some of my other favourite board games (ie. Codenames), Sequence was not one that I could find an online version for. During the pandemic I decided to create my own online version.


Game State


In order to keep track of components in the game such as the players & their teams, the board & tokens occupied, sequences so far, whose turn it is, etc we have a Game state. For my Sequence application, the Game state is simply a JavaScript object that keeps track of everything in the game. Whenever actions in the game occur (ex. players take turns, new player joins, etc) the Game state is updated. The game server is responsible for updating the Game state and emiting it back to the clients. The only responsibility on the client side is to render the UI components based on the game state.


Game Lobby


One necessary feature for a functional game was to have a game lobby where players can choose to either create a new game or join an existing game. To keep track of the states of each game room I set up a node.js application where the game server's role is to keep track of the game states & apply moves that update the state. The clients and server interact solely through web socket events.


Highlighting cards on board


One of the challenges with playing the board game Sequence is that it can be diffiult to locate your cards on the board (the board is 10 x 10 cards). To mitigate this, I added a toggle feature for the cards so your cards would be highlighted on the board (assuming there's no tokens already on the card).


Sequence highlighting


Sequences are highlighted in black to make it easier for players to spot.


Play the game


Click to play the game!