dannief / boardgame.io

State management and more for turn based games.

Home Page:http://boardgame.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

http://boardgame.io/

License:MIT License


Languages

Language:JavaScript 94.7%Language:TypeScript 2.7%Language:CSS 2.6%