Skip to content

State management and more for turn based games.

License

Notifications You must be signed in to change notification settings

dannief/boardgame.io

 
 

Repository files navigation

boardgame.io

npm version Travis Coveralls Gitter

Full Documentation: link

The goal of this framework is to allow a game author to essentially translate the rules of a game into a series of simple functions that describe how the game state changes when a particular move is made, and the framework takes care of the rest. You will not need to write any networking or backend code.

Features

  • State Management: Game state is managed seamlessly across clients, server and storage automatically.
  • Cross-platform Multiplayer: All clients (Web / Android / iOS) connected to the same game are synced in real time.
  • UI Agnostic: Client API for React, React Native or plain JS.
  • Game Phases: with different game rules (including custom turn orders) per phase.
  • Secret State: Secret information (like the opponent's cards) can be hidden from the client.
  • Prototyping: Debugging interface to simulate moves even before you render the game.
  • Logs: Game logs with the ability to time travel (viewing the board at an earlier state).
  • Component Toolkit: Components for hex grids, cards, tokens (React only at the moment).

Usage

Installation

$ npm install --save boardgame.io

Running examples in this repository

$ npm install
$ npm run examples

Changelog

See changelog.

Contributing

See the contributing guidelines.

Disclaimer

This is not an official Google product.

About

State management and more for turn based games.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 94.7%
  • TypeScript 2.7%
  • CSS 2.6%