The Quest asset contains a collection of Tasks that are required to be completed in order to consider the Quest fulfilled.
A naive approach is to consider a single Quest as the main quest, while having multiple Quest assets for each side-quest of a game. However, because the main quest of a game might quickly become very big, it's advisable to split it into multiple Quests and activate these when completing the previous ones.
At the end though, it's you who decides how to organize the Quests of your game.
To create a new Quest asset, right click on the Project Panel and select Create → Game Creator → Quests → Quest.
The Quest asset has three very distinct sections:
The top section includes general information about the Quest such as its Name or a Description (if any). It also optionally allows to determine a Color and a Sprite image used in UI.
The Type field determines whether the Quest is a hidden quest, or a normal one.
Hidden quests can be hidden from UI elements and are useful for setting up missions that should not be displayed to the user. For example, an achievement system.
The Sorting Order determines the priority of the Quest compared to the rest, when being displayed as a list on UI elements. A Quest with a higher value will be displayed above other Quest assets.
The ID is a unique identifier that distinguishes a Quest from others.
Two Quests with the same ID
If there are two Quest assets with the same ID value, an error message will appear above. To resolve it, click on any of the fields and it will reveal a button that regenerates the current value with a unique one.
The second section of the Quest asset is the Tasks Hierarchy, which controls how the Quest runs. We cover this section in detail on the Tasks page.
The last section contains a collection of Instructions that are executed when the Quest changes its state.
When a Quest is Completed
For example, the On Complete instructions will be executed as soon as the Quest is successfully completed. This can be used to give the Player some rewards, display a notification, etc...
A Quest starts in an Inactive state. In order to start a quest, the instruction Quest Activate can be used, which will enable it in a particular Journal component.
When activating a Quest, the first root Task is also activated. This process cascades to any other subtasks the Task may have. Once the first Task is completed, its next sibling is Activated. This process is repeated until all root Tasks are finished.
See the Tasks States for more information about running tasks.
An Active quest can then either transition to Inactive, or one of the following Finished states:
A quest is automatically Completed if all of its root tasks are completed (in sequence, from top to bottom). If a root task is Abandoned or Failed, the quest will also be automatically Abandoned or Failed respectively.
At any point, a quest can be deactivated using the Quest Deactivate instruction.