没入型ナラティブ

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

ダークの向こう側デモと同様に、私たちの初期の決定の一つは、ゲームプレイとストーリーの多くを、世界そのものの中で語ることでした。これは、ユーザーインターフェースを通じてプレイヤーに進行状況を伝えつつ、彼らが自分たちが構築した世界の中に本当にいると感じさせることを望むとき、難しいプロセスになることがあります。私たちのゲームのこれらの目標を達成するために、プレイヤーに情報を伝える方法を4つの技術に分解しました。

  1. 視覚的手がかり - 物体、画像、または資産の配置が、物語を受動的に強化したり、世界に合ったときにプレイヤーにヒントを与えたりします。
  2. 伝承 - プレイヤーが家の特定のアイテムをクリック/タップすると、重要なストーリー情報が画面全体に表示されます。このナラティブは、オブジェクトをクリック/タップしたプレイヤーにのみ表示されます。トーンは常に情報的です。
  3. 思考バブル - プレイヤーが家の特定のアイテムをクリック/タップすると、テキストダイアログの「反応」がオブジェクトの近くに表示されます。このナラティブは、オブジェクトをクリック/タップしたプレイヤーにのみ表示されます。トーンは常に一人称で観察的です。
  4. アナウンス - プレイヤーが家の破損したアイテムをクリック/タップすると、三人称のダイアログがすべてのプレイヤーの画面に一度に表示されます。このナラティブは、時々すべてのプレイヤーを彼らがいる部屋の破損した状態に移行させます。

このセクションでは、これらの技術と特定の機能を使用して、プレイヤーを私たちのナラティブに没入させつつ、探索を促し、進行状況を伝え、ゲームプレイを個々のプレイヤーに親密でありながらマルチプレイヤーゲームで公平に保つ方法を示します。

キャラクターの内面的な思考のアナウンスの画面オーバーレイ。
特定のオブジェクトを選択したときに表示される思考バブル、またはオブジェクト特有のダイアログ。

視覚的手がかり

視覚的手がかりは、ナラティブを強化し、プレイヤーが言葉を使わずに目標について知る必要があることを伝えるための重要なツールです。黒板、彫像、壁紙などの資産の配置を使用することで、デュバルドライブの主要キャラクターに関する情報の深さを受動的に提供し、侵入的なUI要素を含めることなくパズルを解く方法についてのガイダンスを提供することができました。このプロセスを始めるにあたり、まずプレイヤーに何を伝えたいのかを考え、その後それをゲームの世界の中でどのように伝えるかを考えました。例えば、私たちはプレイヤーに祖父が死を拒む使命にどれほど執着しているかを理解してもらいたかったので、彼の部屋を散らかし、彼の研究や彼の書きなぐった思考がいくつかの壁に残されている状態にしました。

祖父の部屋の落書きは、祖父の強迫的な性格を伝えています。
多数の彫刻や参考写真が、娘がアーティストであることを示しています。

私たちの最初のルールは、視覚的手がかりを使用してプレイヤーに何かを教えたい場合、それはプレイヤーが存在しない場合でも存在する理由がなければならないということでした。パズルのために何をすべきかの明確な指示が書かれた巨大な看板を置いた場合、それは家の中では場違いに見えるでしょう。しかし、すべてに落書きすることに夢中になっている祖父を設定した場合、彼の寝室の壁を含めて、プレイヤーが従うための計画が書かれた黒板を持つことは、はるかに信じられるものになります。

私たちの第二のルールは、プレイヤーに何をすべきかやパズルを解く方法を常に伝える必要はないということです。彼らは自分の環境に対して洞察力を持っているからです。例えば、時には水たまりの中に倒れた電線が、プレイヤーがその方向に進み続けると感電する危険があることを伝えるのに十分な視覚的手がかりとなります。

伝承

視覚的手がかりを使用してプレイヤーを受動的に導くことに加えて、私たちはまた、プレイヤーが家の特定のアイテムをクリックまたはタップしたときに、部屋のパズルを開始する前触れとして、家族に関する重要なストーリー情報を画面全体に表示することを選びました。プレイヤーが伝承を表示するために選択する必要があるオブジェクトを導くために、特定のオブジェクトを周囲から際立たせるために新しいハイライト視覚効果を使用しました。この効果により、オブジェクトの形状に合った特定の色でオブジェクトをアウトラインまたはオーバーレイし、他のオブジェクトがカメラに近い場合にハイライトを隠すことができるかどうかを選択できます。

最初は、プレイヤーが対話できるすべてのオブジェクトにHighlightを使用しましたが、視覚的なノイズが圧倒的で、プレイヤーは伝承を読むために何を対話すべきかを明確に知ることができませんでした。私たちは、破損しているか危険なアイテムをハイライトするためにのみ使用することに決め、この視覚的フィードバックにより、プレイヤーは物語を簡単に進めることができました。

面白い事実: クリックできるすべてのものに伝承がありました!これは役に立たなかったので、プレイヤーはどの情報が重要で、どの情報が単なる風味であるかを確信できませんでした。最終的に、私たちは多くの伝承を削除し、視覚的手がかりを使用して残りのナラティブをプレイヤーの想像に委ねました。

