boardgame.io
State Management and Multiplayer Networking for Turn-Based Games
The project implements a lightweight but powerful engine for creating turn-based games (board games, card games, turn-based strategy, etc.) in JavaScript. With boardgame.io, you define the game logic in pure functions: you describe how the game state changes when a move is made, and the framework handles all the rest (state management, synchronization, storage, multiplayer, etc.). This abstraction lets developers focus on the rules and mechanics rather than on networking, persistence or UI plumbing. It supports both local games and online multiplayer across clients, and can be used with different view layers — e.g., vanilla JS or a UI framework like React or React Native. It also offers tools to help with prototyping, debugging, logging, replaying game states, and even simple AI bots. Because of its simplicity and flexibility, boardgame.io is widely used for rapid prototyping of new game ideas or building full multiplayer board games.