パーシスタントレベル
Labyrinthでは、各話ごとに舞台が異なります。
- 第0話 水上の駅
- 第1話 学校
- 第2話 屋敷
舞台の中で、さらにロケーションごとに分けられます。
- 第0話 水上の駅
- 駅のホーム
- 第1話 学校
- 教室
- 美術室
- 図書室
- 第2話屋敷
- 一階
- 庭園
- 二階
このロケーションがパーシスタントレベルの単位になり、これをマップと呼びます。
このため、各話の舞台の中はシームレスではありません。ロケーション間を移動する際にはパーシスタントレベルが変更になり、ローディングを挟みます。

サブレベル
サブレベルは、ロケーションの中で機能ごとに切り分けます。
- 第2話 屋敷 一階
- Gameflow
- Environment
- Cutscene
- VFX
- Sound
- …等
- 第2話 屋敷 二階
- Gameflow
- Environment
- Cutscene
- VFX
- Sound
- …等
ロケーションを全て表示してしまうと負荷的に耐えられないような広いシーンでは、さらにロケーションを細かく分割します。この単位を**エリア**と呼びます。
- 第2話 一階
- Gameflow
- Environment エリアA(居間)
- Environment エリアB(台所)
- Environment エリアC(物置)
- Cutscene
- VFX エリアA(居間)
- VFX エリアB(台所)
- VFX エリアC(物置)
エリアに分割するサブレベル、分割されないサブレベル
サブレベルは、Environment(背景)やVFXなど、位置に紐付くものは各エリア単位で用意します。その目的はメモリ使用量削減、作業分担、エラー時の原因特定のためです。
Gameflowサブレベルは、エリアで分割せずにロケーションに一つだけ存在します。これはロケーション全体のゲーム進行を管理するためです。
レベルの命名規則
マップ名 _ サブレベルID _ エリアID _ 通し番号
例)
Classroom _ Gameflow
Classroom _ Env _ Area_A
Classroom _ Env _ Area_B _ 01
Classroom _ Env _ Area_B _ 02
- マップ名 … パーシスタントレベルの名称を記載。
- サブレベルID … 機能ごとにIDで管理。
- エリアID … エリアによって分割する場合は表記。
- 通し番号 … エリアの中でさらに分割する場合は数値で表記。