分岐する物語は、変数の意味を誰も説明できなくなると問題を抱えます。恋愛ルートではプレイヤーが交わした約束を記憶し、ルートマップには到達できるシーン、選択肢が利用できる理由、各イベントが何を変えるのかを示す必要があります。
特定の判断やイベントには名前を付けたフラグを使い、値が実際に累積するルールにはカウンターを使いましょう。シナリオと並行して、小規模な状態仕様、ルートマップ、テストマトリクスを作成します。この手法はRen'Py、Twine、そしてInkのような組み込みのナラティブシステムに適用できます。
物語に必要な事実に名前を付ける
後のシーンで記憶しておく必要がある判断やイベントを列挙しましょう。フラグには事実に基づく名前を付けます。studio_plan_agreedなら、何が起きたのかがわかります。relationship_scoreを使う場合は、何を測る値なのか、それぞれの増減が何を意味するのかを正確に記録します。シーンを編集する人なら誰でも、そのルールに従えるようにしましょう。
信頼、惹かれる度合い、知識、ルート選択の確定状況がそれぞれ独立して変化しうる場合は、別々に管理しましょう。1つの数値に4つの意味を持たせると、後の条件について考えることが難しくなります。他の事実から導かれる値を明示し、保存済みの状態から計算します。同期がずれるおそれのある別の値として保存しないようにしましょう。
遷移と条件を定義する
各シーンについて、開始条件、選択肢、状態の変化、終了後の移動先を記録しましょう。マップ、シナリオ、テストが同じ場所を参照できるように、各シーンに安定した識別子を付けます。互いに排他的なルート条件を明記し、想定外の状態に備えたフォールバックを用意しましょう。
シーンを見ることとイベントを完了することは、別々の操作として扱いましょう。同じパッセージを再訪しても、同じ報酬を再び付与しないようにします。ロールバックや履歴の移動で選択を取り消せる場合は、その選択とともに取り消す状態の変化を定義してください。そうしないと、台詞と保存された事実が食い違うことがあります。
分岐のコストを管理する
短い分岐で選択を受け止め、共通シーンが物語に役立つ場合は再び合流させましょう。選択の結果は、台詞、利用できる活動、エンディングの条件に引き継ぎます。共通シーンでも、プレイヤーが誰に恋愛的なアプローチをしたのかを記憶できます。意味のある反応を示すために、専用の場所を用意する必要はありません。
すべての分岐で、固有の文章とアセットのための予算を確保しましょう。差分が必要な箇所では、衣装、表情、ローカライズの追加作業も含めます。可能な限り、独立したシステムは独立したままに保ちましょう。すべての選択をすべてのシーンに結び付けると、制作作業とテストマトリクスの両方が急速に膨らみます。
判断をわかりやすくする
長期的な結果は不確かでも、プレイヤーが自分は何をしようとしているのかを理解できるように選択肢を書きましょう。選択の直後には、それに合った反応を返します。シーン内にそのように解釈する理由が示されていないのに、隠れた数値ルールによって愛情のこもった台詞が拒絶に変わるようなことがあってはいけません。
設計上必要な箇所では、内容や進行ペースを調整する機能を提供し、進行にどう影響するかを説明しましょう。親密なシーンの演出をスキップした場合でも、必要な状態の変化は適用する必要があります。プレイヤーがスキップしたかったシーンを再びプレイせずに、利用できる調整機能でエンディングに到達できるかをテストしましょう。
境界と代表的な経路をテストする
重要なエンディングをすべて、排他的なルート条件をすべて、そして各しきい値の直下、ちょうどその値、直上の値をテストしましょう。新規ゲーム、繰り返しの訪問、選択の前後に作成したセーブデータ、代表的な古い状態からの更新を含めます。これらのケースでは、通常の経路が機能していてもルートが破綻しうる箇所を調べられます。
自動チェックを使って、状態の遷移と到達不能なシーンの識別子を調べましょう。物語の連続性やキャラクターらしい語り口は、人による確認も行います。あらゆる組み合わせを追いかけるのではなく、的を絞ったマトリクスでルールを網羅し、ルートの不具合を修正するたびに回帰テストのケースを追加しましょう。
制作中も状態をわかりやすく保つ
公開されているインターフェースを変更せずに、関連するフラグと現在のシーンの識別子を確認できる開発者向け表示を用意しましょう。それを使って、テスターが報告した不具合を再現します。デバッグ用ショートカットを意図的にサポートする場合を除き、最終配布版には含めないようにしましょう。
シナリオを編集するたびに、ルートマップとテストを更新しましょう。他の制作参加者も、シーンがどのように利用可能になり、保存された状態がなぜその結果を生むのかを説明できる必要があります。説明できるのが自分だけなら、そのルートにはもっと明確なドキュメントが必要です。
重要な決定事項
- 各変数に、物語上の明確な意味を1つ定義しましょう。
- イベントの完了は、シーンの表示とは別に記録しましょう。
- エンディング、しきい値の境界、再訪、ロールバックをテストしましょう。
- シナリオとともにルートマップとテストを更新しましょう。
ガイドのファイル
ルートマップ ↓ルートのテストマトリクス ↓外部のモデル関連コミュニティやコンテンツ公開サイトには、露骨な表現を含むコンテンツが掲載されている場合があります。出典へのリンクは新しいタブで開きます。このガイドでは、リンク先のプレビューを読み込みません。