Repolode
boardgameio

boardgameio/boardgame.io

状態管理とオンラインマルチプレイを自動化する、ターン制ゲーム構築用のJavaScriptエンジン。

スター
12,486
フォーク
835
未解決の Issue
64
最終コミット
7 日前

これは何?

boardgame.ioでは、プレイヤーが手を打ったときにゲームの状態がどう変化するかを関数で定義し、ターン制ゲームを作成できます。フレームワークがその定義をプレイ可能なゲームにし、クライアントとサーバー間の状態同期やストレージも処理するため、ネットワーク処理を自分で実装する必要はありません。

フェーズごとに異なるルールや手番順を設定できるほか、マッチメイキングやゲーム作成に使えるロビー機能、ゲームをプレイできる自動生成ボットを備えています。また、ゲームUIを描画する前に手をシミュレーションでき、ゲームログから過去の状態の盤面を確認できます。

クライアントは特定のビュー層に依存せず、vanilla JavaScriptのほか、ReactやReact Native向けのバインディングを利用できます。TypeScriptで書かれており、npmパッケージboardgame.ioとして配布されています。

主な機能

  • 01クライアントとサーバー間でゲーム状態をリアルタイムに自動同期します。
  • 02フェーズごとに異なるルールや手番順を設定できます。
  • 03プレイヤーのマッチメイキングやゲーム作成に使えるロビー機能を内蔵しています。
  • 04自動生成ボットがゲームをプレイできます。
  • 05ゲームログを使って過去の盤面状態を確認できます。
  • 06エンジンを拡張するプラグインシステムを備え、ReactとReact Native向けのバインディングを提供します。

ユースケース

  • ネットワーク処理を実装せずに、オンラインマルチプレイ対応のボードゲームやカードゲームを作る。
  • UIを構築する前にゲームルールを試作し、手をシミュレーションする。
  • 自動生成ボットを使って、ターン制ゲームにAI対戦相手を追加する。
  • WebアプリやReact Nativeアプリ向けのターン制ゲームを作る。

クイックスタート

  1. 1

    npm からパッケージをインストール

    npm install boardgame.io
  2. 2

    ゲーム開発を始めるには、ドキュメント全文を読む

収録されている特集

トピック

よくある質問

boardgame.io とは?
状態管理とオンラインマルチプレイを自動化する、ターン制ゲーム構築用のJavaScriptエンジン。 boardgame.ioでは、プレイヤーが手を打ったときにゲームの状態がどう変化するかを関数で定義し、ターン制ゲームを作成できます。フレームワークがその定義をプレイ可能なゲームにし、クライアントとサーバー間の状態同期やストレージも処理するため、ネットワーク処理を自分で実装する必要はありません。
boardgame.io は無料で使えますか?ライセンスは?
boardgame.io は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
boardgame.io は今もメンテナンスされていますか?
活発にメンテナンス中。boardgame.io の最終コミットは 2026年10月30日 です。
boardgame.io は何に使えますか?
ネットワーク処理を実装せずに、オンラインマルチプレイ対応のボードゲームやカードゲームを作る。 UIを構築する前にゲームルールを試作し、手をシミュレーションする。 自動生成ボットを使って、ターン制ゲームにAI対戦相手を追加する。 WebアプリやReact Nativeアプリ向けのターン制ゲームを作る。
boardgame.io のインストール方法は?
npm からパッケージをインストール: npm install boardgame.io ゲーム開発を始めるには、ドキュメント全文を読む
boardgame.io はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/boardgameio/boardgame.io

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト