In diesem letzten Schritt findest du den gesamten Code, mit dem das Projekt erstellt wird. Jede Überschrift im Folgenden ist der Name der Datei im Projekt, in der sich der Code befindet.
Versuche, den Code zu ändern und Möglichkeiten zu finden, dem Minispiel weitere Funktionalität hinzuzufügen. Dies sind einige Ideen, die dich auf den Weg bringen können:
Füge weitere Level hinzu, die der Charakter lösen kann.
Verfolge, wie lange der Spieler benötigt, um das Rätsel zu lösen, oder wie viele Bewegungen der Charakter pro Level ausgeführt hat.
Füge weitere Befehle für den Charakter hinzu, um komplexere Rätsel zu erstellen, wie zum Beispiel das Aufnehmen von Gegenständen und das Platzieren auf dem Plan.
submodules.verse
Die Projektdatei submodules.verse legt die Zugangsebene für Untermodule und Assets im Projekt fest, sodass sie im Verse-Code verwendet werden können. Weitere Details findest du in Schritt 5. Steuern des NPC über die UI und Freigabe von Assets für 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
Die Projektdatei verse_starter_tags.verse enthält die Definition für das Gameplay-Tag verse_commander_minigame_tag, mit dem das Verse-Kommandant-Charakter-NPC-Script das Verse-Kommandant-Minispiel-Gerät finden und seinen Events lauschen kann. Weitere Details findest du in Schritt 1. Erstellen des NPC-Verhaltens.
# 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
Die Projektdatei commands.verse im Teilmodul VerseCommander enthält die Datendarstellung aller Befehle, die der NPC erhalten kann. Weitere Details findest du in Schritt 4. Darstellen der Befehlsdaten.
# 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
Die Projektdatei gameboard.verse im Teilmodul VerseCommander enthält die Spielplandaten und das Verhalten. Weitere Details findest du in Schritt 2. Definieren von Plänen für das Spiel.
# 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
Die Projektdatei ui_manager.Verse im Untermodul VerseCommander enthält den Code zum Erstellen und Verändern der UI-Darstellung. Weitere Details findest du in Schritt 5. Steuern des NPC über die Benutzeroberfläche.
# 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
Die Projektdatei verse_commander_minigame.verse im Teilmodul VerseCommander enthält das Verse-Gerät, welches das Minispiel verwaltet. Weitere Details findest du in Schritt 6. Verwalten der Spielschleife.
# 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
Die Projektdatei verse_commander_character.verse im Teilmodul VerseCommander enthält die Logik für den NPC des Minispiels. Weitere Details findest du in Schritt 1. Erstellen des NPC-Verhaltens.
# 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 }