@akashic/akashic-sandbox

Standalone runner for Akashic contents

Usage no npm install needed!

<script type="module">
  import akashicAkashicSandbox from 'https://cdn.skypack.dev/@akashic/akashic-sandbox';
</script>

README

Akashic Sandbox

Akashic Sandboxは、 Akashic Engine を使って作成されたゲームの動作確認ツールです。

インストール

Node.js が必要です。次のコマンドでインストールできます。

npm install -g @akashic/akashic-sandbox

利用方法

akashic-sandbox [-p <port>] [--cascade<cascade-path>] [<path>]

で、 <path> に置かれているAkashicのゲームを起動できます。 出力される案内にしたがって、Webブラウザで http://localhost:3000/game/ を開いてください。

<path> には game.json が存在する必要があります。省略された場合、 <path> はカレントディレクトリ (.) です。 -p オプションを指定すると、サーバのポート番号を変更できます。たとえば -p 3100 とした場合、 Webブラウザで開くURLは http://localhost:3100/game/ になります。

--cascade <cascade-path> を与えると、 path にある game.json に対して <cascade-path> にある game.json がカスケードされます。 --cascade を複数指定した場合、指定した順でカスケードされます。

Akashic Engineの詳細な利用方法については、 公式ページ を参照してください。

Akashic Engine 2.0 を利用したコンテンツの起動方法

game.json に以下の記述を追加すると、対象のゲームを Akashic Engine 2.0 として実行します。

{
..
    "environment": {
        "sandbox-runtime": "2"
    }
}

表示オプション

  • http://localhost:3000/game/?profiler=1 にアクセスすると、プロファイラー表示モードでゲームを実行することができます
  • http://localhost:3000/game/?fit=1 にアクセスすると、画面を最大まで拡大した状態でゲームを実行することができます
  • http://localhost:3000/game/?bg=1 にアクセスすると、バックグラウンドとゲームに色をつけた状態でゲームを実行することができます

デベロッパーメニュー

  • ゲーム画面右上の歯車マークをクリックするとデベロッパーメニューが開きます。
  • http://localhost:3000/game/?devmode=disable にアクセスするとデベロッパーメニューを無効化できます。

設定ファイルの利用

コンテンツの game.json と同じディレクトリに sandbox.config.js を置いた場合、実行時の挙動をカスタマイズできます。

var config = {
    /** ゲーム実行時にeventsの同名メンバーをイベントとして送信します */
    autoSendEventName: "event0",
    /** ゲーム実行時にデベロッパーメニューを開きます */
    showMenu: true,
    /** デベロッパーメニューに登録済みのイベントとして表示します */
    events: {
        event0: [32, null, "9999", {foo: "foo"}, false],
        event1: [32, null, "9999", {var: "var"}, false]
    }
}
module.exports = config;

ビルド方法

akashic-sandbox はTypeScriptで書かれたJSモジュールであるため、ビルドにはNode.jsが必要です。

npm run build にてビルドできます。

npm install
npm run build # src/以下をビルド

内部モジュールの更新方法

akashic-sandbox は、以下の内部モジュールのコードをリポジトリ内に直接保持しています。

  • @akashic/engine-files

また、これらのコードには Akashic Engine v1 系と v2 系が存在します。

akashic-sandbox の開発者がこれらのコードを更新するには次のコマンドを実行してください。

npm run update

内部モジュールの動作確認方法

akashic-sandbox を用いて内部モジュール (とくに engine-files) の動作確認を行いたい場合、以下の手順を行ってください。

  • 別で生成した engine-files のビルド成果物 engineFilesV{version}.js./js/v2/ または ./js/v1 にコピーします。
    • バージョンが異なる場合は ./engine-src/engineFilesVersion.json をビルドした engine-files に合わせてください。

テスト方法

  1. TSLintを使ったLint
  2. Jasmineを使ったユニットテスト

が実行されます。

npm test

ライセンス

本リポジトリは MIT License の元で公開されています。 詳しくは LICENSE をご覧ください。

ただし、画像ファイルおよび音声ファイルは CC BY 2.1 JP の元で公開されています。