$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 がタイルデータです。
| アドレス | 項目 | 内容 |
|---|---|---|
| $00 | MagicStart | 固定値 0xA5(ヘッダ識別) |
| $01 | RoomId | 自分自身の部屋番号 |
| $02〜$07 | 隣接部屋番号 | 左・右・上・下・手前・奥(未接続は 0xFF) |
| $08〜$0B | スクロール種別 | 左・右・上・下(0:fixed / 1:free / 2:loop) |
| $0C | Z | Z座標(階層) |
| $0D | Flags | 演出・状態フラグ(bit単位) |
| $0F | MagicEnd | 固定値 0x5A(ヘッダ終端) |
.def(ステージ定義データ)
ノード(配置座標)、タイル属性、エンティティ、イベントなど、ゲームロジックに関わる 情報を JSON 形式で保持します。人間可読で拡張性の高いデータです。
{
"version": "1.0",
"stage": {},
"nodes": [],
"tileAttributes": {},
"entities": [],
"events": [],
"triggers": [],
"scripts": []
}
設計方針
.def が唯一の正規データであり、.bin は常に .def から
再生成可能な派生データとして扱います。