Persona (ペルソナ) 仕掛けは、大規模言語モデル (LLM) を提供し、プレイヤーが音声を通じて島内でインターフェースできるようにします。 音声付きのアイデンティティは、ユーザー インターフェース (UI) 上のアイコンで表され、島内での一種のノンプレイヤーキャラクター (NPC) として機能します。 LLM インターフェースにより、プレイヤーはこれらの NPC とオーダーメイドの会話やインタラクションを行うことができ、プレイごとにユニークな体験を生み出します。
これらの体験は、プレイヤーがカフェで競争心のあるバリスタとやり取りする場合から、不機嫌な猫が飼い主を見つける手助けをする場合まで、多岐にわたります。 入力した仕掛けと詳細により、それらのキャラクターのペルソナを定義することができます。 プレイヤーはボイス チャットを通じてキャラクターとやり取りできます。
この仕掛けは、Unreal Editor for Fortnite (UEFN) で使用できます。 仕掛けの詳細は、「仕掛けを使用する」を参照してください。
現在のところ、UEFN ではペルソナの仕掛けは実験段階です。 今回は仕掛け対応のプロジェクトを公開することはできません。 なお、機能が実験段階のときに作成されたアセットの下位互換性は保証されません。 これらの機能の API は変更されることがあります。また、当社の判断で実験的機能全体や特定の機能が削除される場合があります。 ツールを試してこちらのフォーラムにフィードバックを記入し、今後の展開に関する詳細情報をお待ちください。
大規模言語モデル (LLM) について
LLM は、コンピュータが自然言語をテキストとして処理、出力できるように訓練されたプログラムです。 言語のトピックに関するリソース (データベース) のライブラリから学習した知識としてモデルを確認できます。 トレーニング マテリアル セットには、小さいものと大きいものがあります。 この訓練により、モデルはあたかも自分で考えているかのように、プロンプトに応じて生成すべきテキストの文字列を予測できるようになります。
言語モデルは、アルゴリズムを用いて訓練資料から単語のパターン認識や関係性を学習し、テキストを通じて人間の言語を生成できます。 この訓練の仕組みは、Machine Learning (機械学習) と呼ばれます。 通常、ユーザーは何らかのインターフェースを通じて LLM と対話できます。
LLM の機能
LLM:
言語を処理して理解する。
テキストを生成する。
質問に答える。
テキストを要約して翻訳する。
UEFN 仕掛けと組み合わせた場合:
プレイヤーにインタラクティブな LLM セッションを提供する。
入力からパーソナリティを作成する。
プレイヤーと NPC の間で即興の会話を可能にする仕組みを提供する。
テキストから音声を生成してプレイヤーがペルソナを聞けるようにし、また音声をテキストに変換して LLM がプレイヤーの発話を理解できるようにする。
プログラムの応答に基づいてイベントを生成する。
音声またはテキストの形で人間の言語を生成するこのプロセスは、生成型人工知能 (Generative AI) の一形態として知られています。 ただし、この複合システムは画像を生成したり、島作りのアシスタントとして機能したりするわけではありません。 これらの型の機能は、別のトピックで訓練されたモデルとシステムによって作成されます。
何ができるのか
LLM 搭載の仕掛けでは、以下のようなことが可能です。
ペルソナを作成するための入力の説明。
ペルソナ ベースの NPC を表すためのカスタム UI を作成する。
LLM の応答に基づいてトリガーされるイベントを追加する。
この仕掛けは、スクリプト化された言葉に依存するキャラクター作りの障壁を取り除き、応答性がありながら適応可能なキャラクターを作成する手段を提供します。 この動的な挙動は、Conversation (会話) 仕掛けで作成するあらかじめ定められた会話やオプション、また NPC Spawner (NPC スポナー) 仕掛けで定義するキャラクターとは異なります。 どちらの仕掛けでも、NPC がどのように反応するかの基本動作を手動で設定する必要がありますが、LLM は自然で即興の会話を生成します。 さらに、ペルソナ ベースの NPC は音声とアイコンで表現されます。
ペルソナ
ペルソナは、島内の LLM キャラクターの性格、知識、特性をまとめたものです。 ペルソナを作成する上で重要なポイントは、仕掛け内のプロンプトと事実情報です。 プロンプトと事実情報は、NPC が誰であるか (演じる役割) や何を知っているかの文脈を提供します。 LLM は、ユーザーが定義したペルソナとその学習済みの知識を登録し、それに基づいてプレイヤーにどのように応答するかをロールプレイします。
たとえば、以下のようなペルソナを作成できます。
プレイヤーにボタンを押すように誘導する謎めいた宇宙エンティティ。
競争相手をけん制するミッションを遂行する激しいバリスタ。
エイリアンに飼い主を連れ去られたと思っている不機細な猫。
プレイヤーにフォートナイトでの建築の基本を教えるコメディアンのインストラクター。
ウサギ盗賊に見つかりたくないと心配するニンジン。
Mr. Buttons LLM のゲームプレイ例については、「State of Unreal 2025」 のプレゼンテーションをチェックしてください。
仕掛けごとに 1 つのペルソナを作成できます。 プロンプトと事実情報を通じて、島内の別のペルソナ仕掛けの存在を認識させることができます。
以下は、プロンプトと事実情報を作成する際のヒントです。
ペルソナを、明確なアイデンティティ、価値観、特性で定義することで、LLM が果たすべき役割を正確に理解できるようにする。
事実情報をモジュール化されたセクションに分けることで、LLM がアイデアを明確な塊として分類し、より効果的に参照できるようにする。 アイデンティティ、原点、モチベーション、対話、ゲームプレイなどのセクションを検討する。
説明は短く、具体的で、関連性のある内容にまとめるようにする。
重要な詳細については、多少の繰り返しを活用して強調する。 事実情報を繰り返し呼び出すと、LLM が重要な点をうまく理解できる。
LLM に口調やリズム、繰り返し可能な言語パターンを与えるために、対話例やキャッチフレーズを提供する。
LLM は、マークダウン構文と呼ばれる文章スタイルを通じて訓練されます。 この学習スタイルのため、プロンプトや事実情報を書く際には、マークダウン構文を意識すると効果的です。 例えば、強調したい用語には、二重アスタリスク (**) を使って太字にします。 パターン認識では一貫性が重要です。 LLM が初めて構文を処理する際に登録されます。 同じ構文を認識するたびに、LLM のパターン処理はその構文をより適切に強調し、意味を割り当てるように訓練されます。
現在、この仕掛けはペルソナ ベースのキャラクターを、音声とユーザー インターフェース (UI) で表現しています。 ペルソナを物理的な NPC に直接バインドすることはできませんが、独自のデザイン要素を追加して、その関係性を示唆することは可能です。
プロンプト
LLM は、あなたやプレイヤーからのプロンプトを受け取り、発生したイベントや提供された事実情報に基づいて応答方法を判断します。 あなたが提供するプロンプトは、NPC のシーン設定やプレイヤーとのやり取りの方法を決定するのに役立ちます。 プロンプトでは、環境やイベントを描写し、NPC の行動やプレイヤーとのやり取りの指示を提供します。
例えば、ペルソナに「コーヒーショップにいる」とだけ伝えるのではなく、以下のように詳細を加えることができます。
あなたは、かつての賑わいを失った、荒れたコーヒーショップにいる。 ほこりだらけのクモの巣、壊れた家具があり、漂う不快な匂いが店内に充満している。 他の人が嫌がることほど、あなたはワクワクする。 少しの手入れと愛情で、この場所をかつての輝きを取り戻せると自信を持っている。
あなたは、魅力的なカフェにいる。鮮やかなインテリアが施され、グルメな商品が並んでいる。 あなたは、この店をお客で賑わせたいと意欲にあふれている。
以下の表は、プロンプトの例です。
| ペルソナ NPC | プロンプトの例 |
|---|---|
謎めいた宇宙エンティティ (Mr. Buttons) |
|
隠れるニンジン |
|
ペルソナ仕掛けでは、島の開始時に実行されるデフォルトのプロンプトを設定できます。 イベント中にアクティブ化される追加のプロンプトには Verse を使用できます。たとえば、プレイヤーがボタンを押さずに部屋を出ようとする時のプロンプト応答です。
事実確認
キャラクターの基本的な性格や知識を定義するには、仕掛けに事実情報を追加します。 事実情報には、LLM が処理する際の制約を含めることができ、例えば、応答を10単語に制限するといったルールを設定できます。
追加する事実情報を考えるときは、プレイヤーが尋ねそうな質問を予測してください。 たとえば、「なぜここにいるの?」
提供できる事実情報の数に制限はありません。 ただし、事実情報が大量にあると、LLM セッションが過負荷になり、プレイヤーに遅延が発生する可能性があります。 LLM は、あなたが設定した事実情報やプロンプトに加え、プレイヤーからのプロンプトも受け取り、プレイ セッション中に処理します。 こういった情報は全て、プレイヤーに応答する前に LLM によってパースされます。
次の表は、事実情報の例です。
| ペルソナ NPC | 事実情報の例 |
|---|---|
謎めいた宇宙エンティティ (Mr. Buttons) |
|
隠れるニンジン |
|
仕掛けの事実情報は、ランタイム時にのみ利用できます。 Verse を使用すると、事実情報を動的に理解するために、事実情報を追加することができます。
島をプレイテストして、ペルソナがどのように反応するかを確認し、その後、より良い結果が得られるようにプロンプトや事実情報を改善します。
ペルソナの追加属性
キャラクターの属性は、名前、音声、アイコンを使ってさらに定義できます。 音声については、さまざまな声のスタイルを選択でき、声の減衰を調整することもできます。 現在、仕掛けは英語で応答します。
この仕掛けには、キャラクターが話すときに字幕を表示するオプションもあります。
ルールと審査
ペルソナを作成する際には、その仕掛けのガイドラインに従う必要があります。 島の公開に遅れが生じないようにするためには、ルールと審査を理解することが不可欠です。 この仕掛けには複数の安全フィルターが組み込まれており、LLM の応答がコミュニティ ルールに従うようになっています。
この仕掛けの利用規約について詳しくは、「フォートナイト島クリエイター規定」のセクション 1、ルール 1.21を参照してください。 審査の詳細については、「島の審査とガイドライン」を参照してください。
現時点で、Persona 仕掛けはどのブランドの島でもサポートされていません。 ブランドの島をビルドする方法については、「ゲーム コレクション」を参照してください。
実験的ペルソナ仕掛けを有効にする
この実験的な機能を使用するには、以下のように、プロジェクト設定で有効にする必要があります。
UEFN を開いて、新規または既存のプロジェクトを選択します。
[Project (プロジェクト)] > [Project Settings (プロジェクト設定)] に移動します。
[Experimental Access (実験的アクセス)] の下で、[Persona Device (ペルソナ仕掛け)] の横のボックスをオンにします。
仕掛け設定と Verse API
システムとキャラクターの事実情報は、仕掛け設定と Verse を通じて機能します。 UEFN の仕掛けは、コンテンツ ブラウザの[All (全て)] > [Fortnite (フォートナイト)] > [Devices (仕掛け)] > [!Experimental (!実験)] フォルダからアクセスできます。
この仕掛けには、Default Persona Prompt (デフォルトのペルソナ プロンプト) オプションによる開始の指示が含まれています。 Send Default Prompt (デフォルトのプロンプトを送信)関数からプロンプトを呼び出します。 LLM が特定の方法で応答したりイベントを開始したりできるように、評価基準を追加することができます。 この仕掛けは、プレイヤーに対して永続的ではありません。 そのゲーム内で各ラウンドが終了すると、LLM セッションはクリアされます。
仕掛けを使用して、どのプレイヤーと会話したり、仕掛けをリッスンしたりできるか、そして発言中にプレイヤーが仕掛けからどれだけ離れることができるかを管理できます。
この仕掛けの Verse API では同じ設定が使用されますが、以下の追加オプションがあります。
デフォルト ランタイムの外部でプロンプトを作成します。 これにより、イベント プロンプトのオプションが提供されます。
ランタイム時にファクトを追加または削除します。これは、人格の変化や知識の汚染といった進化する物語をさらに構築するのに役立ちます。
変化を追跡できる動的な事実情報。 たとえば、プレイヤーが何回ジャンプしたかを追跡し続けます。
仕掛け設定と Verse について詳しくは、「ペルソナ仕掛け」および「ペルソナ仕掛け Verse API」を参照してください。
ユーザーインターフェース
この仕掛けには、プレイヤーがペルソナ ベースの NPC を識別し、会話の開始方法を理解し、実際に会話していることを認識できる、デフォルトの UI オプションが含まれています。 ユニークなデザインにするには、仕掛けの視覚的なインタラクションやアイコンを表す、カスタム UIを作成できます。
カスタム UI では、仕掛けがプレイヤーの音声をキャプチャするタイミングを明確に示す必要があります。
さまざまな UI を備えた仕掛けの使用例としては、[ユーザー インターフェースの機能テンプレート]を開きます。 テンプレートのアセットを島に取り込むことができます。