設計ゲーム進行とは、第1話、第2話といった舞台において、ゲームスタートからゲームクリアまでの道筋のことを指します。ゲーム進行はGameflowサブレベルが管理します。ゲームプレイ中に謎を解いてカットシーンが始まったり、秘密の部屋に立ち入ったりすると、Gameflowサブレベルが検知してゲームを進行していきます。進行フラグマップ内のゲーム進行フラグはエクセルで作成し、JSONデータで扱います。フラグ変数はGameInstanceが保持しており、サブレベルからはマクロを介してアクセスします。GameInstance内部ではInt型やBool型で管理しますが、サブレベルから扱う際は数値に対応したString型のラベル名で操作します。進行フラグの種類ゲーム進行フラグは、一つのメインフラグと複数のサブフラグから構成されます。メインフラグメインフラグはゲーム本編における、スタートからクリアまでの進行度を表しています。最初のイントロ用カットシーンが始まり、それが終わると基本操作のチュートリアルが始まるといったような大枠の流れを定義します。サブフラグサブフラグは謎解きの合否などの細かなフラグを管理します。このフラグをどのように使用するかはゲームフローの自由です。3つの謎解きを解くとストーリーが進むような場面では、謎解き用の3つのサブフラグを使用し、全て解けたらメインフラグを進める実装になります。先ほどのCUTSCENE_01や、TUTORIAL_01等のメインフラグの値をそれぞれ一つのシーンとみなします。Gameflowサブレベルのレベルブループリントの中で、メインフラグごとにイベントグラフを作成し、Setup/Begin/Play/Endのカスタムイベントを用意します。SetupイベントSetupイベントは、Begin、Play、Endのカスタムイベントをイベントディスパッチャにバインドするだけの処理をします。この実装はどのメインフラグでも共通です。GF_GameFlowTest_FREE_Beginグループの中身BeginイベントBeginイベントは、シーンで必要なサブレベルの読み込みや、プレイヤーの初期設定などの処理を実行します。ロードなどの処理に時間のかかるようなLatentノードもここで実行します。以下はカットシーンサブレベルを再生するの際のBeginイベントの実装です。最後にBeginGameflowFinishedのイベントディスパッチャーを呼ぶ事で準備完了したことをGameflowに伝えます。PlayイベントPlayイベントは、サブレベルの再生開始などの処理を実行します。EndイベントEndイベントは、主に読み込んだサブレベルのアンロード処理を実行します。最後にEndGameflowFinishedのイベントディスパッチャーを呼ぶ事で終了処理が完了したことをGameflowに伝えます。メインフラグの管理Gameflowサブレベルがメインフラグのセットアップや切り替えを管理します。以下の実装はどのGameflowサブレベルでも共通の処理です。ChangeGameFlowイベントメインフラグを切り替えるイベントです。現在実行中のゲーム進行のEndイベントを呼んだ後に、新しいゲーム進行のBeginイベントとPlayイベントを呼び出します。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。