@akashic/pdi-game-runner
v3.26.4
Published
Akashic PDI implementation for game-runner
Keywords
Readme
pdi-game-runner
pdi-game-runner は game-runner 上で game-driver を実行するためのプラットフォーム依存層 (PDI) の実装です。 本リポジトリのソースコードをビルドすることで、akashic-engine と game-driver を統合したゲーム起動用スクリプトを生成することができます。
ブランチとバージョン
Akashic Engine のバージョンに合わせてブランチを分けています。
V2, V1 系も保守継続しており、サーバ起因の障害が発生した時のバックポート先として使用します。
ビルド方法
npm install
npm run build実行方法
build ディレクトリ以下を game-runner の script_dir で設定しているディレクトリにコピーして、game-runner から実行します。
デプロイ
main ブランチへの push を契機に自動で npm publish が実行されます。publish が失敗しないよう、main に push する前に必ず package.json の version を更新してください。
publish 用ワークフローは次のファイルで管理しています: .github/workflows/release.yml
CI
Pull Request の作成・更新を契機に CI が起動します。Approve を得る前に CI が通るかどうかを確認してください。
CI のワークフローは次のファイルで管理しています: .github/workflows/ci.yml
pdi-game-runner のデバッグ方法
「デバッグ用のエンジン」「デバッグ用のエントリポイント」「デバッグ用のゲーム」を Akashic System の所定ディレクトリに配置してデバッグします。
[!NOTE] 既存のゲームを壊さないように、既存のエンジンやエントリポイントは上書きせず新たに用意することをおすすめします。
エンジンとエントリポイントとは
- エンジン: クライアント側で Akashic のゲームが動くためのファイル群。akashic-engine, game-driver といった共通の物に加えてブラウザ依存層のコードが含まれます
- エントリポイント: サーバ側 (game-runner) で Akashic のゲームが動くためのファイル群。共通の物に加えて pdi-game-runner を始めとした V8 依存層のコードが含まれます
エントリポイントの作り方
基本的には npm run build で生成される build ディレクトリ下を配置しますが、ここで不足するファイルと不要なファイルが存在します。
不足ファイル: bundle_info.txt
bundle_info.txt は以下の内容でテキストファイルを作成します。
engine-files: v2.1.46
pdi-game-runner: 2.14.0- engine-files は akashic-runtime の dependencies から、
@akashic/engine-filesのバージョンを指定します - pdi-game-runner のバージョンは自身が手元のコードで指定している package.json のバージョンを指定します
不要ファイル: *.map
デバッグ成果物の js をデバッグするときの支援用ファイルです。なくても問題ないため、生成されていた場合は消します。
以上で調整した build 下を Akashic System の所定ディレクトリ下に配置します。
ライセンス
本リポジトリは MIT License の元で公開されています。 詳しくは LICENSE をご覧ください。
ただし、画像ファイルは CC BY 2.1 JP の元で公開されています。
サードパーティ製のライセンスについては THIRD-PARTY-NOTICES をご覧ください。
