本文へスキップ
ドキュメント
このページの内容

レベルとは

レベルはディスク上の普通のフォルダーです:レベルファイル、メタデータ、レベルが使うすべてのもの。Jsonで作り、フォルダーのコピーとして渡します。インストールするものはありません

フォルダーの中身

フォルダーはデータベースの1行でも、暗号化されたアーカイブでもありません

メインのファイルは2つです:

  • level.json:レベル本体。オブジェクト、キーフレーム、テーマ、リソース
  • metadata.json:表紙にあたる情報。名前、説明、作者、タグ、長さ

その隣に、レベルが使うすべてのものが置かれます:音楽トラック、画像、フォント。ゲームにはテクスチャが1枚も同梱されていません。レベルで見えるものはすべて、組み込みのシェイプか、このフォルダーのファイルです

表紙の情報が別ファイルになっているのは、1000個のレベルを一覧表示するのに1000個のレベルを開かずに済むようにするためです

ファイルの完全な一覧:レベルフォルダーとバックアップ

JsonかBlobか

ファイルのフォーマットはレベルの作成時に選びます:

フォーマット特徴
Jsonプレーンテキスト。どのエディターでも開けて、手で直せる
Blobバイナリファイル。読み込みは数十倍速く、サイズは3分の1だが、目では読めない
推奨

レベルはJsonで作り、完成したらBlobに変換することをおすすめします。レベルが開けなくなっても、Jsonなら読んで手で直せます。Blobはほぼ修復できません:1バイト壊れただけで整合性チェックに通らなくなります

レベルの渡し方

レベルはコピーで受け渡しします。フォルダーをzipにして、送り、展開して、開くだけです。インストールも登録もインポートも必要ありません

PCではいつでもこの方法が使えます。スマートフォンでは、システムがアクセスを許す範囲で使えます

ここから次のことが言えます:

  • レベルのバックアップはフォルダーのコピーです
  • フォルダー内のファイル名は変えないでください:リソースは名前で探されます
  • エディターで開けないJsonのレベルでも、目で読むことはできます。生データタブに表示されるのは、すでに開いているレベルだけです
注意

レベルをゲームで開いている間は、level.jsonをテキストエディターで編集しないでください。エディターから保存すると、手で加えた変更は何の通知もなく上書きされます

フォーマットはオープン

レベルのデータモデルは、MITライセンスの別リポジトリにあります:bullet-hero/sdk。そのため、レベルはゲームなしでも読めますし、このフォーマット用の独自ツールも作れます。フォーマットの欠陥も外から見えます

フォーマットの詳細:SDK

次へ:はじめてのレベル:手順、レベルフォルダーとバックアップ