ドキュメント
起動引数を使うと、画面、レベル、プレイをすぐに開けます。スイッチはゲームの1回の起動だけを変えます。引数は実行ファイルの後ろに書きます:ショートカット、ターミナル、Steamの起動オプションのいずれかです
SDKは、Bullet HeroのレベルフォーマットをオープンなC#ライブラリにしたものです。ゲームはこれを通じてレベルを読み書きしており、独自のプログラムからも同じことができます
SDKはnuget.orgのBulletHero.SDKパッケージとして入手するか、ソースからビルドします。Unityにはgit submoduleとして組み込み、ConsoleSmokeサンプルで手元のレベルが読めることを確認できます
レベルはフォルダーです:中身はlevel.jsonまたはlevel.blob、メタデータはmetadata.jsonまたはmetadata.blob、それにカバーとメディアファイル。バックアップ、記録、プレイヤーの設定はデバイスに残ります
.blobファイルは.jsonと同じデータをバイナリで持ちます:24バイトのヘッダーの後にデータが続きます。キャッシュではなく、対等なレベルフォーマットです
レベルはフォルダー、tar.gz、zipとしてエクスポートでき、パスワードもかけられます:AES-256のzipかOpenPGPです。受け取ったファイルのフォーマットは、SDKが名前ではなく先頭のバイトで判定します
バージョンは3つあります:ゲームのgv、SDKのsv、モデルフォーマットの世代を表すmgです。SDKはmgを見て、古いファイルはマイグレーションし、ビルドより新しい世代のファイルは読み込みを拒否します
検証はValidationFacadeを通じて自分で呼び出すもので、保存や読み込みには組み込まれていません。問題はError、Warning、Adviceに分かれ、ValidateAndFixは直せるものを修正します
サービスは、受け付けるレベルの条件をPublishProfileファイルで記述します:ライセンス、リソースの入手元、必須フィールド、サイズの上限。サービスを追加するにはファイルを書けばよく、アナライザーを編集する必要はありません
ジェネレーターは、SDKの基底クラスBaseLevelGenerator、BaseContentGenerator、BaseModifierのいずれかを継承した1つのクラスです。フォーム、見積もり、元に戻す処理は、ホストが契約から自動で作ります
SDKの問題はbullet-hero/sdkリポジトリのIssueに報告し、コードの変更はプルリクエストとして同じリポジトリに送ってください。コントリビューター向けのルールも、同じリポジトリのコードの隣にあります