没入型ナレーション

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

闇を超えて デモのように、私たちの最初の決定の 1つは、世界自体の中でゲームプレイとストーリーをできるだけ多く死語化することでした。これは、プレイヤーに通信進行状況をユーザーインターフェイスを通じてバランスさせつつ、かつ自分が本当に世界を構築したものの中にいるように感じさせたいときには、困難なプロセスになる可能性があります。エクスペリエンスの目標を満たすために、情報をプレイヤーに伝える方法を 4つの技術に分解しました:

  1. ビジュアルヒント - 世界に意味があるときにストーリーを強化したり、プレイヤーにヒントを与えたりするオブジェクト、画像、またはアセットの配置
  2. ロア - プレイヤーが家の中の特定のアイテムをクリック/タップすると、重要なストーリー情報が 全体の画面に表示されます 。このナレーションは、オブジェクトをクリック/タップしたプレイヤーにのみ表示されます。トーンは常に情報的であり、トーンとフレーズは常にそうです。
  3. 考えのバブル - プレイヤーが家の中の特定のアイテムをクリック/タップすると、テキストダイアログ「反応」が オブジェクトの近くに表示されます 。このナレーションは、オブジェクトをクリック/タップしたプレイヤーにのみ表示されます。トーンは常に第一人称で観察的です。
  4. お知らせ - プレイヤーが家の中の破損したアイテムをクリック/タップすると、 すべてのプレイヤーの画面に一度に第三者の対話が表示されます 。このナレーションは、時々すべてのプレイヤーを、自分がいる部屋の破損した状態に移行します。

このセクションでは、これらの技術と特定の機能を使用して、プレイヤーを我々の物語に没入させながら、探検を促進し、進捗を伝達し、ゲームプレイを個々のプレイヤーに親密にし、マルチプレイヤーエクスペリエンスで公平に保つ方法を示します。

キャラクターの内部思考のオンスクリーンオーバーアナウンス。
>

特定のオブジェクトを選択すると表示される思考バブル、またはオブジェクト固有のダイアログ。
>

視覚的なヒント

視覚的なヒントは、ナレーションを強化し、プレイヤーに目標について知る必要があることを伝える重要なツールです 言葉を使わずに 。黒板、像、壁紙などのアセットの配置を使用して、Duvall Drive のメインキャラクターに関する情報の深さと、侵襲的な UI 要素を含まないでパズルを完了する方法についての指示をパッシブに提供できました。私たちは最初にプレイヤーに伝えたいことを見つけ、それからそれを私たちの経験の世界で伝える意味があるかどうかを考え始めました。たとえば、プレイヤーが祖父が死に抵抗する任務でどれほど取り憑かれていたかを理解するようにしたいので、彼の部屋を混乱させて、研究や手書きの考えがたくさんある複数の壁を残しました。

祖父の部屋全体でのスケッチは、祖父の強迫性の性質を伝えます。
>

彫刻や参考写真の豊富さは、娘がアーティストであることを示しています。
>

最初のルールは、プレイヤーに何かを教えるために視覚的なヒントを使用したい場合、プレイヤーが存在しなくても理由が存在する必要があるということでした。パズルのために何をすべきかの明確な指示が付いた巨大な標識を置いた場合、これは家の中で不適切に見えるでしょう。しかし、彼のベッドルームの壁を含むすべてに描画する祖父を確立した場合、プレイヤーにフォローうために彼の計画を書き留めた黒板を持つことがより信頼できます。

2番目のルールは、プレイヤーに何をすべきか、またはパズルを解く方法を常に伝える必要はないということです。それは彼らの環境に洞察的であるからです。たとえば、水のプールに落ちた電力線が、プレイヤーがその方向で移動を続けると電気化の危険に陥ることを伝える視覚的な手がかりであることが、時々十分であることがあります。

ロア

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

最初は、プレイヤーが相対できるすべてのオブジェクトに Highlight を使用しましたが、視覚的なノイズが圧倒的で、プレイヤーはロールを読むために相対するものをはっきりと知らないでしょう。我々は、破損したり危険なアイテムを強調するためにのみ使用することを決め、このビジュアルフィードバックでプレイヤーは簡単に物語を進めることができました。

