システム / Quests
Quests System Fab で販売中
シングルプレイヤーゲーム向けのデータ駆動クエストシステムで、インターフェースも完成済みです。クエストは Data Asset で、ゲーム側は 1 つのノードで起きたことを報告し、控えめな HUD がそれを表示します。トラッカー、通知キュー、ジャーナル、クエストの提示、クエスト会話、ワールドマーカー、コンパス。すべて 1 つのスナップショットに保存されます。
1 分 46 秒:クエストの提示、会話、トラッカー、コンパス、ジャーナル、デモ。音楽のみ。
紹介用のキャラクターは含まれません。トレーラーと画像のキャラクター(Kay Lousberg 氏の KayKit Adventurers、CC0)はパッケージに入っていません。デモには専用のシンプルなリグ付きフィギュアが 3 体付属します。
できること
テスト済み:UE 5.3 と UE 5.8(Windows)で 61 件の自動テストに合格。i7-14700 と RTX 4060 で 1920x1080 にて計測:デモマップは 1 フレーム 12.2 ms、クエスト HUD の負荷はゲームスレッドで 0.07 ms です。
データで作るクエスト
クエストはカタログ内の Data Asset です。並行する目標を持つステップ、任意の目標と隠し目標、前提条件、レベルやワールドの条件、制限時間、クールダウン付きの繰り返しクエスト、探索で見つかる隠しクエストに対応します。
10 種類の目標、1 つのノード
Kill、Collect、Deliver、Talk、Explore、Craft、Escort、Defend、Puzzle、Custom。ゲーム側は ReportEvent で起きたことを報告し、イベントはそれを待っている目標にだけ届きます。
報酬とセーブはゲーム側に
報酬はゲームに渡されるだけで、勝手に適用されることはありません。あらゆる場面にイベントがあり、1 つのスナップショットがすべてのクエストを SaveGame 用に保持します。
クエスト会話
依頼人は提示の前に話し、Accept / Decline に応え、進行中のセリフを言い、報酬の前に礼を述べます。文字は 1 文字ずつ表示されます。話し手はアニメーションし、プレイヤーの方を向き、テキストに合わせて口を動かせます。
トラッカーと通知
トラッカーは右上の角の下に置かれるので、角はミニマップ用に空いたままです。通知は優先度キューで待機します。メインクエストが先、完了が開始より先です。
ジャーナルと提示パネル
進行中、完了、失敗をカテゴリー別にまとめ、検索と 5 種類の並べ替えに対応します。提示パネルには依頼人、目標、報酬が表示されます。
ワールドマーカーとコンパス
追跡中の目標に、距離付きのマーカーと画面端の矢印を表示します。コンパスはプレイヤーを中心に保ち、向きを変えると目標がスライドします。
アクセシビリティとツール
キーボード、マウス、ゲームパッドに対応。文字サイズ、モーション軽減、色だけに頼らない表示。コンソールチート、デバッグパネル、Quest Editor が付属します。
クイックスタート
マネージャーを追加
PlayerController に BP_QuestManagerComponent を追加し、Catalog を設定します。
HUD を表示
WBP_QuestHUD を作成してビューポートに追加し、マネージャーを渡して Setup を呼びます。ジャーナル用のキーから ToggleJournal を呼びます。
起きたことを報告
ゲームから ReportEvent を呼び、依頼人やオブジェクトに BP_QuestTargetComponent を付けます。
条件と報酬をつなぐ
PlayerController に BPI_QuestWorld を実装します。
できないこと
- キャラクターは含まれません。マネージャーはお使いの PlayerController に追加します。
- 分岐する会話はありません。選択肢は Accept と Decline のみです。
- ミニマップはありません。HUD はそのための角を空けています。
- 音声は含まれません。各通知、ジャーナル、提示パネル、会話には、お手持ちの音を入れる空のサウンドスロットがあります。
- マルチプレイヤーとレプリケーションには非対応。
- インターフェースは英語のみです。
- UE 5.4〜5.7 はテストしていません。