Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/boardgameio/boardgame.io
State Management and Multiplayer Networking for Turn-Based Games
https://github.com/boardgameio/boardgame.io
boardgames game-engine javascript multiplayer react react-native tabletop turn-based
Last synced: 7 days ago
JSON representation
State Management and Multiplayer Networking for Turn-Based Games
- Host: GitHub
- URL: https://github.com/boardgameio/boardgame.io
- Owner: boardgameio
- License: mit
- Created: 2017-11-21T23:47:35.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2024-02-08T04:36:52.000Z (9 months ago)
- Last Synced: 2024-05-21T19:38:58.859Z (6 months ago)
- Topics: boardgames, game-engine, javascript, multiplayer, react, react-native, tabletop, turn-based
- Language: TypeScript
- Homepage: https://boardgame.io
- Size: 13 MB
- Stars: 9,891
- Watchers: 144
- Forks: 702
- Open Issues: 99
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Roadmap: roadmap.md
- Authors: AUTHORS
Awesome Lists containing this project
- awesome-starred-test - boardgameio/boardgame.io - State Management and Multiplayer Networking for Turn-Based Games (TypeScript)
- awesome - boardgameio/boardgame.io - State Management and Multiplayer Networking for Turn-Based Games (TypeScript)
- awesome-list - boardgame.io - Based Games | boardgameio | 8776 | (TypeScript)
- StarryDivineSky - boardgameio/boardgame.io
- awesome - boardgameio/boardgame.io - State Management and Multiplayer Networking for Turn-Based Games (TypeScript)
- awesome - boardgameio/boardgame.io - State Management and Multiplayer Networking for Turn-Based Games (TypeScript)
README
The project is not being actively developed at the moment, but is pretty stable and used in several games. If you would like to become a maintainer, please open an issue to discuss.
boardgame.io is an engine for creating turn-based games using JavaScript.Write simple functions that describe how the game state changes
when a particular move is made. This is automatically converted
into a playable game complete with online multiplayer
features, all without requiring you to write a single line of
networking or storage code.### Features
- **State Management**: Game state is managed seamlessly across clients, server and storage automatically.
- **Multiplayer**: Game state is kept in sync in realtime and across platforms.
- **AI**: Automatically generated bots that can play your game.
- **Game Phases**: with different game rules and turn orders per phase.
- **Lobby**: Player matchmaking and game creation.
- **Prototyping**: Interface to simulate moves even before you render the game.
- **Extendable**: Plugin system that allows creating new abstractions.
- **View-layer Agnostic**: Use the vanilla JS client or the bindings for React / React Native.
- **Logs**: Game logs with the ability to time travel (viewing the board at an earlier state).## Usage
### Installation
```sh
npm install boardgame.io
```### Documentation
Read our [Full Documentation](https://boardgame.io/documentation/) to learn how to
use boardgame.io, and join the [community on gitter](https://gitter.im/boardgame-io/General)
to ask your questions!### Running examples in this repository
```sh
npm install
npm start
```The examples can be found in the [examples](examples/) folder.
#### Using VS Code?
This repository is ready to run in a dev container in VS Code. See [the contributing guidelines for details](CONTRIBUTING.md).
## Changelog
See [changelog](docs/documentation/CHANGELOG.md).
## Get involved
We welcome contributions of all kinds!
Please take a moment to review our [Code of Conduct](CODE_OF_CONDUCT.md).π **Found a bug?**
Let us know by [creating an issue][new-issue].β **Have a question?**
Our [Gitter channel][gitter] and [GitHub Discussions][discussions]
are good places to start.βοΈ **Interested in fixing a [bug][bugs] or adding a [feature][features]?**
Check out the [contributing guidelines](CONTRIBUTING.md)
and the [project roadmap](roadmap.md).π **Can we improve [our documentation][docs]?**
Pull requests even for small changes can be helpful. Each page in the
docs can be edited by clicking the βEdit on GitHubβ link at the top right.[new-issue]: https://github.com/boardgameio/boardgame.io/issues/new/choose
[gitter]: https://gitter.im/boardgame-io/General
[discussions]: https://github.com/boardgameio/boardgame.io/discussions
[bugs]: https://github.com/boardgameio/boardgame.io/issues?q=is%3Aissue+is%3Aopen+label%3Abug
[features]: https://github.com/boardgameio/boardgame.io/issues?q=is%3Aissue+is%3Aopen+label%3Afeature
[docs]: https://boardgame.io/documentation/
[sponsors]: https://github.com/sponsors/boardgameio
[collective]: https://opencollective.com/boardgameio#support## License
[MIT](LICENSE)