「ノベルゲームの分岐を作りたい」
「選択肢とフラグ管理の方法を知りたい」
選択肢による分岐システムの設計と実装方法を解説します。
✨ この記事でわかること
- 選択肢システムの実装方法
- フラグ管理の仕組み
- ルート設計の考え方
- マルチエンディング実装の方法
- Unityでの高度な分岐実装

分岐は、フラグ管理が重要です。まずは基本的な実装方法から理解しましょう。
\あなたにピッタリのゲーム制作講座を見つけよう!/
おすすめ第1位
Unity ノベルゲームの
作り方講座
かまいたちの夜・ダンガンロンパ風のノベルゲームをゼロから開発。会話システム・シナリオ分岐・セーブ機能まで、初心者から上級者まで対応の丁寧な解説で確実に完成できます。
初心者にもおすすめ
Unity ノンフィールドRPG
+スレスパ風JRPG講座
Unity6対応・スマホ化対応の三拍子。トレンドのデッキ構築型システムを最速で実装できます。初心者が最初に学ぶ一本として最適です。
AI開発力が身につく
経営シミュレーション×
農場ゲームの作り方講座
Unity6対応・農場×経営の2ジャンル融合。AIエージェントを独自実装できる唯一の講座。未経験でも完成まで到達できる丁寧な解説が魅力です。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。
選択肢システムの実装方法

選択肢システムは、ノベルゲームにおける分岐の起点となる重要な仕組みです。
プレイヤーの選択を正しく取得し、その結果を物語やフラグ管理へとつなげることで、ストーリーに意味のある変化を与えられます。
この章では、Unityを使って基本的な選択肢システムを実装する方法を解説します。
具体的には、選択肢ボタンの表示、クリック時の処理、選択結果の受け取りまでを最小構成で実装し、分岐処理につなげる流れを確認します。

