レゴ® アクション アドベンチャー テンプレートには、クエスト、戦闘、パズルを備えたクラシックなアクション アドベンチャー ゲームプレイの構成要素が用意されています。 何より、このテンプレートにはレゴ® アセンブリの仕掛けがあるため、認定されたレゴ プロフェッショナル ビルダーであることをユーザーに証明できます。 リラックスできる雰囲気と心地よい音を楽しみながら、この体験に浸りましょう。
このゲームプレイでは、宇宙はたった 1 つですが、救うべき世界や、かぶるべき帽子が数多くあります。 Warrior、Blaster、または Thief になり、各クラスのペルソナのプレイ スタイルを変更して独自のツールを活用しながら、クエストのロックを解除します。 各クラスを使用して「厄介な敵と戦いながら宇宙を救う」という任務を遂行し、ヒーローになりましょう。
レゴの世界では、英雄的な行為は報われます。 行動に基づきスタッドが授与されます。それを使って小道具を組み立てて新しいエリアのロックを解除したり、クエストの要件を満たしたり、ゲーム内のトロフィーのロックを解除したりできます。 各クラスを進めていくと、障害を乗り越えながら緊張感を保つ、やりがいのある試練に遭遇します。
各クラスのクエストの最後には、バナナが腐っていることがわかります。 Verse ベースの攻撃システムで悪党のピーリーボーン NPC とのボス戦を行うかどうかは、自分で決められます。 武器に合わせて戦闘スタイルを変えると、各クラスでこの戦闘を迎えることになります。
すべてが終わったら、次のウォークスルーに沿ってチュートリアルでゲームプレイを終了し、この体験を再現するメカニズムを学んで宇宙を救いましょう。 ヒーローである皆さんの冒険の成功を祈っています。
レゴ アクション アドベンチャー テンプレートにアクセスする
UEFN 内でこのテンプレートにアクセスするには、以下の手順に従ってください。
[Project Browser (プロジェクト ブラウザ)] 内で、[Brand Templates (ブランド テンプレート)] に移動し、[All Brands (すべてのブランド)] ドロップダウンを使用して [LEGO® Island (レゴの島)] を選択します。
レゴ アクション アドベンチャー テンプレートを選択します。 次に、[Project Name (プロジェクト名)]の下にプロジェクトの名前を入力します。
[Project Defaults (プロジェクト デフォルト)] で、プロジェクトを Unreal Revision Control 下に置くかどうかを設定し、[Team Selection (チームの選択)] を設定します。
[Create (作成)] をクリックしてプロジェクトをロードします。
カスタム クエストを作成する
アクション アドベンチャー テンプレートは、ゲームプレイ全体を通してプレイヤーに目的意識を与える多くのクエストを提供しています。 これらのクエストは永続データを通じて個別に追跡されます。
セッションを起動すると、クエストを作成しながらテストできるようになります。
Verse の仕掛けを作成して、ゲーム内でクエストを設定し、レゴ® コレクティブル スタッドなどのアイテムをプレイヤーへの報酬として付与することができます。 このクエスト システムを使用して、ゲームプレイのストーリーを進めることもできます。
クエスト開始、クエスト中止、クエスト完了などのイベントを通じて、クエスト開始時にアイテムを出現させることができます。
クエスト システムを作成するには、以下の手順に従います。
ビューポート ツールバーで、LEGO_quest_giver という名前の Verse の仕掛けを作成し、プロジェクトにドラッグします。
次に、2 つのボタンの仕掛けをプロジェクトにドラッグします。
1 つに「button_quest_giver」という名前を付け、もう1つに「button_quest」という名前を付けます。
次の Verse コードをプロジェクトに追加します。
Verseusing { /Fortnite.com/Characters } using { /Fortnite.com/Devices } using { /Verse.org/Simulation } using { /UnrealEngine.com/Temporary/Diagnostics } # ==================================================================================================================================== # LEGO quest giver device that manages a linear quest system # ====================================================================================================================================コンテンツ ブラウザから、[Fortnite (フォートナイト)] > [Devices (仕掛け)] > [Logic (ロジック)] に移動し、2 つのトラッカーの仕掛けをプロジェクトにドラッグします。
1 つに「tracker_main_quest 」という名前を付け、もう 1 つに「tracker_quest_giver」という名前を付けます。
プレイヤーがクエストをアクティブ化できるように、NPC 付近の目に見える場所に button_quest ボタンの仕掛けを配置します。
button_quest_giver ボタンの仕掛けを NPC のホログラム内に配置して、隠れるようにします。
コンテンツ ブラウザから、[Fortnite (フォートナイト)] > [Devices (仕掛け)] > [!Beta] に移動し、NPC スポナーの仕掛けをプロジェクトにドラッグします。
クエストの仕掛けを設定する
次に、LEGO_quest_giver の仕掛けを構成し、デバイスをリンクして最初のクエスト システムを設定します。 これを実行するには、以下のステップを実行します。
プロジェクトまたはアウトライナー パネルで、LEGO_quest_giver の仕掛けを選択します。
仕掛けの [Details (詳細)] で、[QuestGiverName] に移動し、NPC のクエスト付与名を設定します。
次に、[Button_Interact] に移動し、オプションを [button_quest_giver] に設定します。
[TrackerDevice] に移動し、オプションを [tracker_quest_giver] に設定します。
クエスト システムは、[lego_quest] または [lego_quest_repeatable] のいずれかの配列として設定されます。 レゴ クエストは、プレイヤーが任意の順序で進行できる単一のクエスト システムです。
繰り返し挑戦できるクエストを作成する
繰り返し挑戦できるクエストの場合は、スタッドを継続的に拾うことを要求するメカニズムを作成したり、複数回倒すことができる敵を設定したりすることもできます。
LEGO_quest_giver の仕掛けの [Details] パネルで、クエストの [+] アイコンを選択して、[Quests (クエスト)] に配列要素を追加します。
配列が [LEGO_quest] に設定されていることを確認してから、[Name (名前)] に移動して、クエストの名前を入力します。
[Display Text (表示テキスト)] 配列を展開し、ダイアログのテキストを設定します。
[Quest] 配列で、[TrackerDevice] に移動し、オプションを [tracker_main_quest] に設定します。
クエストを繰り返し挑戦できるように設定しない限りは、プレイヤーは新しいクエストの承認ができません。 トリガーの仕掛けを構成して、クエストの進行をリセットすることもできます。
クエストをリセットする
クエストをリセットするには、以下の手順に従ってください。
コンテンツ ブラウザから、[Fortnite] > [Devices] > [Logic] に移動し、トラッカーの仕掛けをプロジェクトにドラッグします。
アウトライナー パネルで、LEGO_quest_giver の仕掛けを選択します。
次に、[Details] パネルで [Trigger_ResetProgress] ドロップダウンをクリックし、トリガーの仕掛けを選択します。
アウトライナー パネルで、[Demo Area (デモ エリア)] > [DemoDisplay_Quest] に移動して、事前設定されたデモ クエストを表示します。
トラッカーを設定する
トラッカーの仕掛けを使用すると、レゴ クエストを増加、減少、完了することができます。 各クエストに、進行状況を管理するための独自のトラッカーの仕掛けを割り当てる必要があります。
繰り返しの挑戦が不可能かつ基本的なクエストを作成するには、以下の手順に従います。
アウトライナー パネルで、tracker_main_quest トラッカーの仕掛けを選択します。
[Details] パネルで、[Stat to Track (トラッキングする統計データ)] を [Events (イベント)] に設定します。
開始値がゼロになるように、[TargetValue] を「1」に設定します。 この値は、クエスト ステップが完了するたびに増加します。 クエスト ステップを増やすには、値を増やして、完了イベントによってトラッカーが継続的に増加するようにします。
[Amount to Change (変化させる量)] を「1」に設定します。
[IncrementProgress] に移動し、配列を [ButtonQuest] に設定し、イベントを [OnInteract] に設定します。 アクション アドベンチャー テンプレートで作成されたクエストと同様、複数のイベントをクエスト要件として設定することで、これを増やすことができます。 たとえば、ワールドに入る、秘密の扉を開く、ボスを倒すといったクエスト要件を設定できます。
アウトライナー パネルで、tracker_quest_giver トラッカーの仕掛けを選択します。 次に、[Details] パネルで、[Assign on Start (開始時に割り当て)]を「False」に設定します。
NPC スポナーを設定する
NPC スポナーの仕掛けを使用すると、巡回したりプレイヤーと戦闘したりする動作をするガード キャラクター タイプをスポーンできます。
NPC スポナーの仕掛けでカスタム Verse NPC キャラクター定義を使用するには、以下の手順に従います。
プロジェクトのコンテンツ フォルダから、「NPCDef_QuestGiver」という名前のキャラクター定義ブループリントを作成します。
キャラクター定義の [Details (詳細)] パネルで、以下の表に合わせて設定を変更します。
オプション
設定値
説明
タイプ
ガード
この SpawnDefinition によってスポーンされる AI キャラクターのタイプを定義します
選択済みAI
NanaSplit
このプリセットからスポーンする AI キャラクターを選択します。
Behavior (動作)
Verse動作
スポーン済み AI キャラクターがスポーンされたときにどのように動作するかを定義します
NPC動作スクリプト
npc_behavior_quest_giver
スポーン済みの NPC を制御するには npc_behavior 型の Verse スクリプトを選択します。
命中率
中
ガードの射撃精度を決定します。
Can be Down But Not Out (ダウン状態可能)
オフ
NPC は Down But Not Out (ダウン状態) にはなりません。
モディファイヤ - インデックス [0]
Team Modifier
適用するモディファイアを設定します。
チームオプション
インデックス
チーム タイプを設定します。
チームインデックス
1個
チーム タイプの番号を設定します。
アウトライナー パネルで、NPC スポナーの仕掛けを選択します。
[Details] パネルで、NPC キャラクター定義を NPCDef_QuestGiver に設定します。
レゴ® スタッドを付与する
ゲームプレイ中、プレイヤーのアクションや敵の倒し方に応じてレゴ® コレクティブル スタッドを授与することで、プレイヤーに報酬を与えることができます。 スタッドは手動で配置することも、Verse を使用して環境全体にランダムにスポーンするように設定することもできます。これにより、ユーザーは NPC を排除したり、小道具を破壊したり、組み立てミニゲームを完了したりすることでスタッドを取得できます。
アクション アドベンチャー テンプレートでは、プレイヤーはストーリーを進めたりゲーム内トロフィーを購入したりするために使用可能なスタッドを授与されます。 プレイヤーが収集可能なスタッドを作成するには、コレクティブルの仕掛けを使用します。
オブジェクト プールを使用すると、ゲームプレイ全体を通じてスタッドを効率的に付与できます。 オブジェクト プールは、大量のオブジェクトをスポーンする場合に便利です。
スタッドを絶えず作成して破壊する代わりに、ゲーム開始前にスタッドを事前に作成しておき、必要に応じてスポーンすることができます。 事前に作成されたオブジェクトを使用すると、設定された位置でアクティブにして解放することができます。 スタッドなどのリソースを事前に初期化すると、メモリの再割り当てに関連するパフォーマンス コストを削減できます。
このテンプレートは、LEGO_stud_spawner_pool Verse の仕掛けとともにアイテム スポナーの仕掛けを使用して、SpawnStudsAtLocation() 関数でスポーンするスタッドの場所と数を指定します。 これにより、必要な数のアイテム スポナーの仕掛けがスタッドをスポーンする場所にテレポートされます。 アイテム スポナーの仕掛けがその場所にスタッドをスポーンすると、そのスタッドはプールに再度追加され、再利用できるようになります。
レベルにアイテム スポナーの仕掛けを追加し、関連付けられたプール タグを付与すると、必要なときに必要な場所にアイテムが集約され、スポーンされるようになります。
オブジェクト プールを作成する
スタッドをスポーンするオブジェクト プールを作成するには、以下の手順に従います。
[Verse Explorer] パネルで、「LEGO_stud_pool」という名前の Verse の仕掛けを作成し、プロジェクトにドラッグします。
次の Verse コードをプロジェクトに追加します。
Verseusing { /Fortnite.com/Devices } using { /Verse.org/Colors } using { /Verse.org/Simulation } using { /Verse.org/Simulation/Tags } using { /UnrealEngine.com/Assets } using { /UnrealEngine.com/Temporary/Diagnostics } using { /UnrealEngine.com/Temporary/SpatialMath } # ============================================================================================================================================[Details] パネルで [+Add (追加)] をクリックし、Verse Tag Markup を選択します。
[Tags (タグ)] ドロップダウンで配列を展開し、[LEGO_stud_pool_tag] を選択します。
アイテム スポナーを追加する
各アイテム スポナーの仕掛けは、スタッド コレクティブルを 1 つだけスポーンできます。 したがって、スポーンしたいスタッドの数と同じ数のアイテム スポナーの仕掛けをプール内に用意する必要があります。 アイテム スポナーの仕掛けを設定するには、以下の手順に従ってください。
コンテンツ ブラウザから、[Fortnite] > [Devices] > [Items (アイテム)] に移動し、アイテム スポナーの仕掛けをプロジェクトにドラッグします。
[Details] パネルで、[Item List (アイテム リスト)] に配列を追加し、それを CP_Ingredient_GoldStud に設定します。
[Initial Movement of Item (アイテムの初期動作)] に移動し、収集時のバウンス効果のオプションを [Toss (投下)] に設定します。
Verse Tag Markup を追加し、それを [lego_stud_itemspawner_tag] に設定します。
プールに必要な数のアイテム スポナーを配置するには、この仕掛けを必要な回数コピーして貼り付けます。
プールを使ってスタッドをスポーンする
上記のアイテム スポナーを使用して、ゲームプレイ中にスタッドをスポーンできます。 つまり、通常の仕掛けのみを使用して複数のゲームプレイ イベントに応答できるということです。
たとえば、NPC が排除されたとき、アセンブリの仕掛けの要件が満たされたとき、またはクエストが完了したときにスタッドをスポーンできます。
クエスト完了時の報酬としてゲームプレイ中にスタッドのプールをスポーンするには、以下の手順に従ってください。
アウトライナー パネルで、先ほど作成したレゴのクエスト依頼者の仕掛けを選択します。
クエスト配列に移動して展開し、報酬セクションを見つけます。 次に、[lego_stud_spawner] に設定されているかどうかを確認します。
[Amount (量)] の下で、プレイヤーに授与するスタッドの量を設定します。 アイテム スポナーの仕掛けは 1 つのアイテムしかスポーンできないため、賞金額ごとにアイテム スポナーの仕掛けが必要になります。 したがって、報酬が 15 の場合、これらを同時にスポーンするには 15 個のアイテム スポナーの仕掛けが必要になります。
アイテム スポナーの仕掛けの Verse Markup Tag と一致するように、[SpawnType] を [Toss] に設定します。
セッションを起動して、スポーンが機能するかどうかをテストできます。
Verse ベースの攻撃システムを作成する
ボス戦なしでは冒険は完結できません。 プレイヤーは戦略を駆使して、倒すべき強力な NPC の敵に挑みます。
このテンプレートでは、NPC は爆破仕掛けをプレイヤーにテレポートさせる範囲攻撃 (AOE) と、プレイヤーを一時的に停止させるスタン攻撃を使用します。
バトルアリーナでは、プレイヤーはクラスベースの戦闘強化や戦闘を支援するさまざまなパワーアップを期待できます。
NPC 攻撃コントローラー Verse の仕掛けを変更して、NPC が使用する攻撃の頻度と種類を制御できます。
以下のコードを独自のプロジェクトに挿入することで、NPC ボス戦の独自のバリエーションを作成できます。
using { /Fortnite.com/Characters }
using { /Fortnite.com/Devices }
using { /Verse.org }
using { /Verse.org/Assets }
using { /Verse.org/Colors }
using { /Verse.org/Random }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Assets }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
島を設計する
以下に、素晴らしいゲームプレイ体験の要素をまとめるためのヒントをいくつか紹介します。
プレイヤーを楽しませ続けられるカスタム UI を作成して、プロジェクトをさらに進めましょう。 このテンプレートでは、通常の UI デザインとは異なる、プレイヤーのポートレートとハートの体力バーを使用しています。
プレイヤーが迷わないようにしましょう。 レゴ® コレクティブル スタッドを戦略的に配置することで、プレイヤーを希望の経路に沿って誘導できます。
パズルの難易度が上がるにつれて、HUD ヒントやテキスト提案を提供して、プレイヤーを正しい方向に導くようにしてください。
アセンブリの仕掛けを使用して、隠れたエリアのブロックを解除します。 また、この仕掛けをムービー シーケンスや小道具移動装置の仕掛けと組み合わせることで、アセンブリ ビルドを生き生きとしたものにできます。
UEFN ツールバーの Verse をクリックして、このゲームプレイの作成に使用された Verse コード全体を必ず確認してください。