本文へスキップ

開発者

オープンなSDKの上にツール、Mod、サービスを作る人、またはゲーム自体を拡張する人

SDKはMITライセンスで公開されており、最終的な信頼できる情報源はそのソースコードです

まずSDK、次にインストールから読み始めてください

ドキュメント

  • 起動引数を使うと、画面、レベル、プレイをすぐに開けます。スイッチはゲームの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に報告し、コードの変更はプルリクエストとして同じリポジトリに送ってください。コントリビューター向けのルールも、同じリポジトリのコードの隣にあります