$04 / FILE SPECIFICATION

インターフェースファイル仕様

Ver.1.00

本エディタとゲームアプリの間でやり取りされるファイルの構成と役割について説明します。 詳細な内部スキーマは各設計書(BD-005〜BD-007)を参照してください。

ファイル構成

ファイル拡張子役割
プロジェクトファイル.sseprojエディタ専用のプロジェクト管理データ
ステージファイル.ssestageステージ本体(TileMap・ページ情報等)
マップデータ.binゲーム実行用の描画専用バイナリ
ステージ定義.defゲームロジック定義(ノード配置・属性・イベント等)
タイル画像.png / .bmpタイルパレット画像

データの責務分離

本エディタは「編集用データ」「ゲーム実行用データ」を明確に分離して管理します。

ファイル責務
.sseproj / .ssestageエディタの正規データ(唯一の編集対象)
.binマップ構造の派生データ(常に再生成可能)
.defゲームロジック定義データ

.sseproj(プロジェクトファイル)

複数のステージへの参照(StageFilePath)とプロジェクト全体のブックマーク一覧を保持します。 ステージの実データそのものは保持しません。

Project.sseproj
 └ BaseDirectory
     ├ Stage001.ssestage
     ├ Stage002.ssestage
     └ Stage003.ssestage

.ssestage(ステージファイル)

ステージ単位の TileMap・ページ情報・タグ割り当てなど、編集内容の実データを保持します。

.bin(マップデータ)

描画専用の固定長バイナリデータです。1ページあたり 0x100 byte で構成され、 先頭 16 byte がページヘッダ、残り 240 byte がタイルデータです。

アドレス項目内容
$00MagicStart固定値 0xA5(ヘッダ識別)
$01RoomId自分自身の部屋番号
$02〜$07隣接部屋番号左・右・上・下・手前・奥(未接続は 0xFF)
$08〜$0Bスクロール種別左・右・上・下(0:fixed / 1:free / 2:loop)
$0CZZ座標(階層)
$0DFlags演出・状態フラグ(bit単位)
$0FMagicEnd固定値 0x5A(ヘッダ終端)

.def(ステージ定義データ)

ノード(配置座標)、タイル属性、エンティティ、イベントなど、ゲームロジックに関わる 情報を JSON 形式で保持します。人間可読で拡張性の高いデータです。

{
  "version": "1.0",
  "stage": {},
  "nodes": [],
  "tileAttributes": {},
  "entities": [],
  "events": [],
  "triggers": [],
  "scripts": []
}
設計方針
.def が唯一の正規データであり、.bin は常に .def から 再生成可能な派生データとして扱います。