Git Product home page Git Product logo

boardgame.io's Introduction

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 game are synced in real time.
  • AI Framework: Create bots that are highly customizable and debuggable.
  • 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).
  • UI Agnostic: Client API for React, React Native or plain JS.
  • Component Toolkit: Components for hex grids, cards, tokens.

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. Also take a look at the roadmap to find things that you could contribute to.

Disclaimer

This is not an official Google product. It's a Googler's hobby project that's supported by contributions from the community.

boardgame.io's People

Contributors

aidenbenner avatar ajimi avatar amitport avatar bennygenel avatar chrisheninger avatar darthfiddler avatar janosimas avatar jb-1980 avatar jchristman avatar jeis2497052 avatar jorbascrumps avatar jstacoder avatar leeallen337 avatar micksatana avatar mrmaxmeier avatar namiwang avatar nicolodavis avatar petetnt avatar philihp avatar plankp avatar robertsandu avatar rzulian avatar saeidalidadi avatar scally avatar sladwig avatar snpkx avatar stefan-hanke avatar tacohej avatar torifat avatar vdfdev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.