フローチャート
フローチャート
フローチャートは、ゲームのシナリオの節目(ノード)を図として表示する機能です。プレイヤーがノードを通過するとそのノードが解放され、以降はフローチャートで解放済みのノードを確認したり、ノードをクリックしてその時点の進行状況に戻ったりできます。
関連情報
フローチャートは v4.6.2 から利用できます。
フローチャートを有効にする
有効にするには、次の 2 つが必要です。
config.txtにEnable_flowchart:true;を追加します。gameフォルダに、フローチャートを記述したflowchart.jsonファイルを置きます。
有効にすると、ゲームメニューと下部のコントロールバーに「フローチャート」の入口が表示されます。
ヒント
グラフィカルエディターを使う場合は、エディターのフローチャート画面で視覚的に編集できるため、flowchart.json を手書きする必要はありません。
flowchart.json の形式
以下は、メインストーリーと 1 つの個別ルートを含む例です。
{
"flowcharts": [
{
"id": "main",
"name": "メインストーリー",
"type": "main",
"nodes": [
{ "id": "start", "type": "root", "position": { "x": 0, "y": 0 }, "data": { "label": "プロローグ", "sceneName": "start.txt", "isRoot": true } },
{ "id": "ch1", "type": "chapter", "position": { "x": 0, "y": 120 }, "data": { "label": "第一章", "sceneName": "chapter1.txt" } }
],
"edges": [
{ "id": "e-start-ch1", "source": "start", "target": "ch1" }
]
},
{
"id": "route_a",
"name": "キャラA ルート",
"type": "character",
"nodes": [
{ "id": "a1", "type": "chapter", "position": { "x": 0, "y": 0 }, "data": { "label": "キャラA ルート 第一章", "sceneName": "route_a/chapter1.txt" } }
],
"edges": []
}
]
}
flowcharts の各項目が 1 枚のフローチャートで、フローチャート画面ではタブで切り替えます。
| フィールド | 説明 |
|---|---|
id | フローチャートの一意な識別子 |
name | タブに表示される名前 |
type | main(メインストーリー)または character(個別ルート)。デフォルトは character です。id が main のフローチャートは常にメインストーリーとして扱われます。メインストーリーは常に表示され、個別ルートはネタバレを防ぐため、いずれかのノードが解放されるまで表示されません |
nodes | ノードの一覧 |
edges | 接続線の一覧 |
各ノードのフィールド:
| フィールド | 説明 |
|---|---|
id | このフローチャート内でのノードの一意な識別子 |
data.label | ノードに表示される名前 |
data.sceneName | ノードに対応するシーンファイル。scene フォルダからの相対パスで、例えば chapter1.txt や route_a/chapter1.txt |
data.isRoot | フローチャートの起点とするかどうか |
type | ノードの種類。root、chapter、branch、ending、event など。エディターで使用されます |
position | エディター上でのノードの位置。ゲーム内のフローチャートは接続線に基づいて自動的に配置され、この位置は使用されません |
各接続線のフィールド:id は接続線の一意な識別子、source と target はそれぞれ始点と終点のノードの id です。
ノードの解放と巻き戻し
ノードに対応するシーンに入り、そのシーンの最初の台詞が表示されたときにノードが解放され、その時点の進行状況が記録されます。複数のフローチャートのノードが同じシーンに対応している場合は、同時に解放されます。解放済みのノードを再び通過すると、記録される進行状況は最新のものに更新されます。
フローチャートで解放済みのノードをクリックすると、記録された進行状況に戻ってゲームを続けられます。未解放のノードはクリックできません。
「オプション → システム」ですべてのデータを削除すると、フローチャートの解放状況も削除されます。
未解放ノードの表示
config.txt の Flowchart_Locked_Node_Visibility で、未解放ノードの表示方法を設定します。
| 値 | 効果 |
|---|---|
node | デフォルト。ノードを表示しますが、名前は表示しません |
all | ノードと名前を表示します |
none | 未解放のノードを完全に非表示にします |
Enable_flowchart:true;
Flowchart_Locked_Node_Visibility:none;