A JavaScript engine for creating turn-based games with built-in state management and multiplayer networking.
boardgame.io is a JavaScript engine for creating turn-based games that handles state management and multiplayer networking automatically. It allows developers to define game logic through simple functions, which are then transformed into fully playable games with real-time synchronization across clients and servers. The framework eliminates the need to write networking or storage code, making it easier to build complex multiplayer games.
JavaScript developers building turn-based multiplayer games, including those using React or React Native for frontend interfaces. It's ideal for indie game developers, educators creating interactive learning games, and teams prototyping game mechanics.
Developers choose boardgame.io because it provides a complete, batteries-included solution for multiplayer game state management without requiring low-level networking expertise. Its view-layer agnostic design, built-in AI bots, and time-travel debugging capabilities offer unique advantages over building custom solutions from scratch.
State Management and Multiplayer Networking for Turn-Based Games
Handles game state synchronization across clients, server, and storage automatically, eliminating the need to write networking or storage code as highlighted in the README.
Provides real-time sync and a lobby system for matchmaking, making online play straightforward without custom server implementation.
Automatically generates bots that can play your game, useful for testing and solo play scenarios directly from game logic.
Game logs allow viewing earlier states with time travel capability, aiding in debugging and development without manual state tracking.
Designed solely for turn-based games, so it lacks support for real-time gameplay elements, which the documentation implicitly acknowledges by focusing on moves and phases.
Tied to Node.js for server-side and JavaScript/React for clients, limiting integration with other languages or frameworks without significant workarounds.
While it abstracts networking, deploying and scaling multiplayer servers requires additional configuration, such as setting up WebSocket support and managing infrastructure, which isn't fully automated.
A retro game engine for Python
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
Scalable open-source game backend server: multiplayer, matchmaking, leaderboards, chat, and social features for games.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.