boardgame.io README

The project's README from github.com/boardgameio/boardgame.io. As one markdown file: README.md.

boardgame.io

npm version Build Status Coverage Status Gitter

Read the Documentation

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

Usage

Installation

npm install boardgame.io

Documentation

Read our Full Documentation to learn how to use boardgame.io, and join the community on gitter to ask your questions!

Running examples in this repository

npm install
npm start

The examples can be found in the examples folder.

Using VS Code?

This repository is ready to run in a dev container in VS Code. See the contributing guidelines for details.

Changelog

See changelog.

Get involved

We welcome contributions of all kinds! Please take a moment to review our Code of Conduct.

🐛 Found a bug?
Let us know by creating an issue.

❓ Have a question?
Our Gitter channel and GitHub Discussions are good places to start.

⚙️ Interested in fixing a bug or adding a feature?
Check out the contributing guidelines and the project roadmap.

📖 Can we improve our documentation?
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.

License

MIT

boardgame.io (boardgameio/boardgame.io)

Searching Database…

Что это такое?Опенсорсный движок для создания пошаговых игр на JavaScript: вы пишете функции, которые описывают, как каждый ход меняет состояние игры, а движок превращает их в играбельную игру с онлайн-мультиплеером — сетевой код и код хранения писать не нужно.
Так мне писать всю игру с нуля, или он сам отрисовывает поле?Это фреймворк из npm, а не приложение или редактор. Он берёт на себя состояние, ходы, мультиплеер и ботов, а поле вы отрисовываете в любом слое представления — на чистом JS-клиенте или через биндинги React / React Native.
Как его запустить?Установите пакет через npm и пройдите туториал в документации. В самом репозитории в папке examples лежат готовые игры, которые можно запустить, и его можно открыть в dev-контейнере VS Code.
Нужен ли мне Node.js или что-то ещё, установленное заранее?Нужна только среда JavaScript: игры работают в браузере, а сервер мультиплеера — на Node.js. Для контрибуций в сам репозиторий требуется Node >= 22.12 и pnpm >= 10.16.
Есть ли ограничение на то, какие игры он поддерживает?Он создан специально для пошаговых игр — настольных, карточных, стратегий. Динамичные игры в реальном времени в его задачи не входят.
Где на самом деле будет работать моя готовая игра?Везде, где работает JavaScript: в браузере через ванильный клиент или React, а также на iOS и Android через биндинги React Native — состояние игры единообразно синхронизируется между клиентами и сервером.
Могу ли я проверить свои правила, ещё не сделав интерфейс?Да — есть прототипный интерфейс, который позволяет симулировать ходы ещё до отрисовки игры, так что можно сначала довести правила до ума.
Как отлаживать или просматривать идущую партию?Движок ведёт логи игры с путешествием во времени: можно отмотать назад и посмотреть поле в любом более раннем состоянии.
Могу ли я добавить в движок свои абстракции?Да — система плагинов позволяет создавать новые абстракции и расширять поведение движка.
Проект ещё живой?Выглядит здорово: около 12 500 звёзд на GitHub, развивается с 2017 года, в репозитории есть changelog, а также CI и workflow для публикации в npm.
What are similar projects?GDevelop, phaser, flame, luanti, ignite, libgdx, formily, Babylon.js
Size
13.4 MB
Stars
12.5K
Updated
CommitAug 10
Age
8y
Commits · 90 Days