回答:
システムの組み立て方法によって異なります。単純な分岐の場合は、いくつかのフラグを備えた線形ストーリーとしてそれを処理して、現在のパスを正確に伝えます(または、この方法を視覚化する場合は、各ノードがストーリー選択ポイントであり、現在のストーリー内の場所は、ノードの1つへのポインターです)。互いに交差できる複数のパスを含むやや複雑なストーリーは、同じ手法を使用して有向非循環グラフとしてモデル化できます。
プレイヤーが一度に複数のクエストを持つ典型的な「オープンワールド」クエストシステムのように、複数のストーリーアークが同時に進行している場合はどうでしょうか。クエストが互いに相互作用しない場合は、それぞれを個別の線形または分岐ミニツリーとして扱うことができます。彼らがお互いを修正した場合はどうなりますか?私の優先オプションは次のとおりです。
各ノードがクエストを表す修正された有向グラフ。ここには、ノード間に2つの基本的な種類の矢印があります。「アクティブ化」と「非アクティブ化」です。このようにして、クエストを完了すると新しいクエストが開かれたり、意味をなさない古いクエストが無効になったりする場合があります(たとえば、各戦闘の異なる側面を支援するための一連のクエストが与えられた場合)派fact、1つのクエストを完了すると、プレイヤーに一方の側を選択させ、それに固執させるようにしたい場合、他のクエストが自動的に非表示になる場合があります)。各ノードに現在のステータスを保存することもできます:アクティブ(現在プレイヤーに表示されている)、非アクティブ(プレイヤーに表示されていない)、完了(プレイヤーがクエストを終了した)、失敗(プレイヤーがクエストを見た)しかし、たとえば、別の競合するクエストの完了などにより、後で無効化されました。
面白いサイドノート:クエスト/ストーリーラインで機能するすべてのシステムは、NPCとの個別の会話ツリーでも機能し、その逆も同様です。したがって、ゲームに適した会話システムを見つけた場合は、ストーリーシステムでも同様に変更する価値があるかどうかを自問してください。
Neverwinter Nightsツールセットには、プロットウィザードと呼ばれるこの問題を解決する興味深い試みが含まれています。最初はツールセットに同梱されていなかったため、数年前にモジュール開発を行った場合は、もう一度試してみる必要があるかもしれません。RPGプロットを設計するために設計されたさまざまなコンポーネントについて説明する長いチュートリアルがあります。
基本的な要約は、「プロットウィザード」を使用すると、ストーリーラインとクエストを上から下へ構築できることです。たとえば、「10個を取得する」クエストに関連するスクリプトを生成するように指示できます。これにより、フェデックスになり、カスタムスクリプトになります。ウィザードは、プロットスクリプトに関連付けられた一連のリンクされたコンポーネントを生成し、それらをワールドに配置できるようにします。これにより、スクリプト接続を切断することなく、世界中のNPCまたは敵を簡単に移動できます。
私はこのテクニックを使用する他の商用ゲームを知りません(ほとんどはスクリプトでチェックされる1トンの変数を使用しているようです)が、これは完全なRPGやアドベンチャーを構築するための合理的なベースであると常に感じていますスタイルのゲーム。
正式な文法は、プロットを記述するための不可欠な方法です。
たとえば、Vladimir Yakovlevich Proppは、「民話の形態」の典型的な民話の文法を提案しました。