プレイヤーが伝承のあるオブジェクトをクリックした後、画面の上部に情報を表示する方法が必要でした。私たちは、ScreenGuiを画面上のUIコンテナとして使用し、子としてFrameを作成して、その子のTextLabelsとImageLabelsのサイズと再スケーリングを制御するオーバーレイを作成することに決めました。TextLabelsとImageLabelsのプロパティの位置とスケールを設定して、視覚的に一緒にフィットし、プレイヤーがゲームにアクセスするために使用するさまざまなデバイスに合わせてスケールするようにしました。

TextLabelsとImageLabelsは、それぞれのテキストと画像の視覚要素に影響を与え、その色、透明度、サイズ、配置を含みます。特にTextLabelsについては、TextLabel.TextScaledとTextLabel.RichTextプロパティを調整して、テキストのレイアウトと視覚スタイリングを制御できます。TextLabel.TextScaledを使用すると、テキストを親UI要素のスペース全体にスケールさせることができ、TextLabel.RichTextを使用すると、テキストのセクションを太字、斜体、色、または異なるフォントでスタイルするためのシンプルなマークアップタグを使用できます。

私たちは、プレイヤーがPC、コンソール、モバイルデバイスなどのさまざまなデバイスからこのゲームにアクセスすることを知っており、彼らはゲームと対話するために画面をクリックまたはタップできる必要がありました。私たちは、ナラティブから気を散らさないように画面上にたくさんのボタンを置きたくなかったので、プレイヤーが伝承オーバーレイのどこでもクリックまたはタップしてコンテンツを閉じ、ゲームプレイに戻ることができるように、画面全体のサイズの目に見えない戻るボタンを作成しました。

思考バブル

プレイヤーのキャラクターがプレイヤーにアイデアを伝える方法が必要でした。例えば、追加のナラティブの風味を提供したり、彼らが何をする必要があるかを強化したりすることです。私たちの解決策は、プレイヤーが非伝承オブジェクトを選択したときに、その近くに思考バブル、またはプレイヤーのキャラクターからのテキスト反応を表示することでした。このナラティブは、オブジェクトをクリックまたはタップしたプレイヤーにのみ表示され、トーンは常に一人称で観察的です。

プレイヤーの相互作用に対して世界が反応するための比較的シンプルでありながら強力なシステムです!

思考バブルを作成するために、非伝承オブジェクトに子としてBillboardGuiを親にしました。これにより、テキストが画面全体を占有することなく、オブジェクトの近くの3D空間にダイアログを表示できるようになりました。伝承を作成するプロセスと同様に、TextLabel.RichTextプロパティを使用してテキストをスタイルし、プレイヤー自身の思考を中断する他の異世界の存在のような視覚効果を追加しました。以下は、下の画像を作成するために使用されたRichText HTMLの例です。

"What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</i></font></font></stroke>

TextLabelsを画像の代わりに使用することで、テキストをRobloxが読み取れるように保ち、このコンテンツを自動的にローカライズし、何もすることなく多くのプレイヤーにアクセス可能にすることができました!このプロセスの詳細については、自動翻訳を参照してください。

アナウンス

プレイヤーのキャラクターが世界に反応することを望んでいた一方で、私たちは世界自体にも彼らの存在に反応してほしいと考えていました。この目標を達成するために、私たちはアナウンス、または三人称のダイアログを含め、すべてのプレイヤーの画面に一度に表示されるようにしました。伝承と同様に、アナウンスを作成するために、ScreenGuiを画面上のUIコンテナとして使用し、子としてTextLabelを使用しました。また、TextLabel.RichTextプロパティを使用して、ダイアログの色、フォント、サイズを変更し、家の中でプレイヤーに話しかける異なる「存在」を伝えるのに役立てました。

プレイヤーのキャラクターの反応を示す白いテキストのアナウンスは、特定のオブジェクトではなく、エリアに一般的なものでした。
紫色のテキストのアナウンスは、破損した存在からの反応でした。
黄色のテキストのアナウンスは、復元された存在からの反応でした。

TextLabel.RichTextプロパティを使用し、変更を促すためにいくつかのHTMLコマンドを提供することで、文中での変更も可能になりました!例えば、以下のリッチテキストマークアップを使用することで、破損した存在の思考によってプレイヤーキャラクターの反応を中断することができました。

What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</i></font></font></stroke>

この種のアナウンスは、プレイヤーが歩き入る無形のパートボリュームや、特定の目標を達成することによってトリガーされるものがいくつかありました。個々のScreenGuisを避けるために、デモ内で別のスクリプトを使用して、スクリプトが追加するテキストを提供し、私たちがStoryNoteと呼ぶ単一のオブジェクトに追加しました。このオブジェクトは、子としてTextLabelを持つ単一のScreenGuiでした。スクリプトを使用することで、私たちは望むフレーズを直接単一のTextLabelに注入でき、プレイヤーに何を伝えたいかを考えながら変更を行うのがはるかに簡単になりました!

StoryNoteは、スクリプトによってトリガーされたインスタンスのために呼び出されたオブジェクトでした。それらのスクリプトは、各イベントのために望むテキストとフォーマットを提供しました。
そのオブジェクトを呼び出し、イベントごとにテキストを定義するスクリプトの例。
TextLabelは実際には空白で、スクリプトを使用して必要に応じてリッチテキストを同じオブジェクトに注入しました。
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。