The quest system allows creating complex quests with multiple tasks, rewards and automatic progress.
While you also can create quests by using schematics and logs, the quest system offers a convenient way to combine quest information and UI, rewards, navigation markers and quest progress. The quest’s progress is separated into different quest tasks – the progress can optionally be handled automatically (e.g. finishing a task after killing the required amount of enemies).
To get your quests into your game, you still need schematics to add the quest and display dialogues.
The player’s quests can be displayed using Quest menu screens and Quest HUDs
Quest Settings #
The quest settings define some basic quest-related settings. They can be found in Game > Quest Settings & Types > General Settings.
E.g. define the number of quests that can be active at the same time or if quest notifications are queued.
Quest Layout #
The quest layout is used to define how quests are displayed in menu screens and quest dialogues.
The quest layout can list rewards, quest tasks and requirements.
Each quest, Quest menu screen and quest dialogue can optionally override the default layout.
Notifications #
Define notifications for changes in quests, quest tasks and when a task’s finish requirements change.
Learn more about notifications in this documentation.
Quest Types #
Quest types are used to organize quests by separating them into different types.
You’ll mainly use them to filter quests in the editor and in-game menus (menu screens) and HUDs. Quest types can be sub-types of other quest types for a more detailed organization.
The quest type also defines the item type of it’s quests, e.g. for when they’re sold in shops.
Quest types are set up in Game > Quest Settings & Types.
Quests #
Quests are the basic container for quest tasks. They are set up in Game > Quests.
Settings #
Define the basic settings of a quest.
Learn Logs #
Quests can optionally add log texts when a quest was added, finished or failed.
Availability Conditions #
Optionally use conditions to determine if a quest is available.
E.g. use combatant status or variable conditions. Uses the player combatant (i.e. the leader of the player group) for the checks.
The quest can’t be added if it’s not available – e.g. this would still allow you to display a quest dialogue, but accepting the quest wouldn’t be possible.
Quest Text #
Define the text explaining the quest.
The quest text can be displayed in menu screens and dialogues.
Rewards #
A quest can give the player rewards when it’s finished.
Experience Rewards #
Gives the player or whole player group defined Experience type status values as rewards.
Normal Status Value Rewards #
Gives the player or whole player group defined Normal type status values as rewards.
E.g. allows increasing status values through quests.
Item Rewards #
Add items, equipment, currencies, crafting recipes or AI behaviours/rulesets to the player’s inventory.
UI #
Define UI related settings for the quest.
Quest Status Icons #
Optionally use different icons for a quest based on it’s state.
E.g. display a different icon for unavailable quests or when the quest is active or finished.
Portraits #
Add portraits to quests and display them in menu screens or HUDs.
Information Overrides #
Quests can override the default quest layout, notifications and console texts.
Quest State #
Quests that are added to the player’s quests have four different states that determine how they’re handled:
- Inactive
The quest is currently inactive and wont have automatic task status changes, requirement updates or display navigation markers – i.e. even if you kill a required enemy or collect a required item, it wont be recognized and update the quest’s tasks.
The quest can only be set active in this state. - Active
The quest is currently active, automatic task changes and requirements are used and navigation markers are displayed.
The quest can be set inactive, finished or fail in this state. - Finished
The quest is finished – no further actions are possible.
When setting a quest to finished, you will receive the quest’s rewards. - Failed
The quest failed – no further actions are possible.
When setting a quest to failed, you wont receive the quest’s rewards.
Quest Tasks #
Quest tasks are used to break a quest down into smaller parts. They are set up in Game > Quest Tasks.
Quest tasks can track the progress of their requirements, e.g. register when an enemy needed for the task is killed or an item was collected.
Settings #
Define the basic quest task settings, including which quest the task is part of.
Navigation Markers #
Optionally add navigation markers while a quest task is active.
Navigation markers are used by Navigation type HUDs to display important positions in the game.
Via set up scene connections (Game > Scene Connections) the navigation markers can be used to display a the path to the target scene by marking the position of the scene changers leading to it.
Quest Text #
Quest tasks can update the quest’s text.
The quest text can be displayed in menu screens and dialogues.
Rewards #
A quest task can give the player rewards when it’s finished.
Experience Rewards #
Gives the player or whole player group defined Experience type status values as rewards.
Normal Status Value Rewards #
Gives the player or whole player group defined Normal type status values as rewards.
E.g. allows increasing status values through quests.
Item Rewards #
Add items, equipment, currencies, crafting recipes or AI behaviours/rulesets to the player’s inventory.
Activate Requirements #
Define the requirements that must be met for a quest task to be active/available. E.g. the task can be made available once a different task has been finished.
If no requirements have been added, the task will be available once its quest has been learned.
Activating and inactivating the quest task can use a schematic.
Learn Logs #
Optionally add log texts when a quest task was activated.
Finished Tasks #
Define quest tasks that need to be finished.
This is tracked automatically, i.e. when a task finishes, it’ll automatically be registered in this requirement.
Items #
Requires a defined item and quantity to either be in the player’s inventory or be collected.
This is tracked automatically, i.e. when the player collects an item, it’ll automatically be registered in this requirement.
Enemy Kills #
Requires the player to kill a defined number of combatants or combatants of a combatant type.
This is tracked automatically, i.e. when the player kills a defined enemy, it’ll automatically be registered in this requirement.
Count #
The count requirement can be used for custom requirements.
The count can be changed using schematics and is identified by it’s defined tag, i.e. the count matching a defined tag will be changed.
This isn’t tracked automatically and has to be changed via schematics.
Conditions #
A quest task can be made available based on valid conditions, e.g. the player’s combatant status or variable conditions.
Finish Requirements #
Define the requirements that must be met for this task to be finished. E.g. the task can be finished once a defined quantity of enemies has been killed.
Finishing the quest task can use a schematic.
The individual requirements have the same setup as the Activate Requirements. Finish requirements can also learn new log texts when the task was finished.
Fail Requirements #
Define the requirements that must be met for this task to fail. E.g. the task can fail once another task is finished.
Failing the quest task can use a schematic.
The individual requirements have the same setup as the Activate Requirements. Failed requirements can also learn new log texts when the task failed.
UI #
Define UI related settings for the quest task.
Task Status Icons #
Optionally use different icons for a quest task based on it’s state.
E.g. display a different icon for active or inactive quest tasks.
Information Overrides #
Quest tasks can override console texts.
Quest Task State #
Quest tasks have four different statuses that determine how they’re handled:
- Inactive
The task is not yet available – no automatic status changes, requirement updates or navigation marker displays.
It can only be set active in this state. - Active
The task is currently active and will do automatic status changes, requirement updates and display navigation markers.
The task can’t be set inactive any more – you can only finish or fail the task. - Finished
The task is finished – no further actions are possible.
When setting a task to finished (or it’s finished automatically), you will receive the task’s rewards.
Finishing a task can optionally also finish the task’s quest. - Failed
The task failed – no further actions are possible.
When setting a task to failed (or it failed automatically), you wont receive the task’s rewards.
Failing a task can optionally also fail a task’s quest.
Using Quests #
Quests can be added and used in different ways.
Schematics #
Schematics are used to animate your quest interactions, e.g. display dialogues, play animations, etc., as you would for a regular interaction or cutscene.
Schematics can add quests using the Add Quest node. There are additional nodes available to change and check the state of quests and quest tasks.
You can display a choice dialogue with a quest’s content information using the Quest Choice node. Please note that this node only shows the information, accepting the dialogue doesn’t add the quest – use the Add Quest node for that.
Quests can also be used as selected data using the Select Quest node.
Shops #
Shops can sell quests to the player. Buying a quest will add it to the player’s quests.
Learn more about shops in this documentation.
Research Trees #
Research items can add a quest to the player’s quest when it’s research finished.
Learn more about research trees in this documentation.
Conditions #
Many condition checks throughout the framework, both in settings and components, offer quest and quest task status checks.