Skip to content

wangjunsheng/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 browser, server and storage automatically.
  • Prototyping: Debugging interface to simulate moves even before you render the game.
  • Multiplayer: All browsers connected to the same game are synced in real time with no refreshes required.
  • Game Phases: with different game rules (including custom turn orders) per phase.
  • Triggers: Automatic actions when certain game conditions are met.
  • Secret State: Secret information (like the opponent's cards) can be hidden from the client.
  • Logs: Game logs with the ability to time travel (viewing the board at an earlier state).
  • UI toolkit: React components for hex grids, cards, tokens etc.

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 96.4%
  • CSS 3.6%