Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Game Development
  3. boardgame.io

boardgame.io

MITTypeScript

A JavaScript engine for creating turn-based games with built-in state management and multiplayer networking.

Visit WebsiteGitHubGitHub
12.3k stars819 forks0 contributors

What is boardgame.io?

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.

Target Audience

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.

Value Proposition

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.

Overview

State Management and Multiplayer Networking for Turn-Based Games

Use Cases

Best For

  • Creating browser-based multiplayer board games
  • Prototyping turn-based game mechanics quickly
  • Building educational games with real-time collaboration
  • Developing cross-platform games using React Native
  • Implementing complex game phases with different rules
  • Adding AI opponents to turn-based games

Not Ideal For

  • Real-time action games requiring physics simulations or continuous updates
  • Projects that are single-player only with no need for networking or multiplayer features
  • Teams using non-JavaScript stacks like Python or C# for core game development
  • Games with highly complex 3D graphics or advanced rendering needs beyond basic UI

Pros & Cons

Pros

Automatic State Management

Handles game state synchronization across clients, server, and storage automatically, eliminating the need to write networking or storage code as highlighted in the README.

Built-in Multiplayer Networking

Provides real-time sync and a lobby system for matchmaking, making online play straightforward without custom server implementation.

AI Bot Generation

Automatically generates bots that can play your game, useful for testing and solo play scenarios directly from game logic.

Time Travel Debugging

Game logs allow viewing earlier states with time travel capability, aiding in debugging and development without manual state tracking.

Cons

Turn-based Limitation

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.

JavaScript Ecosystem Dependency

Tied to Node.js for server-side and JavaScript/React for clients, limiting integration with other languages or frameworks without significant workarounds.

Setup Complexity for Production

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.

Frequently Asked Questions

Quick Stats

Stars12,315
Forks819
Contributors0
Open Issues106
Last commit1 year ago
CreatedSince 2017

Tags

#multiplayer#javascript-framework#turn-based#real-time-sync#game-development#react-native#javascript#react#game-engine#state-management

Built With

R
React
J
JavaScript
R
React Native

Links & Resources

Website

Included in

Game Development16.4k
Auto-fetched 1 day ago

Related Projects

PyxelPyxel

A retro game engine for Python

Stars17,417
Forks925
Last commit1 day ago
bgfxbgfx

Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

Stars16,966
Forks2,084
Last commit1 day ago
EnTTEnTT

Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more

Stars12,570
Forks1,084
Last commit2 days ago
NakamaNakama

Scalable open-source game backend server: multiplayer, matchmaking, leaderboards, chat, and social features for games.

Stars12,507
Forks1,400
Last commit7 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub