Making a quest
In this tutorial, we will create a fetch quest: the player must obtain a key from a rock and use it to unlock a door.
Along the way, we will combine map actions, events, dialogue, and conditional branches.
Setting up the maps
Section titled “Setting up the maps”Create two maps:
- Map 1 where the quest takes place
- Map 2 as the destination after unlocking the door
In Map 1, place a rock and a door using default assets.
Setting up game data
Section titled “Setting up game data”Create the supporting data before wiring gameplay:
- Create an actor named
Tom - Pick a spawn position for Tom
- Create a switch variable named
Player has key
Creating events
Section titled “Creating events”Create three events for this quest: one for the door, one for Tom, and one for the rock.
Events do not need to be created in gameplay order. They are reusable collections of actions that run when triggered. Map actions are separate and run automatically when the map loads.
Door interaction event
Section titled “Door interaction event”This event handles two outcomes: locked door (no key) and transfer to Map 2 (has key).
- Go to the map editor and create a new event under the Events section
- Name it
Unlock door - Add a Conditional action:
If player has key = False - Add a dialogue action in that branch with text:
The door is locked. - Add another conditional branch:
If player has key = True - Add a TransferPlayer action in that branch targeting
Map 2 - Set the transfer position to the door location
Tom interaction event
Section titled “Tom interaction event”This event changes dialogue based on whether the player already has the key.
- Create another event named
Tom interaction - Add a conditional branch:
If player has key = False - Add dialogue text:
You have to get the key from the rock. - Add the
If player has key = Truebranch - Add dialogue text:
You can proceed.
Rock interaction event
Section titled “Rock interaction event”This event gives the key once, then disables itself.
- Create an event named
Get key from rock - Add dialogue text:
Found key! - Add a Set Variable action to set
Player has key = True - Add a Remove Event action targeting
Get key from rock
Wiring map actions
Section titled “Wiring map actions”Now add map actions to place Tom and register the three events on the map.
- Add a Spawn actor map action for Tom
- Add an Add Event action for
Get key from rockwith an interact trigger at the rock position - Add an Add Event action for
Tom interactionwith an interact trigger at Tom’s position - Add an Add Event action for
Unlock doorwith an interact trigger at the door position
That’s it. You now have a complete fetch quest flow with actions, events, and conditional branching.
Important note: restart the game between test runs so Player has key resets properly.