面白い事実: 元々、クリックできるすべてのものについてロアがありました!これは、プレイヤーが重要な情報と、味わいのためだけの情報が何であるか分からなかったので、役に立たなかった。最終的に、多くの伝承を削除し、視覚的なヒントを使用して、残りの物語をプレイヤーの想像力に任せました。

プレイヤーがロアのオブジェクトをクリックした後、画面の上に情報を表示する方法が必要になりました。私たちは、画面上のUIコンテナとして ScreenGui を使用してオーバーレイを作成し、子供の FrameTextLabels および ImageLabels のサイズとスケーリングを制御する子供を持つことを決めました。TextLabels および ImageLabels プロパティの位置とスケールを設定して、ビジュアル上で一緒にフィットし、異なるデバイスプレイヤーがエクスペリエンスにアクセスするために使用するもののスケールが変更されます。

TextLabels および ImageLabels は、それぞれのテキストと画像の視覚要素、色、透明度、サイズ、配置を含む影響を与えます。特に、TextLabels では、テキストのレイアウトとビジュアルスタイリングを制御するために、TextLabel.TextScaled および TextLabel.RichText のプロパティを調整できます。 TextLabel.TextScaled では、親UI要素のスペースをテキストで満たすことができ、TextLabel.RichText では、ボールド、イタリック、色、または異なるフォントでテキストのセクションをスタイルするための単純なマークアップタグを使用できます。

プレイヤーは、PC、コンソール、モバイルデバイスなど、多様なデバイスからこのエクスペリエンスにアクセスし、画面をクリックまたはタップしてエクスペリエンスと対話できる必要があることを知っていました。スクリーン上に多くのボタンがあると、物語から気をそらされてしまうので、プレイヤーがコンテンツを閉じてゲームプレイに戻るために、全画面サイズの透明な戻るボタンを作成しました。

考えのバブル

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

世界がプレイヤーのインタラクションに反応するようにする比較的シンプルかつ強力なシステム!

思考バブルを作成するには、非ロアのオブジェクトに子 BillboardGui を持つ TextLabel を親にしました。これにより、テキストが画面全体を占有しないでオブジェクトの近くの 3D 空間に対話を表示できるようになりました。ロールを作成するプロセスと同様、我々は 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>

画像ではなく TextLabels を使用することで、Roblox でテキストを読み込み続け、このコンテンツを自動的に翻訳して、より多くのプレイヤーにアクセスできるようにすることができました!このプロセスに関する詳細は、自動翻訳 を参照してください。

アナウンス

プレイヤーのキャラクターが世界に反応するのは望んでいましたが、世界自体も彼らの存在に反応したいとも考えました。この目標を達成するために、すべてのプレイヤーの画面に一度に表示される を含むアナウンス、または第三者対話を含めました 。ロアと同様、我々は子供の ScreenGui を持つオンスクリーン UI コンテナとして TextLabel を使用してアナウンスを作成しました。また、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>

プレイヤーが歩いた見えないパーツボリュームによってトリガーされたり、特定の目標を達成したりして、これらの種類のアナウンスが複数ありました。数十の個々の を避けるために、デモで使用できる別のスクリプトを使用して、スクリプトが追加する単一のオブジェクトに ストーリーノート という名前を付けたフォルダにテキストを提供できました。このオブジェクトは、子供の ScreenGui を持つ単一の TextLabel でした。スクリプトを使用すると、私たちが望む言葉を直接 TextLabel に注入でき、プレイヤーに伝えたい方法と内容を理解することで変更を行うのがはるかに簡単になりました!

ストーリーノートは、スクリプトを介してトリガーされたすべてのインスタンスに呼び出したオブジェクトでした。同じスクリプトは、それぞれのイベントに必要なテキストとフォーマットを提供しました。
そのオブジェクトを呼び出し、テキストを定義するスクリプトの例、イベントごと。
テキストラベルは実際に空白であり、スクリプトを使用して必要に応じてリッチテキストを同じオブジェクトに注入しました。