Quest Editor

Quest Editor is a tool in which you gather all assets made with other tools and put them all into motion. You will use it to play dialogues, cutscenes, make NPCs walk, work, fight, etc. It is a vital tool for quest designers, in which the whole game structure is made.


Basics


The Quest editor is a graphical editor, similar to Scene Graph Window in Scene Editor. Each block you use has its own properties, displayed on the left panel of the editor.



It is based on the idea that there is a signal, which starts in one place (Start block), proceeds through connections between blocks and starts multiple actions in the process. Signal can be diverted between multiple connections, which means that it can be in two or more places simultaneously. When any signal reaches End block, the whole quest ends killing any other signal that may still be going inside.

While implementing a quest, you will have to use many types of pause conditions (to hold signal in place, until certain requirements are met), conditions, and other blocks to control the flow of the quest properly.

NOTE: It is suggested, that you put comments for most blocks you’re using (especially pauses and conditions), to make your quests more transparent for your co-workers.

To add a block, you simply click RMB and choose desired block type from menu (they are divided into sub categories). To connect two blocks you click and hold LMB on one block output, and drag connection to another block input (or vice versa). Clicking on a connection will mark it with X letter, which means it’s temporarily broken (signal won’t pass through it).
To remove a connection, right-click on one of the dots it is connected to and click on Delete.

NOTE: A detailed list of quest blocks will be placed at the end of document.

Subgraphs


To keep a clean structure, blocks can be closed in subgraphs (in editor called phases). Subgraphs can have unlimited number of inputs and outputs, as well as another subgraphs embedded within them. To enter a subgraph, simply double click on a phase.

Deletion markers & Patch Outputs


Patch outputs and deletion markers are functionalities for patching process of the game.

The rule for deletion markers is simple – when you delete any block or group of blocks, they will be replaced with Deletion Marker block. If player had a saved game, in which signal was waiting on any of blocks within this Deletion Marker, the signal will exit through Deletion Marker output, without causing any blockers. To remove Deletion Marker permanently just select it and delete it again.
Patch outputs are releasing signal whenever a saved game with active block, on which you added patch output, is loaded. You can add it by right-clicking on a block and choosing the right option.