この最終ステップでは、プロジェクトの作成に使用されるすべてのコードを確認できます。 以下の見出しは、コードが存在するプロジェクトのファイル名です。
コードを変更して、ミニゲームにさらに機能を追加する方法を確認します。 開始するにあたって、以下にいくつかのアイデアを示します。
キャラクターが解決するレベルを追加する。
プレイヤーがパズルを解くのにかかった時間またはキャラクターがレベルごとに実行した移動数をトラッキングする。
アイテムの選択やアイテムのボードへの配置など、キャラクターが複雑なパズルを実行するコマンドを追加する。
submodules.verse
プロジェクト ファイル「submodules.verse」では、Verse コードで使用できるようにプロジェクト内のサブモジュールとアセットのアクセス レベルを設定します。 詳細については、「5. NPC を UI で制御する」のステップと「UEFN 内のアセットを Verse に公開する」を参照してください。
# This file sets the access levels for submodules in the project.
# Specifically, this file is making art assets accessible to the Verse files in the project
# so textures, meshes, and materials can be used in the UI and in the game.
# The submodule Textures.MiniGameUI below is the same as the folder
# Textures/MinigameUI that you can see in the project's Content Browser.
Textures := module:
MiniGameUI<public> := module{}
# The submodule VerseCommander below is the same as the folder
verse_starter_tags.verse
プロジェクト ファイル「verse_starter_tags.verse」にはゲームプレイ タグ verse_commander_minigame_tag の定義が含まれています。Verse コマンダー キャラクターの NPC スクリプトはこれを使用して、Verse コマンダー ミニゲームの仕掛けを見つけ、イベントをリッスンできます。 詳細については、「1. NPC 動作を作成する」のステップを参照してください。
# This file contains the Gameplay Tags for the project.
# You can use Gameplay Tags to tag an object in the island
# and be able to query all objects that have the tag during the game using Verse.
using { /Verse.org/Simulation/Tags }
# The verse_commander_minigame_tag is for the Verse Commander Character NPC script
# to be able to find the Verse Commander Minigame device and listen to its events.
verse_commander_minigame_tag := class(tag){}
commands.verse
サブモジュール VerseCommander のプロジェクト ファイル「commands.verse」には、NPC が受信できるすべてのコマンドのデータ表現が含まれています。 詳細については、「4. コマンド データを表現する」のステップを参照してください。
# This file contains the data representation of all the commands that the NPC can receive
# and utilities for the data to help with debugging and troubleshooting issues.
# Each type of command that the NPC can perform will be an instance of this class.
# The class has the unique specifier to make instances of the class comparable.
# The class has the computes specifier to be able to instantiate it at module-scope.
# The class has the abstract specifier so it cannot be instantiated directly, and
# requires subclasses to implement any non-initialized functions, like DebugString().
command := class<computes><unique><abstract>:
DebugString():string
gameboard.verse
サブモジュール VerseCommander のプロジェクト ファイル「gameboard.verse」には、ゲームボード データと動作が含まれています。 詳細については、「2. ゲームのボードを定義する」のステップを参照してください。
# This file contains the gameboard structure and how it works.
# The gameboard knows where the NPC is supposed to start on the board
# how many obstacles / barriers there are to getting to the end goal,
# and what the end goal is and when it has been reached.
using { /Fortnite.com/Devices }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Simulation }
using { /Verse.org/Simulation/Tags }
# An obstacle on the gameboard, with an associated set of
ui_manager.verse
サブモジュール VerseCommander のプロジェクト ファイル「ui_manager.verse」には、UI の外観を作成および変更するためのコードが含まれています。 詳細については、「5. NPC を UI で制御する」のステップを参照してください。
# This file contains all the code to create and modify the UI
# in the Verse Commander minigame.
# The UI for the game contains:
# - Buttons that map to commands for the NPC: forward, turn left, turn right.
# - An execute button that tells the NPC to perform the queue of commands.
# - A remove button that removes the last command added.
# - A reset button that resets the current board and clears out the command queue.
# - A dynamic list of commands that grows wider when a player adds commands and shrinks when a player removes commands.
using { /Fortnite.com/Devices }
verse_commander_minigame.verse
サブモジュール VerseCommander のプロジェクト ファイル「verse_commander_minigame.verse」には、ミニゲームを管理する Verse の仕掛けが含まれています。 詳細については、「6. ゲーム ループを管理する」のステップを参照してください。
# This device is in charge of managing the minigame.
# In its Details panel in the editor, you can:
# - Define how many gameboards there are
# - The order you play the gameboards
# - All the details of the gameboard such as their obstacles.
using { /Fortnite.com/Devices }
using { /Fortnite.com/UI }
using { /UnrealEngine.com/Temporary }
using { /UnrealEngine.com/Temporary/Diagnostics }
verse_commander_character.verse
サブモジュール VerseCommander のプロジェクト ファイル「verse_commander_character.verse」には、ミニゲームの NPC のロジックが含まれています。 詳細については、「1. NPC 動作を作成する」のステップを参照してください。
# This file handles the logic for the gameboard NPC. The NPC waits for commands from
# verse_commander_minigame, then executes movement based on those commands using navigation targets.
# It also tracks the NPC's position using a visual arrow that updates after each command.
using { /Fortnite.com/AI }
using { /Fortnite.com/Characters }
using { /Fortnite.com/Devices }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Assets }