# Text, Quests & Icons

## Text in the UI

{% hint style="success" %}
See [**Dialogue**](https://docs.sandbox.game/en/creator/game-maker/creative-guides/experience-design-techniques/narrative-design/dialogue) in our Narrative Design resources for information about creating engaging dialogue that fits within the technical limits, and communicating plans with a team.
{% endhint %}

{% hint style="success" %}
See [playability](https://docs.sandbox.game/en/creator/game-maker/docs/gm-guidelines/playability "mention") for tips to make your Experience Page and game UI more polished.
{% endhint %}

{% tabs %}
{% tab title="Objects" %}

### Apply Text via Objects

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><p><a data-mention href="../../docs/components/actions/speaker">speaker</a> component (object)</p><ul><li>Detect players, "bark" to get attention<br>(can send player source data)</li><li>Simulate a conversation between NPCs</li></ul></td><td><a href="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FNxLEC58vIm6FbBANyX3D%2Fimage.png?alt=media&#x26;token=1af6bcfb-ed14-4572-bfa5-97be8d200e59">image.png</a></td></tr><tr><td><p><a data-mention href="../../docs/behaviours/basic-logic/asker">asker</a> behavior (object)</p><ul><li>Player dialogue with NPCs <br>(can send player source data)</li><li>Quizzes</li></ul></td><td><a href="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FyAHrkjH02W2KLW7sB7nd%2Fimage.png?alt=media&#x26;token=5167e291-14b3-45b7-945e-69b0d5929edd">Asker dialogue creative guide graphic.png</a></td></tr><tr><td><a data-mention href="../../docs/components/display/indicator">indicator</a> (object text), toggled on and off with <a data-mention href="../../docs/behaviours/modifiers/actor-property-switcher">actor-property-switcher</a> behaviour</td><td><a href="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FWljBafgDSvNKbbHRB5GK%2FGM%200.10%20actor%20property%20beh%20visiblity%20of%20indicator%20UI.gif?alt=media&#x26;token=9d47c38c-6906-4842-b425-59e54fd7eea7">GM 0.10 actor property beh visiblity of indicator UI.gif</a></td></tr><tr><td><p><a data-mention href="../../docs/behaviours/basic-logic/crowd-event">crowd-event</a> (object)</p><ul><li>Title (with colour selection)</li><li>Description per Element <br>(how to earn points)</li></ul></td><td><a href="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FwvCpEB0LortHttdoo8CW%2Fgm%20UI%20Crowd%20Event%20start.png?alt=media&#x26;token=9056a719-b726-40ef-80d3-116b56911a45">gm UI Crowd Event start.png</a></td></tr></tbody></table>

{% hint style="success" %}
Apply [toggle](https://docs.sandbox.game/en/creator/game-maker/docs/components/status/toggle "mention") to turn on/off an object's behaviour, such as [asker](https://docs.sandbox.game/en/creator/game-maker/docs/behaviours/basic-logic/asker "mention") dialogue.
{% endhint %}
{% endtab %}

{% tab title="Objectives (Quests)" %}

### Apply Text via Objectives

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a data-mention href="../../docs/objectives">objectives</a> - New quest name appears in a temporary banner (fixed duration)</td><td><a href="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FdhMJazbQzowFQCN4ErJm%2FGM%20UI%20new%20quest%20banner.png?alt=media&#x26;token=7655ab10-3028-4efb-ac74-963f5de73965">GM UI new quest banner.png</a></td></tr><tr><td><p><a data-mention href="../../docs/objectives">objectives</a> UI - Quest descriptions (right)</p><ul><li>Type <code>\n</code> to add a line break</li><li>Players scroll UI with <span data-gb-custom-inline data-tag="emoji" data-code="2b06">⬆️</span> and <span data-gb-custom-inline data-tag="emoji" data-code="2b07">⬇️</span> keys</li></ul></td><td><a href="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F4SRmaM9hRqU2fnG3hvjG%2FGM%20UI%20quest%20UI.png?alt=media&#x26;token=57a7f4f1-d279-4d5c-98a3-31ca29581726">GM UI quest UI.png</a></td></tr></tbody></table>
{% endtab %}

{% tab title="Game Rules" %}

### Apply Text via Game Rules

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a data-mention href="../../docs/game-rules">game-rules</a> - <a data-mention href="../../../docs/game-rules/game-screen#banner">#banner</a> rule (display a short text variable in the banner for a custom duration)</td><td><a href="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F4KpHmgEsWPU07tU5KXAV%2FGM%20UI%20banner.png?alt=media&#x26;token=ca6954ad-e460-42cd-b62b-3a55e13e3b80">GM UI banner.png</a></td></tr><tr><td><a data-mention href="../../docs/game-rules">game-rules</a> - <a data-mention href="../../../docs/game-rules/game-screen#popup-window">#popup-window</a> (display a medium title and long text in the body)</td><td><a href="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FIStCObDEk8IoS2r2v6lr%2FGM%20UI%20popup.png?alt=media&#x26;token=ce8a9af3-b8b0-450e-a0fb-c56c2e95513a">GM UI popup.png</a></td></tr><tr><td><p><a data-mention href="../../docs/game-rules">game-rules</a> - <a data-mention href="../../../docs/game-rules/game-screen#hud">#hud</a> slot names and variable values</p><ul><li>1 top center slot, 5 slots on the left side, 5 slots on the bottom</li></ul></td><td><a href="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fotw92Wi08XYa5whDmrQx%2FGM%20UI%20hud%20slot%20variable%20types.png?alt=media&#x26;token=a2d3bc38-0b29-4e69-b95a-f1560bf0c008">GM UI hud slot variable types.png</a></td></tr></tbody></table>
{% endtab %}

{% tab title="Experience Name & Description" %}

### Experience Name & Description

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><a data-mention href="../../../docs/build-menus/top-bar/gameplay#start-screen">#start-screen</a> Experience title and description</td><td><a href="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fa1k0SRfPehKM3GenXQxi%2F113.png?alt=media&#x26;token=9dd0b2d9-1c32-4c1f-89fe-29126d7c529d">GM welcome screen example.png</a></td></tr><tr><td><p><a data-mention href="../../publish-experiences/experience-manager/experience-page">experience-page</a><a data-mention href="../../../publish-experiences/experience-manager/experience-page/content-guide#text">#text</a> </p><ul><li><a data-mention href="https://app.gitbook.com/s/61fllYo416R30LRxku4v/general/map">Map</a> &#x26; Experience Page</li><li>Game Client loading screen</li></ul></td><td><a href="https://content.gitbook.com/content/83PS3g9zpWmq73xzlwFn/blobs/PYPWalhytY5GRv8iw5J9/banner%20map%20premium%20card%20listing.png">banner map premium card listing.png</a></td></tr><tr><td><a href="../../../docs/manage-experiences#game-maker-software">Share</a> an Experience in the Game Maker Gallery</td><td><a href="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fl3Dh3RwvDo5P8h6F5pQb%2FGM%20shared%20experience%20gallery%20card.png?alt=media&#x26;token=577c28b2-53e4-498c-b364-b07e755818a9">GM shared experience gallery card.png</a></td></tr></tbody></table>

{% endtab %}
{% endtabs %}

### Text Formatting

Modifying the text format can add character, make it more readable, or emphasise hints or instructions for players. Simply add opening and closing tags around the text to be formatted.

{% hint style="warning" %}
Formatting does not work in HUD slots, but works in most other text fields.
{% endhint %}

{% hint style="warning" %}
Formatting tags count against the character limits different text fields have.
{% endhint %}

{% tabs %}
{% tab title="Characters" %}

### Supported Languages & Special Characters

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Game Client &#x26; Game Maker UI</strong></td><td>Software UI is only available in English (e.g., menus) at this time.</td></tr><tr><td><strong>Text Fields (Dialogue, Quests, Popups, etc)</strong></td><td><p>Information creators enter into text fields:</p><ul><li>3 special fonts support Chinese, Korean, and Japanese</li><li>2 basic fonts support thousands of languages (see <a href="https://fonts.google.com/noto/specimen/Noto+Sans">Noto</a> and <a href="https://fonts.google.com/specimen/Teko">Teko</a> for lists)</li></ul></td></tr></tbody></table>

### Sprites (Emoji-Like Icons)

There are 37 available sprites that may be used in many text fields by typing the tag <mark style="color:green;">\<sprite=1></mark> with a sprite number from 1 to 37. There is no closing tag for sprites. [Learn more](https://www.youtube.com/watch?v=3ngKiz3RxBA) (video)

<figure><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F0BR35WuagPJyZRgGTpKG%2Fimage.png?alt=media&#x26;token=7ad7b79e-53ce-4666-b655-29943149f142" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Display Player Usernames" %}

### Display Player Usernames in Text

Type **\<PLAYER>** (case sensitive) to include the player's username in a string of text. This can make an Experience more personal and immersive.

**Example:**

Welcome, \<PLAYER>! Let's get started!

Welcome, Pandapops! Let's get started!

### Display Player Usernames in a Variable

Create a text variable and save the player name in it with the [#store-player-name](https://docs.sandbox.game/en/creator/docs/game-rules/replace-variable-values#store-player-name "mention") rule in [game-rules](https://docs.sandbox.game/en/creator/game-maker/docs/game-rules "mention").
{% endtab %}

{% tab title="Formatting Tags" %}

### Text Formatting Tags

<table><thead><tr><th width="130.99999999999997">Tags</th><th width="283">Description</th><th>Example</th></tr></thead><tbody><tr><td><strong>&#x3C;b></strong><br><strong>&#x3C;/b></strong></td><td>bold</td><td>This is &#x3C;b>bold&#x3C;/b> text.</td></tr><tr><td><strong>&#x3C;i></strong><br><strong>&#x3C;/i></strong></td><td>italics</td><td>This is &#x3C;i>italicised&#x3C;/i> text.</td></tr><tr><td><strong>&#x3C;size></strong><br><strong>&#x3C;/size></strong></td><td>Sets the size in pixels</td><td>This is &#x3C;size=50>larger&#x3C;/size> text.</td></tr><tr><td><strong>&#x3C;color></strong><br><strong>&#x3C;/color></strong></td><td>Sets the colour of the text using colour names (see below) or Hex Codes #rrggbbaa where:<br>r is red<br>g is green<br>b is blue<br>a is alpha (transparency)<br>Note that the tag is spelled "<strong>color</strong>"</td><td>This is &#x3C;color=#FF0000FF>red&#x3C;/color> text.</td></tr></tbody></table>

### Nesting Tags

You may apply more than one style by nesting tags. For example:

<table data-card-size="large" data-view="cards"><thead><tr><th>INPUT</th><th>OUTPUT</th></tr></thead><tbody><tr><td>This is &#x3C;b>&#x3C;i>bold and italicised&#x3C;/i>&#x3C;/b> text.</td><td>This is <em><strong>bold and italicised</strong></em> text.</td></tr><tr><td>&#x3C;color=#FF0000FF>This sentence is red and these words are &#x3C;b>bold and red&#x3C;/b>&#x3C;/color>.</td><td><mark style="color:red;">This sentence is red and these words are <strong>bold and red</strong>.</mark></td></tr></tbody></table>
{% endtab %}

{% tab title="Supported Colours" %}

### Supported Colours

{% hint style="warning" %}
**TEST COLOURS FOR READABILITY**

Block and asset colours in your Experience may make some colours difficult to read.
{% endhint %}

| Colour Name                 | Hex Value | Colour                                                                                      |
| --------------------------- | --------- | ------------------------------------------------------------------------------------------- |
| black                       | #000000FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/BlackSwatch.png)     |
| grey                        | #808080FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/GreySwatch.png)      |
| silver                      | #C0C0C0FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/SilverSwatch.png)    |
| white                       | #FFFFFFFF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/WhiteSwatch.png)     |
| red                         | #FF0000FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/RedSwatch.png)       |
| orange                      | #FFA500FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/OrangeSwatch.png)    |
| yellow                      | #FFFF00FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/YellowSwatch.png)    |
| lime                        | #00FF00FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/LimeSwatch.png)      |
| <p>aqua /<br>cyan</p>       | #00FFFFFF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/CyanSwatch.png)      |
| <p>fuchsia /<br>magenta</p> | #FF00FFFF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/MagentaSwatch.png)   |
| purple                      | #800080FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/PurpleSwatch.png)    |
| maroon                      | #800000FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/MaroonSwatch.png)    |
| brown                       | #A52A2AFF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/BrownSwatch.png)     |
| olive                       | #808000FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/OliveSwatch.png)     |
| green                       | #008000FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/GreenSwatch.png)     |
| teal                        | #008080FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/TealSwatch.png)      |
| navy                        | #000080FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/NavySwatch.png)      |
| darkblue                    | #0000A0FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/DarkblueSwatch.png)  |
| blue                        | #0000FFFF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/BlueSwatch.png)      |
| lightblue                   | #ADD8E6FF | ![](https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/images/LightblueSwatch.png) |
| {% endtab %}                |           |                                                                                             |
| {% endtabs %}               |           |                                                                                             |

## Quests

{% hint style="warning" %}
Visit the [0.11-upgrade-guide](https://docs.sandbox.game/en/creator/game-maker/version-notes-and-changelogs/game-maker-0.11/0.11-upgrade-guide "mention") to migrate to the new Objectives system and adapt quest design for multiplayer compatibility.
{% endhint %}

{% hint style="success" %}
It is possible to build a game without quests, but quest UI and icons make the same gameplay feel much more responsive and polished.
{% endhint %}

{% tabs %}
{% tab title="About" %}

### Purpose

[**Quests** ](https://docs.sandbox.game/en/creator/game-maker/docs/objectives)are one-time-use player objectives that can be used for:

* Tutorials for your unique Experience mechanics
* Meeting important characters or [worldbuilding](https://docs.sandbox.game/en/creator/game-maker/creative-guides/experience-design-techniques/narrative-design/worldbuilding "mention")
* Points of interest or large scale item collection to encourage exploration
* Linear game flow, optional side quests, or branching logic based on player actions
* (Partners) Track player progression in [Seasons and Events](https://app.gitbook.com/s/61fllYo416R30LRxku4v/players/seasons-and-events) to earn rewards
* and more

See [#quest-types](https://docs.sandbox.game/en/creator/docs/objectives#quest-types "mention") for use cases per quest type.
{% endtab %}

{% tab title="Quest Types" %}

{% endtab %}

{% tab title="Learning Templates" %}

## Tutorial Templates

Open Game Maker and find tutorials in the Templates tab for hands-on learning. For more details on each quest type, see [objectives](https://docs.sandbox.game/en/creator/game-maker/docs/objectives "mention").

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FTdyBx5xKRp91cGSGmXyE%2Fimage.png?alt=media&#x26;token=26a48c7d-c2d2-4d2d-9dff-19758137e8ad" alt=""></td><td></td></tr><tr><td><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FDmnPYopZjVRsjsWQ31Zs%2Fimage.png?alt=media&#x26;token=de23fc1e-e962-40a5-ae63-591592529d73" alt=""></td><td></td></tr><tr><td><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F4WPRyrqUEmosMp5GuNf4%2Fimage.png?alt=media&#x26;token=2b864ae6-81c3-4077-b375-0c021ab6ea05" alt=""></td><td></td></tr></tbody></table>
{% endtab %}

{% tab title="Gameplay Structures with Multiple Quests" %}

### Gameplay Structures

Multiple quests can be triggered in ways to structure different types of play:

<table data-view="cards"><thead><tr><th></th></tr></thead><tbody><tr><td><strong>Linear (Narrative)</strong><br>Players must complete all quests in a specific order to progress a story or flow</td></tr><tr><td><strong>Branching (Replay value)</strong><br>Players choose which optional quests to trigger, for a more open world feel</td></tr><tr><td><strong>Both Linear &#x26; Branching</strong><br>Players unlock optional side quests or "quest lines" (choose your own adventure)</td></tr></tbody></table>

{% hint style="success" %}
While players can scroll through quests in the UI, it is still more user friendly to limit how many quests can be triggered at a time (4-5 maximum recommended).
{% endhint %}

With Game Maker 0.11, you may also design varied gameplay with dependencies, where a logic flow can be built to allow only certain players to trigger and complete a quest.
{% endtab %}
{% endtabs %}

### Multiplayer Compatible Quests (0.11)

{% hint style="warning" %}
In multiplayer Experiences, quests are now managed on the server. Messages sent to Objectives must include player source data, so \[SP] logic will not work.

In singleplayer Experiences, \[SP] and \[MP] logic will trigger quests.
{% endhint %}

The new Objectives system opens up possibilities for quests to be triggered *depending* on which player(s) should experience a quest in multiplayer games.

In this first version, feature continuity for solo questing is the main design focus. However, many creators may explore building logic for multiple players to experience quests at nearly the same time.

It isn't as simple as using the Game Rules system, where *dependencies* for variables are built in (player, team, and global), so we've provided some options to try out. Some are simple, and some a bit more advanced.

> **USING THIS RESOURCE**\
> In the generalized suggestions below, Step 1 should trigger Step 2, and so on, to send player source data and trigger Objectives for intended players. Please test thoroughly and share what you learn in the [Forum](https://forum.sandbox.game/)!

#### Quest Alone

{% tabs %}
{% tab title="Objects Only" %}

#### First Player There

1. \[MP] trigger (options):\ <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F1DuMFnUv13lWbbezqP9i%2Fimage.png?alt=media&#x26;token=adf11682-9ef9-4c07-93cb-df017f00ade8" alt="" data-size="line"> `Collectable` component (Global = TRUE)\
   &#x20;<img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FIaOSCnmODVvwrVbCZ3HY%2FGM%20icon%20com%20trigger%20volume.png?alt=media&#x26;token=4b3659f2-40cf-4df3-a6d7-18f16d42c73b" alt="" data-size="line"> `Trigger Volume` (destroy this object after one use)\ <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FTrJb8sNlFMv5SJyD9Q2U%2Fimage.png?alt=media&#x26;token=b3f270f3-a39d-40d9-8c93-06e8c8dc07f9" alt="" data-size="line"> `Button`  (destroy this object after one use or spawn a <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FWRGkJ8Fzm0LsFE07kTxT%2Fimage.png?alt=media&#x26;token=cce224ac-ea7a-436a-b69d-4fe680dbef9b" alt="" data-size="line"> `Speaker` to inform players that they weren't first)\
   ![](https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fe3VONdgy8QfCGAG04kRu%2Fimage.png?alt=media\&token=6e0d3ae4-5cad-4c4f-8b66-255d2b6ab630) `Asker` (Only once = TRUE or apply <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FpvQ37hvZsM8OoxPTibkV%2Fimage.png?alt=media&#x26;token=e5d1560b-bfb4-4e26-a79a-b2f2241ae0ee" alt="" data-size="line"> `Toggle` to turn off after one use)
2. \[MP] <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F3Xm5k7N86Ke5uylGJYeA%2Fimage.png?alt=media&#x26;token=f0f775a9-072f-4994-950b-f848b156bb9f" alt="" data-size="line"> `Message Broadcaster` (Broadcast only once = TRUE if trigger in step 1 can't be removed or prevented)
3. <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F6tZrz8tcY9sa4YNGHINQ%2FObjectives%20Quests%20white%20icon.png?alt=media&#x26;token=5475f71a-1f82-4b6f-b6bb-797305dfb3f6" alt="" data-size="line"> `Objectives`

{% hint style="success" %}
**Use Cases**

* Quests with rewards or incentives
* Special roles, side-quests, or branching narrative options
  {% endhint %}

***

#### Every Player (Self-Paced)

1. \[MP] trigger (options):\ <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F1DuMFnUv13lWbbezqP9i%2Fimage.png?alt=media&#x26;token=adf11682-9ef9-4c07-93cb-df017f00ade8" alt="" data-size="line"> `Collectable` (Global = FALSE)\ <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FIaOSCnmODVvwrVbCZ3HY%2FGM%20icon%20com%20trigger%20volume.png?alt=media&#x26;token=4b3659f2-40cf-4df3-a6d7-18f16d42c73b" alt="" data-size="line"> `Trigger Volume`\ <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FTrJb8sNlFMv5SJyD9Q2U%2Fimage.png?alt=media&#x26;token=b3f270f3-a39d-40d9-8c93-06e8c8dc07f9" alt="" data-size="line"> `Button`\
   ![](https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fe3VONdgy8QfCGAG04kRu%2Fimage.png?alt=media\&token=6e0d3ae4-5cad-4c4f-8b66-255d2b6ab630) `Asker`
2. &#x20;<img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F6tZrz8tcY9sa4YNGHINQ%2FObjectives%20Quests%20white%20icon.png?alt=media&#x26;token=5475f71a-1f82-4b6f-b6bb-797305dfb3f6" alt="" data-size="line"> `Objectives`

{% hint style="success" %}
**Use Cases (gameplay without rules criteria)**

* Social hub quests
* Competitive solo narrative questing
* Side quests any player can complete
  {% endhint %}
  {% endtab %}

{% tab title="Include a Rules Criteria (Player variable)" %}
{% hint style="info" %}
A correctly triggered chain of logic including rules that involve a player variable will send the player source data needed by the Objectives system.
{% endhint %}

#### One Player: Player Variable Value

1. \[MP] trigger (options):\ <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F1DuMFnUv13lWbbezqP9i%2Fimage.png?alt=media&#x26;token=adf11682-9ef9-4c07-93cb-df017f00ade8" alt="" data-size="line"> `Collectable` (Global = TRUE)\ <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FIaOSCnmODVvwrVbCZ3HY%2FGM%20icon%20com%20trigger%20volume.png?alt=media&#x26;token=4b3659f2-40cf-4df3-a6d7-18f16d42c73b" alt="" data-size="line"> `Trigger Volume` (destroy this object after one use)\ <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FTrJb8sNlFMv5SJyD9Q2U%2Fimage.png?alt=media&#x26;token=b3f270f3-a39d-40d9-8c93-06e8c8dc07f9" alt="" data-size="line"> `Button`  (destroy this object after one use or spawn a <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FWRGkJ8Fzm0LsFE07kTxT%2Fimage.png?alt=media&#x26;token=cce224ac-ea7a-436a-b69d-4fe680dbef9b" alt="" data-size="line"> `Speaker` to inform players that they weren't first)\
   ![](https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fe3VONdgy8QfCGAG04kRu%2Fimage.png?alt=media\&token=6e0d3ae4-5cad-4c4f-8b66-255d2b6ab630) `Asker` (Only once = TRUE or apply <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FpvQ37hvZsM8OoxPTibkV%2Fimage.png?alt=media&#x26;token=e5d1560b-bfb4-4e26-a79a-b2f2241ae0ee" alt="" data-size="line"> `Toggle` to turn off after one use)
2. <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fslc7mmq69IGPT2kBizyz%2Fimage.png?alt=media&#x26;token=9c66a227-071f-4f0e-843d-258c7a96fce8" alt="" data-size="line"> `Rules` (**player variable** used as a criteria to send a message)
3. \[MP] <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F3Xm5k7N86Ke5uylGJYeA%2Fimage.png?alt=media&#x26;token=f0f775a9-072f-4994-950b-f848b156bb9f" alt="" data-size="line"> `Message Broadcaster` (Broadcast only once = TRUE or apply <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FpvQ37hvZsM8OoxPTibkV%2Fimage.png?alt=media&#x26;token=e5d1560b-bfb4-4e26-a79a-b2f2241ae0ee" alt="" data-size="line"> `Toggle` to turn off after one use)
4. <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F6tZrz8tcY9sa4YNGHINQ%2FObjectives%20Quests%20white%20icon.png?alt=media&#x26;token=5475f71a-1f82-4b6f-b6bb-797305dfb3f6" alt="" data-size="line"> `Objectives`

{% hint style="success" %}
**Use Cases**

* MVP quest after earning the top time, score, etc.
* Tutorial quest for player with the lowest time, score, etc.
  {% endhint %}

***

#### Every Player: Player Variable Value (Self-Paced)

1. \[MP] trigger (options): \ <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F1DuMFnUv13lWbbezqP9i%2Fimage.png?alt=media&#x26;token=adf11682-9ef9-4c07-93cb-df017f00ade8" alt="" data-size="line"> `Collectable` (Global = FALSE)\ <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FIaOSCnmODVvwrVbCZ3HY%2FGM%20icon%20com%20trigger%20volume.png?alt=media&#x26;token=4b3659f2-40cf-4df3-a6d7-18f16d42c73b" alt="" data-size="line"> `Trigger Volume`\ <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FTrJb8sNlFMv5SJyD9Q2U%2Fimage.png?alt=media&#x26;token=b3f270f3-a39d-40d9-8c93-06e8c8dc07f9" alt="" data-size="line"> `Button`\
   &#x20;![](https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fe3VONdgy8QfCGAG04kRu%2Fimage.png?alt=media\&token=6e0d3ae4-5cad-4c4f-8b66-255d2b6ab630) `Asker`
2. <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fslc7mmq69IGPT2kBizyz%2Fimage.png?alt=media&#x26;token=9c66a227-071f-4f0e-843d-258c7a96fce8" alt="" data-size="line"> `Rules` (**player variable** as a criteria to send a message)
3. <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F6tZrz8tcY9sa4YNGHINQ%2FObjectives%20Quests%20white%20icon.png?alt=media&#x26;token=5475f71a-1f82-4b6f-b6bb-797305dfb3f6" alt="" data-size="line"> `Objectives`&#x20;

{% hint style="success" %}
**Use Cases (gameplay with Rules criteria)**

* Social hub quests
* Competitive solo narrative questing
* Side quests any player can complete
  {% endhint %}
  {% endtab %}
  {% endtabs %}

#### Quest Together

{% hint style="warning" %}
The examples below do not use built in features. Since there is a break in logic flow and quests do not trigger at the exact moment, test your design thoroughly to ensure it works consistently. More developments are on the way to make multiplayer quest design easier.&#x20;
{% endhint %}

{% tabs %}
{% tab title="Global Quest" %}

#### Cooperative: All Players Trigger (Almost) Simultaneously

1. Trigger options:
   1. All players enter a location:
      1. \[MP] <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FIaOSCnmODVvwrVbCZ3HY%2FGM%20icon%20com%20trigger%20volume.png?alt=media&#x26;token=4b3659f2-40cf-4df3-a6d7-18f16d42c73b" alt="" data-size="line"> `Trigger Volume` (Detection = EveryAvatarInRange)
   2. <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fslc7mmq69IGPT2kBizyz%2Fimage.png?alt=media&#x26;token=9c66a227-071f-4f0e-843d-258c7a96fce8" alt="" data-size="line"> `Rules` (**global variable** as a criteria to send a message)
      1. <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FrFFcp9Gy4XHBzf1svCMl%2Fimage.png?alt=media&#x26;token=c31bc0a1-8009-4fef-8e4c-cde4f1648a28" alt="" data-size="line"> `Asset Spawner` spawns \[MP] <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FIaOSCnmODVvwrVbCZ3HY%2FGM%20icon%20com%20trigger%20volume.png?alt=media&#x26;token=4b3659f2-40cf-4df3-a6d7-18f16d42c73b" alt="" data-size="line"> `Trigger Volume` (Detection = EveryAvatarInRange)
2. <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F6tZrz8tcY9sa4YNGHINQ%2FObjectives%20Quests%20white%20icon.png?alt=media&#x26;token=5475f71a-1f82-4b6f-b6bb-797305dfb3f6" alt="" data-size="line"> `Objectives`

{% hint style="success" %}
**Use Cases**

* Cooperative Escape Room, etc.
* Players vs Enemy quests (PVE)
  {% endhint %}

***

#### Collaborative Play Without Quests

{% hint style="success" %}
If you're new to creating multiplayer Experiences, try adding a collaborative goal with [crowd-event](https://docs.sandbox.game/en/creator/game-maker/docs/behaviours/basic-logic/crowd-event "mention") behaviour. It's easier to set up than quests and has its own UI!
{% endhint %}
{% endtab %}

{% tab title="Team Quest" %}

#### Competitive: All Team Members Trigger (Almost) Simultaneously

1. Trigger options:
   1. Enter a location:&#x20;
      1. Per team, \[MP] <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FIaOSCnmODVvwrVbCZ3HY%2FGM%20icon%20com%20trigger%20volume.png?alt=media&#x26;token=4b3659f2-40cf-4df3-a6d7-18f16d42c73b" alt="" data-size="line"> `Trigger Volume` (Detection = TeamInRange, set team name)
   2. Rules criteria:
      1. <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fslc7mmq69IGPT2kBizyz%2Fimage.png?alt=media&#x26;token=9c66a227-071f-4f0e-843d-258c7a96fce8" alt="" data-size="line"> `Rules` (**team variable** as a criteria to send a message)
      2. Per team, <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2Fslc7mmq69IGPT2kBizyz%2Fimage.png?alt=media&#x26;token=9c66a227-071f-4f0e-843d-258c7a96fce8" alt="" data-size="line">  `Send Message` rule (Broadcast = Team, set team name) triggered by which team met the criteria
      3. Per team, \[MP] <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FrFFcp9Gy4XHBzf1svCMl%2Fimage.png?alt=media&#x26;token=c31bc0a1-8009-4fef-8e4c-cde4f1648a28" alt="" data-size="line"> `Asset Spawner` spawns \[MP]<img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FIaOSCnmODVvwrVbCZ3HY%2FGM%20icon%20com%20trigger%20volume.png?alt=media&#x26;token=4b3659f2-40cf-4df3-a6d7-18f16d42c73b" alt="" data-size="line"> `Trigger Volume` (Detection = TeamInRange)
2. <img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F6tZrz8tcY9sa4YNGHINQ%2FObjectives%20Quests%20white%20icon.png?alt=media&#x26;token=5475f71a-1f82-4b6f-b6bb-797305dfb3f6" alt="" data-size="line"> `Objectives`

{% hint style="success" %}
**Use Cases**

* Multi-phase gameplay as quests every team may complete
* Secret team missions (e.g., spy games)
* Teams as gameplay roles with unique quests (e.g., RPGs)
* Bonus challenges or rewards for top teams
* Quick tutorials for struggling teams
  {% endhint %}
  {% endtab %}
  {% endtabs %}

### Quest Icons

The [**Objectives**](https://docs.sandbox.game/en/creator/game-maker/docs/objectives) system sets up the structure of quests, which have a beginning, middle, and end. Use the [**Indicator** ](https://docs.sandbox.game/en/creator/game-maker/docs/components/display/indicator)component to set quest icons to appear on objects related to your quest.

{% tabs %}
{% tab title="Giver" %}

#### Giver - Starts the Quest

{% hint style="info" %}
If a quest is set to auto launch, the *<mark style="color:green;">**Giver**</mark>* icon will not appear.
{% endhint %}

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><strong>PLAYER ICON - EXCLAMATION MARK</strong></td><td><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FWoay1gVc4YgSEambx817%2Fimage.png?alt=media&#x26;token=980b27fd-b3d7-44b3-85b3-7dccdce497b9" alt="" data-size="original"></td><td><ul><li>Directs players to start a quest</li><li>Appears when a quest is unlocked</li><li>Disappears when a quest is launched</li></ul></td></tr><tr><td><strong>BUILDER SETUP</strong></td><td><a href="../../../docs/objectives#quest-steps"><strong>Objectives</strong></a> - set the quest conditions</td><td><p><a href="../../docs/components/display/indicator"><strong>Indicator</strong></a> - apply this component to an object</p><p><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FhPEMj3t1noxYFcqPDUdk%2Fimage.png?alt=media&#x26;token=22663a6a-2b15-49f8-8c28-5182d4533909" alt="" data-size="original"><br>Click Add+ next to <em><mark style="color:green;"><strong>Giver</strong></mark></em> and select the quest name from the dropdown list to make the icon appear above the object during play</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Objective" %}

#### Objective - Meets the Condition

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><strong>PLAYER ICON - TARGET</strong></td><td><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2F3YEd4oQsNGf4AiNMTJtg%2Fimage.png?alt=media&#x26;token=03381546-1226-4f2d-b59c-5c827af8218c" alt=""></td><td><ul><li>Directs players to locations, collectable objects, enemies to kill, objects to interact with (to send a message), etc.</li><li>Appears when a quest is launched</li><li>Disappears when a quest condition is met</li></ul></td></tr><tr><td><strong>BUILDER SETUP</strong></td><td><a href="../../../docs/objectives#quest-steps"><strong>Objectives</strong></a> - set the quest conditions</td><td><p><a href="../../docs/components/display/indicator"><strong>Indicator</strong></a> - apply this component to one or more objects, which are the condition set in Step 3 of the Quest setup (Quest Type)</p><p><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FJZa8hFY7iILKIvU0yUjw%2Fimage.png?alt=media&#x26;token=36a52932-deb8-4640-ae2d-5b3b988a2e55" alt="" data-size="original"><br>Click Add+ next to <em><mark style="color:green;"><strong>Objective</strong></mark></em> and select the quest name from the dropdown list to make the icon appear above object(s) during play</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Receiver" %}

#### Receiver - Closes the Quest

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><strong>PLAYER ICON - QUESTION MARK</strong></td><td><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FWnDOoI9qD1FloCDdE9j5%2Fimage.png?alt=media&#x26;token=18cadcd1-308f-4b39-83ea-ed22dbfe276a" alt="" data-size="original"></td><td><ul><li>Directs players to an object to close the quest</li><li>Appears when a quest condition is met</li><li>Disappears when a quest is complete</li></ul></td></tr><tr><td><strong>BUILDER SETUP</strong></td><td><a href="../../../docs/objectives#quest-steps"><strong>Objectives</strong></a> - set up quest conditions</td><td><p><a href="../../docs/components/display/indicator"><strong>Indicator</strong></a> - apply this component to an object</p><p><img src="https://331512196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F83PS3g9zpWmq73xzlwFn%2Fuploads%2FhPEMj3t1noxYFcqPDUdk%2Fimage.png?alt=media&#x26;token=22663a6a-2b15-49f8-8c28-5182d4533909" alt="" data-size="original"><br>Click Add+ next to <em><mark style="color:green;"><strong>Receiver</strong></mark></em> and select the quest name from the dropdown list to make the icon appear above the object during play</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Video: Set Up Quest Indicators" %}

### Video: Set Up Quest Indicators

{% hint style="warning" %}
The video below shows how to set up quest indicators with an older version of Game Maker with a slightly different user interface. Quests are now opened with the **Objectives** button on the top bar (previously named Rules).
{% endhint %}

{% embed url="<https://youtu.be/S_vjz2T1PpY?feature=shared>" %}
{% endtab %}
{% endtabs %}

### Dialogue States for Quests

{% tabs %}
{% tab title="About" %}

### Why Create Dialogue States?

One NPC may need to say different dialogue depending on the state of a quest:

* **Beginning State -** An NPC informs players about the quest so they can accept it
* **Middle State -** An NPC reminds players they haven't finished the quest yet and may provide a hint
* **End State -** Congratulate players if the quest is complete (may suggest where to find a new quest)

{% endtab %}

{% tab title="Dialogue Use Per NPC" %}

### Dialogue Use Per NPC

Dialogue can flow using Speaker components and/or Asker behaviours triggered in a chain.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><strong>"Bark"</strong></td><td>The player gets close enough to an NPC to see a Speaker component pop up a box of text.</td><td>Note: A "bark" may be used instead of a quest giver.</td></tr><tr><td><strong>Dialogue - Inform/Hint</strong></td><td>One or more Asker behaviours may be set with a question or statement and up to four answers.</td><td>Note: Answers can send messages to trigger other Askers. Toggle should be applied to turn Askers on/off when necessary. Don't forget to set the Toggle's initial state for each Asker!</td></tr></tbody></table>
{% endtab %}

{% tab title="Video: Set up Dialogue States" %}

### Video: Set up Dialogue States

The parkour race video below provides a great explanation of how to set up quest dialogue states.

{% hint style="warning" %}
Note: This video was created with an older version of Game Maker. The UI has been significantly updated and new features have been added.
{% endhint %}

{% embed url="<https://youtu.be/Hv6xk4POMGY>" %}
{% endtab %}
{% endtabs %}

### Dialogue Strings

{% tabs %}
{% tab title="About" %}

### What is a Dialogue String?

A dialogue string is a series of logic events used to:

* display a conversation between an NPC and a player (with answer options)
* display quiz questions (with answer options)
* display a "read only" conversation between NPCs (using Speaker component)

An object may only have one Asker behaviour and one Speaker component. This means that multiple objects are needed to create a dialogue string. That usually includes objects with visibility turned off.

Asker behavior may be triggered in a linear sequence or may trigger different paths of gameplay.
{% endtab %}

{% tab title="Video: Set up Dialogue Strings" %}

### Video: Dialogue Strings (Chains)

{% embed url="<https://youtu.be/wxFnq1p7GZg>" %}
{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sandbox.game/en/creator/game-maker/creative-guides/logic-guide/text-quests-and-icons.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