複雑な演出やデータ管理は行わず、まずは「選択肢が分岐として機能する状態」を作ることを目的とします。
所要時間は約2時間を想定しています。
基本的な選択肢の実装
Unityでの実装例:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
using UnityEngine; using UnityEngine.UI; using TMPro; public class ChoiceManager : MonoBehaviour { public Button choiceButton1; public Button choiceButton2; public TextMeshProUGUI choiceText1; public TextMeshProUGUI choiceText2; void Start() { choiceButton1.onClick.AddListener(() => OnChoiceSelected(1)); choiceButton2.onClick.AddListener(() => OnChoiceSelected(2)); } void OnChoiceSelected(int choiceIndex) { Debug.Log("選択肢" + choiceIndex + "が選ばれました"); // ここに分岐処理を追加 if (choiceIndex == 1) { // 選択肢1の処理 } else if (choiceIndex == 2) { // 選択肢2の処理 } } } |
コードの説明:
choiceButton1/2: 選択肢ボタンへの参照OnChoiceSelected(): ボタンがクリックされたときの処理choiceIndex: どの選択肢が選ばれたかを示す番号
この手順で、基本的な選択肢システムが完成します。
フラグ管理の仕組み

フラグ管理は、ノベルゲームにおいてプレイヤーの選択や行動を記録するための仕組みです。
選択肢による分岐やエンディング判定は、すべてフラグをもとに制御されます。
選択肢システムで取得した「選択結果」を、その場限りで終わらせず、後の展開に反映させるためにはフラグ管理が欠かせません。
この章では、Unity(C#)を使って、bool値や数値を用いた基本的なフラグ管理の実装方法を解説します。

まずはシンプルな構成で、分岐処理に使える状態を作ることを目的とします。
所要時間は約2時間を想定しています。
フラグの定義
フラグを定義して、状態を管理します。
例:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
public class FlagManager : MonoBehaviour { // フラグの定義 private bool flagA = false; private bool flagB = false; private int affection = 0; // フラグの設定 public void SetFlagA(bool value) { flagA = value; } // フラグの取得 public bool GetFlagA() { return flagA; } // 好感度の増減 public void AddAffection(int value) { affection += value; } } |
フラグに応じた分岐
フラグに応じて、分岐を制御します。
例:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
void OnChoiceSelected(int choiceIndex) { if (choiceIndex == 1) { flagManager.SetFlagA(true); flagManager.AddAffection(10); // ルートAに進む } else if (choiceIndex == 2) { flagManager.SetFlagA(false); flagManager.AddAffection(5); // ルートBに進む } // フラグに応じた分岐 if (flagManager.GetFlagA()) { // ルートAの処理 } else { // ルートBの処理 } } |
この方法で、フラグ管理ができます。
ルート設計の考え方

ルート設計は、ノベルゲーム全体の構造を決める設計工程です。
選択肢やフラグをどれだけ正しく実装しても、ルート設計が曖昧なままでは、物語の分岐は整理できません。
特に、分岐の数が増えるノベルゲームでは、「どのタイミングで分岐させるのか」「どのルートに収束させるのか」を事前に考えておくことが重要です。
この章ではコードを書く前に、分岐の配置・数・構造といったルート設計の基本的な考え方を整理します。

後のフラグ管理やマルチエンディング実装をスムーズに進めるための土台づくりが目的です。
所要時間は約2時間を想定しています。
分岐のタイミング
分岐は、重要な場面で設定します。
例:
- キャラクターとの出会い
- 重要な選択を迫られる場面
- エンディング直前
分岐の数
分岐の数は、適度に設定します。
例:
- 短編:2〜3個の分岐
- 中編:5〜7個の分岐
- 長編:10個以上の分岐
ルートの構造
- 単一分岐:選択肢1 → ルートA、選択肢2 → ルートB
- 複合分岐:複数の選択肢の組み合わせで分岐
- 条件分岐:フラグに応じて分岐
この方法で、ルートを設計できます。
マルチエンディング実装の方法

ここまでで、選択肢の実装、フラグ管理、ルート設計ができました。
いよいよ、それらの仕組みをひとつの「結末」へと収束させるマルチエンディングの実装に進みます。
マルチエンディングは、ノベルゲームにおいてプレイヤーの行動が物語の結末に反映される瞬間です。
これまでに積み上げてきた選択やフラグが、どのエンディングに到達するかを決定します。
この章では、フラグや数値条件をもとに、複数のエンディングを判定・切り替える基本的な実装方法をUnity(C#)で解説します。

「ちゃんと分岐するノベルゲームが完成した」と実感できる、ひとつの到達点になるはずです。
所要時間は約2時間を想定しています。
エンディングの種類
✅ エンディングの種類
- ハッピーエンド:主人公が幸せになる
- バッドエンド:主人公が不幸になる
- トゥルーエンド:真実が明らかになる
- キャラクターエンド:特定のキャラクターとのエンディング
エンディングの条件
エンディングは、フラグに応じて決まります。
例:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
void CheckEnding() { if (flagManager.GetAffection() >= 100 && flagManager.GetFlagA()) { // ハッピーエンド ShowEnding("HappyEnd"); } else if (flagManager.GetAffection() < 50) { // バッドエンド ShowEnding("BadEnd"); } else if (flagManager.GetAllFlags()) { // トゥルーエンド ShowEnding("TrueEnd"); } } |
この方法で、マルチエンディングを実装できます。
Unityでの高度な分岐実装

ここから先は、ノベルゲーム制作に必須ではない発展的な内容です。
基本的な分岐やマルチエンディングが実装できていれば、作品としては十分に成立します。
ただし、分岐数が増える中長編作品や、後からルートや条件を追加したくなる場合には、分岐管理をデータとして扱う設計が役立ちます。
この章では、UnityのScriptableObjectを使って、分岐情報をデータ化し、拡張しやすく管理する方法を紹介します。
「まずは作品を完成させたい」という方は、読み飛ばしても問題ありません。
- 「将来もっと大規模なノベルゲームを作りたい」
- 「設計も含めてUnityをしっかり学びたい」
という場合に、参考にしてください。
ScriptableObjectを使った分岐管理
ScriptableObjectを使って、分岐データを管理します。
例:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[CreateAssetMenu(fileName = "BranchData", menuName = "NovelGame/BranchData")] public class BranchData : ScriptableObject { public int branchID; public string branchName; public List conditions; public int nextDialogueID; } [System.Serializable] public class Condition { public string flagName; public bool requiredValue; } |
この方法で、高度な分岐を実装できます。
本格的にUnityを学びたい方は、Unity入門の森で実践的なスキルを身につけましょう。
よくある質問

ノベルゲームを作りたいなら!Unity入門の森の講座でオリジナルゲーム開発に挑戦しよう
Unity入門の森には、ノベルゲームをはじめ幅広いジャンルのゲームを作れる講座が揃っています。作りたいゲームや身につけたいスキルに合わせて選んでみてください。
Unity ノベルゲームの作り方講座【全14回!会話システムからシナリオ分岐まで他ジャンルにも応用できるUIスキルが身につく!】

- かまいたちの夜・ダンガンロンパ・逆転裁判風のゲームをゼロから開発
- テキスト文字送り・選択肢・シナリオ分岐・セーブまで完全実装
- Googleスプレッドシートを使ったシナリオ管理システムを習得
- 会話システム・UI遷移は他ジャンルのゲームにも応用可能
- 初心者から上級者まで対応の丁寧な解説とソースコード付き
Unity ノベルゲームの作り方講座は、かまいたちの夜・ひぐらしのなく頃に・ダンガンロンパ・逆転裁判のようなテキスト主体のゲームを作るための講座です。
会話システム・シナリオ分岐・セーブ機能はもちろん、UniTaskを用いた非同期処理やGoogleスプレッドシートを使ったシナリオ管理など、中・上級者のスキルアップにも直結する実践的な開発テクニックが身につきます。
ノベルゲームに限らず、会話システムやUI遷移はあらゆるジャンルに使える汎用スキル。ゲーム開発の引き出しを大きく広げたい人におすすめの一本です。
会話システム・シナリオ分岐・セーブまで完全実装
ノベルゲームで身につくUIスキルは全ジャンルの武器になる
→ Unity ノベルゲームの作り方講座を見てみる
汎用性の高いUIスキルを今すぐ習得して開発の幅を広げよう!
Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!デッキ構築×JRPGをスマホ向けに作れる!】

- Unity6対応・スマホ化対応で最新環境のゲーム開発が学べる
- Slay the Spire風のデッキ構築システム×JRPGの組み合わせを実装
- 初心者でも取り組みやすい丁寧な解説構成
- ノンフィールドRPGとデッキ構築JRPGの2つを合わせて学ぶのがおすすめ
Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座は、今もっともトレンドのデッキ構築型ゲームシステムをJRPGと組み合わせて実装する方法を学べる講座です。
Unity6対応・スマホ化対応の最新カリキュラムで、デッキ構築の核となるシステムをしっかり習得できます。ノベルゲームで培ったUI・シナリオ設計の知識とも相性がよく、ゲーム開発の幅がさらに広がります。
「Slay the Spireみたいなゲームを自分でも作ってみたい!」という人の最初の一歩として最適な講座です。
Unity6対応・スマホ化対応の最新カリキュラム
トレンドのデッキ構築×JRPGを最速で実装しよう
→ Slay the Spire風デッキ構築JRPG講座を見てみる
スマホ対応の最新環境で、ゲーム開発の第一歩を踏み出そう!
経営シミュレーション×農場ゲームの作り方講座【Unity6対応!AIエージェント実装まで学べる唯一の講座!】

- 未経験でも完成まで到達できる丁寧な解説
- 農場×経営の2ジャンルを同時に作れる
- 賢く自律行動するAIエージェントを独自実装できる
- 完成後も街づくりゲームに応用可能な高い拡張性
- Unity6対応のモダンな開発手法が身につく
経営シミュレーション×農場ゲームの作り方講座は、シムシティ・牧場物語・どうぶつの森のようなゲームを自分で作れるようになる講座です。
農作物の育成・収穫・販売システムはもちろん、NavMeshを使ったお客さんAIの来店・購入・帰宅の自律行動や、ルールベースAIによる従業員エージェントの実装まで、本格的なゲームAI開発が学べます。
ノベルゲームのシナリオ設計とは異なる「AI・ゲームロジック設計」のスキルを身につけて、開発できるゲームの幅をさらに広げましょう。
Unity6対応・AIエージェント実装まで学べる
農場も経営もコレ1本で完成させよう
→ 経営シミュレーション×農場ゲーム講座を見てみる
応用・拡張性は無限大!自律行動するAIを実装して一歩先のゲーム開発へ!
まとめ

選択肢による分岐システムの設計と実装方法を解説しました。
分岐は、フラグ管理が重要です。
基本的な分岐だけでも、体験が大きく変わります。
もっと高度な分岐を実装したい場合は、Unityがおすすめです。
✅ 今日から始める3ステップ
- STEP1:選択肢システムを実装(所要2時間)
- STEP2:フラグ管理を実装(所要2時間)
- STEP3:マルチエンディングを実装(所要2時間)
本格的にUnityを学びたい方は、Unity入門の森で実践的なスキルを身につけましょう。
あなたのペースで、少しずつ進めていけば大丈夫です。
あなたのオリジナルゲーム、今年こそ完成させませんか?
RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。
実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。





コメント