Skip to content

flungloaf/boardgame.io

 
 

Repository files navigation

boardgame.io

npm version Build Status Coveralls Gitter

Full Documentation: link

Write simple functions that describe how the game state changes when a particular move is made. This is automatically converted into a working game complete with online multiplayer features, all without requiring you to write a single line of networking or database handling code.

Features

  • State Management: Game state is managed seamlessly across clients, server and storage automatically.
  • Cross-platform Multiplayer: All clients (Web / Android / iOS) are kept in sync in realtime.
  • Automatic AI: MCTS-based bots with options to customize.
  • Game Phases: with different game rules (including custom turn orders) per phase.
  • 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).
  • View-layer Agnostic: Vanilla JS client with bindings for React / React Native.
  • Component Toolkit: Components for hex grids, cards, tokens.
  • Extendable: Subsystems (storage, networking etc.) can be replaced with custom implementations.

Usage

Installation

$ npm install --save boardgame.io

Running examples in this repository

$ npm install
$ npm start

Changelog

See changelog.

New in v0.29.0

Plugin API that allows creating custom interfaces that target specific game genres.

Contributing

See the contributing guidelines. Also take a look at the roadmap to find things that you could contribute to.

License

MIT

About

Open Source Game Engine for Turn-Based Games

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 93.9%
  • Python 2.8%
  • CSS 2.7%
  • Other 0.6%