物語とロールプレイ テンプレートのコア ゲームプレイは、プレイヤーが NPC と行うことができるインタラクションを中心に展開しまう。このインタラクションは、会話の仕掛けと Verse コードを使用することで可能になります。
プレイヤーが The Warrenの人々と話すように指示された後、プレイヤーが話すことができる NPC が複数います。 メイン クエストを開始するには、プレイヤーは DJ ドロイド キャラクターか、カリス (ドリンク カウンターの奥にいるキャラクター) のどちらかに話しかけることができます。
このページでは、このテンプレートで NPC インタラクションがどのように使用されているかについて説明し、各キャラクターの会話の仕掛けがどのように設定されているかを紹介します。 Verse コードの例を含め、各キャラクターの会話をコントロールするために作成された Verse の仕掛けについても説明します。
最後に、このセクションでは、NPC との会話を使用してゲームのストーリーを作成および拡張する方法と、これらの会話が没入感のあるゲーム ワールドのビルドにどのように役立つかの概要を説明します。
NPC との会話を使用する
このテンプレートでは、NPC との会話が中心的な機能です。 以下の目的に使用される会話の例をご覧ください。
プレイヤーに他の NPC とインタラクトするよう指示する。
プレイヤーにクエスト目標を提示する。
勢力の評判やキャラクターの態度といった特定のカスタム統計を増減させる。
以下のセクションでは、会話の仕掛けがどのように設定されているか、各 NPC の会話が示すいくつかの特殊な機能、およびキャラクターの対話を使用してナラティブ デザインとワールド構築を強化する方法に関する一般的なヒントを紹介します。
会話の仕掛けとその使用方法について詳しくは、以下をご覧ください。
DJ ドロイド NPC を作成する
ゲーム内の NPC のほとんどはキャラクターですが、実際には何でも NPC になることができます。 DJ ドロイド NPC (DJ R0-B0) は実際には、ジャンク ドロイド ヘッド アセットであり、その隣に表示されない会話の仕掛けが設定されています。 このアセットは、[Star Wars™ Content (スター・ウォーズ™ コンテンツ)] > [Props (小道具)] > [Outpost Enclave (前哨基地居住区)] のコンテンツ ブラウザで、IcedTea Junk DroidHead C B というアセット名で見つけることができます。 同じフォルダに、WH Keyboard 01 C という名前の丸いキーボードの小道具 (この上にドロイドの頭が乗っています) があります。
DJ ドロイドの会話の仕掛けを設定する
DJ R0-B0 には 7 つの会話の仕掛けがあり、各仕掛けには独自の会話バンク アセットがあります。 これらは、メイン クエストの各段階での DJ R0-B0 のダイアログを表しています。
会話バンク アセットは、プロジェクト フォルダの Dialogue > DJDroid にあります。 会話バンクを右クリックして [Edit (編集)] を選択すると、会話エディタで会話バンクのグラフが開きます。
DJ R0-B0 は、プレイヤーにメイン クエストを提示する NPC です。 このテンプレートには、1 つの主要なクエスト ラインしかありません。 独自の島をビルドする際、自分のデザインのビジョンに合致していれば、より多くの NPC やクエストを含めることができます。
DJ R0-B0 との会話は、クエスト目標を提示し、クエスト目標達成時に報酬を与えるだけでなく、特定の返答はプレイヤーの反乱軍の評判統計と DJ R0-B0 の態度統計も上昇させます。 プレイヤーがクエストの特定の段階に到達すると、スカベンジャー NPC (ヴェックス) へのアクセスもアンロックされます。
仕掛けのオプション
DJ R0-B0 の全ての会話の仕掛けは同じ仕掛けオプションを備えているため、以下の表は全ての仕掛けに適用できます。 以下のオプションがまだ設定されていない場合は、設定してください。 リストにないオプションについては、デフォルト値のままにできます。
オプション | 値 | 説明 |
会話のタイプ | カスタム | 会話にカスタム UI ウィジェットが使用されていることを示します。 |
1 秒当たりの文字数 | 50.0 | テキストが画面に表示される速度。 |
テキストのクロールメッセージをスキップ | スキップ | プレイヤーがクリックしてテキスト クロールをスキップし、全てのテキストをすぐに表示できるボタンに表示されるテキスト。 |
話者の名前 | DJ R0-B0 | プレイヤーが話している NPC の名前。 |
付近で名前を表示 | オン | プレイヤーが話者の近く (約 5 メートル) にいるときに、NPC の名前を画面上に表示します。 |
吹き出しインジケータを表示 | オン | [Indicator Bubble Range (インジケータ吹き出し範囲)] オプションで設定された NPC からの距離内にいるプレイヤーに吹き出しインジケータを表示します。 |
吹き出しインジケータの範囲 | 15.0 メートル | NPC の吹き出しインジケータがプレイヤーに対して表示される範囲 (メートル単位)。 |
会話オプション
詳細パネルの [Conversations (会話)] セクションは、DJ R0-B0 の 7 つの会話の仕掛け全てで同じですが、会話オプション自体は仕掛けごとに異なる会話バンク アセットを指します。
オプション | 値 | 説明 |
会話 | DJDroid_Conversation_1 | これは、会話 DJ 1 の仕掛けに関連付けられている会話バンク アセットです。 別の会話の仕掛けを見ている場合、名前の番号は仕掛け名にある番号に対応します。 |
会話マテリアル - インデックス 0 | M_Character_DJDroid | これは、DJ R0-B0 のカスタム キャラクター マテリアルです。 このマテリアルとプレイヤー キャラクターのマテリアルは、会話グラフの Set Conversation Material ノードで使用されます。このマテリアルは、プロジェクト フォルダの「UI > Materials」にあります。 会話マテリアルにマテリアルを追加するには、プラス記号をクリックして配列要素を追加し、追加するマテリアルを選択します。 |
会話マテリアル - インデックス 1 | M_Character_Player | これは、プレイヤー キャラクターのカスタム キャラクター マテリアルです。 このマテリアルは、会話グラフの Set Conversation Material ノードで使用されます。このマテリアルは、プロジェクト フォルダの「UI > Materials」にあります。 会話マテリアルにマテリアルを追加するには、プラス記号をクリックして配列要素を追加し、追加するマテリアルを選択します。 |
モーダル ウィジェット オプション
詳細パネルの [Modal Widget (モーダル ウィジェット)] セクションには、[Custom Widget (カスタム ウィジェット)] オプションがあります。 これは、この会話の仕掛けで使用されるカスタム UI ウィジェットを指します。 このテンプレートでは、全ての会話の仕掛けが同じカスタム UI ウィジェットを使用しています。 しかし、独自の体験を作成する際は、必要に応じて NPC ごとに異なるカスタム ウィジェットをデザインして使用できます。
オプション | 値 | 説明 |
カスタム ウィジェット | UW_UI_Conversation_Lightside | これは、会話ボックスに使用されるカスタム UI ウィジェットです。 このウィジェットはプロジェクト フォルダの「UI > Widgets > Conversation」にあります。 このウィジェットは編集可能です。 |
DJ スクリプト-対話 Verse の仕掛けを使用する
DJ R0-B0 との会話は、DJ スクリプト-対話 Verse の仕掛けと、スクリプト-クエスト マネージャー Verse の仕掛けを使用して制御されます。 dialog_device.verse および quest_manager_device.verse スクリプトは、DJ R0-B0 のクエストの各段階でどの会話の仕掛けを有効または無効にするかを処理します。 Verse コードには、コードの各部分が何をしているかについての情報を示す詳細なコメントが付けられています。 参考として、dialog_device.verse の Verse コードの完全なコピーを以下に示します。
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# See https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse for how to create a verse device.
sub_dialog<public>:=enum:
Start,
SubDialog_A,
カリスの会話の仕掛けを設定する
プレイヤーは、前述の通り DJ R0-B0 に話しかけるか、カウンターの奥にいる NPC (カリス) に話しかけることでメイン クエストを開始できます。 このテンプレートでは、カリスはプレイヤーを DJ R0-B0 の方へ案内し、その NPC が助けを必要としていることを伝えます。 プレイヤーが最初にカリスと DJ R0-B0 のどちらに話しかけるかに関わらず、クエスト ラインは同じです。 カリスは、プレイヤーにジョーン隊長と話すよう指示するため、クエストラインの終盤でも重要です。
このテンプレート内の全ての名前付き NPC と同様に、カリス には、プレイヤーが会話で カリス にどのように返答するかによって上げたり下げたりできる態度統計があります。 態度統計の作成について詳しくは、「勢力の評判と NPC の態度」を参照してください。
カリスには 5 つの会話の仕掛けがあり、そのうち 4 つは開始時のダイアログ ツリーのバリエーションを表しています。 これらは、プレイヤーが繰り返されない対話ブランチを完了する可能性のある各順序に対応しています。 詳しくは、以下の「Speech with Random Variants ノードを使用する」を参照してください。
仕掛け、会話、およびモーダル ウィジェット オプション
カリスの会話の仕掛けの全ての仕掛けオプションは、DJ ドロイドの会話の仕掛けのオプションと同じですが、以下の点を除きます。
オプション | 値 | 説明 |
吹き出しインジケータの範囲 | 10.0 メートル | カリスはカウンターの奥に配置されているため、プレイヤーがもっと近づかないと吹き出しインジケータは表示されません。 |
詳細パネルの [Conversation (会話)] セクションにある [Conversation (会話)] オプションは、各会話の仕掛けの会話バンク アセットを指すように設定する必要があります。
カスタム ウィジェット オプションは、DJ ドロイド会話の仕掛けと同じカスタム UI ウィジェットに設定されています。
Speech with Random Variants ノードを使用する
カリス会話バンク グラフは、Speech with Random Variants ノードを使用します。 このノードを会話バンク グラフに追加すると、複数のスピーチ ラインにウェイトと優先度を設定して、ランダム化できます。 これにより、NPC のダイアログがより動的で興味深いものになり、インタラクションがよりリアルになります。
カリスの会話の Speech with Random Variants ノードには、カリスがプレイヤーに与えることができる 5 つの挨拶が含まれています。 ほとんどの挨拶のウェイトは 1.0 ですが、会話の仕掛けに応じて 1 つの挨拶のウェイトは 5.0 になります。 ウェイトが大きい挨拶ほど、仕掛けによって選択される可能性が高くなります。
カリスのスクリプト-ダイアログ Verse の仕掛けを使用する
カリスとの会話は、DJ スクリプト-対話 Verse の仕掛けと、スクリプト-クエスト マネージャー Verse の仕掛けを使用して制御されます。 dialog_device.verse および quest_manager_device.verse スクリプトは、メイン クエストの関連する各段階でどの会話の仕掛けを有効または無効にするかを処理します。 dialog_device.verse スクリプトのコードについては、「DJ スクリプト-ダイアログ Verse の仕掛けを使用する」セクションを参照してください。
スカベンジャーの会話の仕掛けを設定する
スカベンジャーの ヴェックス は、プレイヤーが DJ R0-B0 を修理するために使用するパーツを提供する NPC です。 ヴェックス には 3 つの会話の仕掛けがあり、それぞれに独自の会話バンク アセットがあります。 これらはメイン クエストの後半の段階での ヴェックス の対話を表します。
仕掛け、会話、およびモーダル ウィジェット オプション
スカベンジャーの会話の仕掛けの全ての仕掛けオプションは、DJ ドロイドの会話の仕掛けのオプションと同じですが、以下の点を除きます。
オプション | 値 | 説明 |
吹き出しインジケータの範囲 | 5.0 メートル | ヴェックス は小さな部屋にいるため、プレイヤーがさらに近づかないと吹き出しインジケータは表示されません。 |
詳細パネルの [Conversation (会話)] セクションにある [Conversation (会話)] オプションは、各スカベンジャーの会話の仕掛けの会話バンク アセットを指すように設定する必要があります。
カスタム ウィジェット オプションは、DJ ドロイド会話の仕掛けと同じカスタム UI ウィジェットに設定されています。
NPC の初期態度の変化
スカベンジャーのヴェックスは、カリスや DJ R0-B0 よりも初期態度統計が低いです。 そのため、ヴェックスの対話はカリスや DJ R0-B0 ほど友好的ではありません。 プレイヤーが DJ R0-B0 の特定のクエスト目標を完了しない限り、彼はプレイヤーに話しかけません。そして、プレイヤーが ヴェックス に話しかけることができるようになっても、彼はやや非友好的です。 ヴェックスの態度統計を上げる返答は、カリスや DJ R0-B0 の態度を上げる返答とは大きく異なります。
態度統計について詳しくは、「勢力の評判と NPC の態度」を参照してください。
クエスト目標の裏で NPC の対話をロックする
プレイヤーが DJ ドロイドやバーテンダーと話す前にスカベンジャーの ヴェックス とインタラクトすると、NPC は非友好的になり、プレイヤーと会話しません。 プレイヤーがクエストの特定の段階を完了すると、ヴェックス はプレイヤーと話すようになります。
これは、クエストの進行状況を使用して特定の NPC へのアクセスをロックおよびアンロックする方法の一例です。 その他の使用例としては、次のようなものがあります。
プレイヤーに複数のレベルのクエストへのアクセス権を付与する、または複数のレベルのエリアへのアクセス権を付与する
プレイヤーが目標の達成することを条件に特定の NPC が強力な戦利品を与えるようにする
他のエリアまたはマップへのアクセスを NPC とのインタラクションの背後に配置し、特定のクエストが完了するまで話すことができないようにする
クエスト完了後に NPC アクセスをロックするもう 1 つの例として、反乱軍の隊長 NPC が挙げられます。 隊長とクエストについて詳しくは、「会話とクエスト」を参照してください。
スカベンジャー スクリプト-対話 Verse の仕掛け
ヴェックス との会話は、DJ スクリプト-対話 Verse の仕掛けと、スクリプト-クエスト マネージャー Verse の仕掛けを使用して制御されます。 dialog_device.verse および quest_manager_device.verse スクリプトは、メイン クエストの関連する各段階でどの会話の仕掛けを有効または無効にするかを処理します。 Dialog_device.verse スクリプトのコードについては、「DJ スクリプト-ダイアログ Verse の仕掛けを使用する」セクションを参照してください。
反乱軍の隊長 NPC を使用する
反乱軍の隊長 NPC はロックされた部屋にいます。 ドアは、プレイヤーが以下を完了するまでアンロックされません。
プレイヤーが DJ R0-B0 を修理する。
プレイヤーが反乱軍の評判を 100 獲得する。
プレイヤーがバーテンダーのカリスと話し、更衣室を使用する。
ジョーン隊長はクエスト報酬として機能します。 この NPC は会うのが難しいため、プレイヤーは反乱軍の評判が 100 になるまで彼と話すことができません。 このテンプレートでは、ジョーン隊長と話すことでメイン クエストが完了します。 ただし、ジョーン隊長を 1 つ以上の新しいクエストの提供者にしたり、DJ R0-B0 を手伝ったことに対するより具体的な報酬として戦利品を提供させたりすることもできます。
プレイヤーはジョーン隊長とサバックをプレイすることもできます。これは代替クエスト報酬の一例です。 また、NPC とのインタラクションを使用して、島でミニゲームにアクセスできるようにする方法も紹介します。
反乱軍の隊長の会話の仕掛けを設定する
隊長の会話の仕掛けの全ての仕掛けオプションは、DJ ドロイドの会話の仕掛けのオプションと同じですが、以下の点を除きます。
オプション | 値 | 説明 |
吹き出しインジケータの範囲 | 5.0 メートル | 隊長は小さな部屋にいるため、プレイヤーがさらに近づかないと吹き出しインジケータは表示されません。 |
詳細パネルの [Conversation (会話)] セクションにある [Conversation (会話)] オプションは、各隊長の会話の仕掛けの会話バンク アセットを指すように設定する必要があります。
カスタム ウィジェット オプションは、DJ ドロイド会話の仕掛けと同じカスタム UI ウィジェットに設定されています。
隊長スクリプト-対話 Verse の仕掛け
ジョーン隊長との会話は、ジョーン隊長スクリプト-対話 Verse の仕掛けと、スクリプト-クエスト マネージャー Verse の仕掛けを使用して制御されます。 dialog_device.verse および quest_manager_device.verse スクリプトは、メイン クエストの関連する各段階でどの会話の仕掛けを有効または無効にするかを処理します。 Dialog_device.verse スクリプトのコードについては、「DJ スクリプト-ダイアログ Verse の仕掛けを使用する」セクションを参照してください。
対話を通じてナラティブを構築する
ほとんどのゲームには何らかの NPC とのインタラクションや対話が含まれています。最も活用されているのはロールプレイイング ゲーム (RPG) やビジュアル ノベルです。 ゲーム内で NPC と話すことには、多くの目的があります。
ワールド構築:キャラクターは、ゲームの世界に根ざした独自の声、意見、経験を持っています。 これは、それが架空の世界であるか、現実世界をベースにしているかに関わらず当てはまります。 対話は、キャラクターがその性質を明らかにし、自分がクラスワールドについてプレイヤーに伝える機会です。
ミッションまたはクエスト:インタラクト可能な NPC の最も一般的な目的は、プレイヤーにクエストやミッションを提供することです。 包括的なストーリーライン クエストから非常に短いサイド クエストに至るまで、ゲームプレイ目標のソースとしての NPC は、ほとんど全てのプレイヤーに馴染みがあります。
ストーリーとテーマ:ゲームのストーリーがどれほどシンプルまたは複雑であっても、キャラクターは主要なテーマを表現し、プロットに関わることができます。 時には、インタラクトする NPC が異なる、プレイヤーは異なるストーリー パスに進むことになったり、異なるエンディングにつながったりします。 NPC の背景、個人のストーリーライン、秘密、希望は、ゲームのストーリーで探求したい全体的なテーマを表現でき、それらは全て対話を通じて最も明確に表現されます。
会話を通じてワールド構築とナラティブを強化する具体的な方法をいくつか、以下のセクションで説明します。
ロールプレイを強化する
プレイヤーが NPC とインタラクトする際、ロールプレイを行う機会があります。 NPC の対話によって、プレイヤーは自分がどのような人物と話しているのかを理解しやすくなり、よりロールプレイしやすくなります。 プレイヤーは、特定の NPC がプレイヤー自身に似ているか、それとも異なるのかを想像できます。
プレイヤーは、自分の選択がゲームのストーリーやワールドに意味のある影響を与えることを望んでいます。 たとえば、評判や態度を上げたり下げたりするシステムがある場合、プレイヤーは NPC に承認されたいか、承認されたくないかを決定できます。これにより、プレイヤーは自分のキャラクターやゲームの世界により没入しやすくなります。
ビジュアル対話の選択肢
ほとんどの対話をゲームプレイに関連付けることは効率的ですが、単に個性を表すためだけのNPC のセリフやプレイヤーの返答は、ただそれだけで楽しめることがあります。 親切、生意気、皮肉など、それぞれ異なる態度をとる 2 つまたは 3 つのオプションを提供してみてください。
全ての決定がストーリーや NPC の態度に影響を与える必要があるわけではありません。 生意気な態度を取るか誠実な態度を取るか選べることは、それ自体が楽しいものです!
話者としてプレイヤーを使用する
多くのゲームでは、プレイヤーに特定のセリフが用意されており、NPC の質問や発言に対する返答として使用できます。 しかし、プレイヤーを 2 人目の話者として含めると、没入感を高めることができます。
音声付きの対話がなくても、プレイヤーの選択肢を単なる選択式のボタンとしてではなく、ダイアログとして提示することは、プレイヤーを参加者としてシーンにしっかり組み込む素晴らしい方法です。 会話グラフ エディタでは、プレイヤーと NPC の両方に対して Speech ノードを含めることができます。 誰が話しているかをより簡単に判別できるようにするため、NPC とプレイヤーに別個のマテリアルを含めることもできます。
このテンプレートは、プレイヤー キャラクターを話者として含めることで、標準的な会話 UI であっても魅力的なキャラクターの対話を表現できる方法を示しています。 簡潔な返答ボタンは、プレイヤーにシンプルで理解しやすい選択肢を提供します。これらの選択肢をプレイヤーのセリフに変換するために完全なダイアログ ボックスを利用すると、より具体的でリアルな会話が生まれます。
会話エディタとそのノードの使用について詳しくは、「会話を作成する」を参照してください。