https://github.com/boardgameio/boardgame.io Skip to content Navigation Menu Toggle navigation Sign in * Product + GitHub Copilot Write better code with AI + Security Find and fix vulnerabilities + Actions Automate any workflow + Codespaces Instant dev environments + Issues Plan and track work + Code Review Manage code changes + Discussions Collaborate outside of code + Code Search Find more, search less Explore + All features + Documentation + GitHub Skills + Blog * Solutions By company size + Enterprises + Small and medium teams + Startups By use case + DevSecOps + DevOps + CI/CD + View all use cases By industry + Healthcare + Financial services + Manufacturing + Government + View all industries View all solutions * Resources Topics + AI + DevOps + Security + Software Development + View all Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners + Executive Insights * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} boardgameio / boardgame.io Public * Notifications You must be signed in to change notification settings * Fork 714 * Star 10.7k State Management and Multiplayer Networking for Turn-Based Games boardgame.io License MIT license 10.7k stars 714 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 98 * Pull requests 14 * Discussions * Actions * Security * Insights Additional navigation options * Code * Issues * Pull requests * Discussions * Actions * Security * Insights boardgameio/boardgame.io main BranchesTags [ ] Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 1,855 Commits .devcontainer .devcontainer .github .github benchmark benchmark docs docs examples examples integration integration packages packages python python scripts scripts src src .empty_module.js .empty_module.js .eslintignore .eslintignore .eslintrc .eslintrc .gitignore .gitignore .lintstagedrc .lintstagedrc .prettierignore .prettierignore .prettierrc .prettierrc AUTHORS AUTHORS CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md CONTRIBUTING.md CONTRIBUTING.md LICENSE LICENSE README.md README.md babel.config.js babel.config.js package-lock.json package-lock.json package.json package.json roadmap.md roadmap.md rollup.config.js rollup.config.js subpackages.js subpackages.js tsconfig.json tsconfig.json View all files Repository files navigation * README * Code of conduct * MIT license boardgame.io npm version Build Status Coverage Status Gitter Read the Documentation boardgame.io is an engine for creating turn-based games using JavaScript. Write simple functions that describe how the game state changes when a particular move is made. This is automatically converted into a playable game complete with online multiplayer features, all without requiring you to write a single line of networking or storage code. Features * State Management: Game state is managed seamlessly across clients, server and storage automatically. * Multiplayer: Game state is kept in sync in realtime and across platforms. * AI: Automatically generated bots that can play your game. * Game Phases: with different game rules and turn orders per phase. * Lobby: Player matchmaking and game creation. * Prototyping: Interface to simulate moves even before you render the game. * Extendable: Plugin system that allows creating new abstractions. * View-layer Agnostic: Use the vanilla JS client or the bindings for React / React Native. * Logs: Game logs with the ability to time travel (viewing the board at an earlier state). Usage Installation npm install boardgame.io Documentation Read our Full Documentation to learn how to use boardgame.io, and join the community on gitter to ask your questions! Running examples in this repository npm install npm start The examples can be found in the examples folder. Using VS Code? This repository is ready to run in a dev container in VS Code. See the contributing guidelines for details. Changelog See changelog. Get involved We welcome contributions of all kinds! Please take a moment to review our Code of Conduct. Found a bug? Let us know by creating an issue. Have a question? Our Gitter channel and GitHub Discussions are good places to start. [?][?] Interested in fixing a bug or adding a feature? Check out the contributing guidelines and the project roadmap. Can we improve our documentation? Pull requests even for small changes can be helpful. Each page in the docs can be edited by clicking the "Edit on GitHub" link at the top right. License MIT About State Management and Multiplayer Networking for Turn-Based Games boardgame.io Topics react javascript react-native game-engine multiplayer turn-based tabletop boardgames Resources Readme License MIT license Code of conduct Code of conduct Activity Custom properties Stars 10.7k stars Watchers 149 watching Forks 714 forks Report repository Used by 1.3k * @ponza-art * @YannisFouzi * @bary249 * @jonasgroendahl * @antonklock * @ComputationalPotato * @Luominai * @acunniffe + 1,323 Contributors 154 * * * * * * * * * * * * * * + 140 contributors Languages * TypeScript 90.1% * Svelte 4.5% * JavaScript 3.3% * Python 1.6% * CSS 0.2% * HTML 0.2% * Dockerfile 0.1% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.