For the complete documentation index, see llms.txt. This page is also available as Markdown.

Text, Quests & Icons

Text in the UI

Apply Text via Objects

Cover

Speaker component (object)

  • Detect players, "bark" to get attention (can send player source data)

  • Simulate a conversation between NPCs

Cover

Asker behavior (object)

  • Player dialogue with NPCs (can send player source data)

  • Quizzes

Cover

Indicator (object text), toggled on and off with Actor Property Switcher behaviour

Cover

Crowd Event (object)

  • Title (with colour selection)

  • Description per Element (how to earn points)

Apply Text via Objectives

Cover

Objectives - New quest name appears in a temporary banner (fixed duration)

Cover

Objectives UI - Quest descriptions (right)

  • Type \n to add a line break

  • Players scroll UI with ⬆️ and ⬇️ keys

Apply Text via Game Rules

Cover

Game Rules - Banner rule (display a short text variable in the banner for a custom duration)

Cover

Game Rules - Popup window (display a medium title and long text in the body)

Cover

Game Rules - HUD slot names and variable values

  • 1 top center slot, 5 slots on the left side, 5 slots on the bottom

Experience Name & Description

Cover

Start Screen Experience title and description

Cover

Experience PageText

  • Map & Experience Page

  • Game Client loading screen

Cover

Share an Experience in the Game Maker Gallery

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.

Supported Languages & Special Characters

Game Client & Game Maker UI

Software UI is only available in English (e.g., menus) at this time.

Text Fields (Dialogue, Quests, Popups, etc)

Information creators enter into text fields:

  • 3 special fonts support Chinese, Korean, and Japanese

  • 2 basic fonts support thousands of languages (see Noto and Teko for lists)

Sprites (Emoji-Like Icons)

There are 37 available sprites that may be used in many text fields by typing the tag <sprite=1> with a sprite number from 1 to 37. There is no closing tag for sprites. Learn more (video)

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 rule in Game Rules.

Text Formatting Tags

Tags
Description
Example

<b> </b>

bold

This is <b>bold</b> text.

<i> </i>

italics

This is <i>italicised</i> text.

<size> </size>

Sets the size in pixels

This is <size=50>larger</size> text.

<color> </color>

Sets the colour of the text using colour names (see below) or Hex Codes #rrggbbaa where: r is red g is green b is blue a is alpha (transparency) Note that the tag is spelled "color"

This is <color=#FF0000FF>red</color> text.

Nesting Tags

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

INPUT

This is <b><i>bold and italicised</i></b> text.

OUTPUT

This is bold and italicised text.

INPUT

<color=#FF0000FF>This sentence is red and these words are <b>bold and red</b></color>.

OUTPUT

This sentence is red and these words are bold and red.

Supported Colours

Colour Name
Hex Value
Colour

black

#000000FF

grey

#808080FF

silver

#C0C0C0FF

white

#FFFFFFFF

red

#FF0000FF

orange

#FFA500FF

yellow

#FFFF00FF

lime

#00FF00FF

aqua / cyan

#00FFFFFF

fuchsia / magenta

#FF00FFFF

purple

#800080FF

maroon

#800000FF

brown

#A52A2AFF

olive

#808000FF

green

#008000FF

teal

#008080FF

navy

#000080FF

darkblue

#0000A0FF

blue

#0000FFFF

lightblue

#ADD8E6FF

Quests

Purpose

Quests are one-time-use player objectives that can be used for:

  • Tutorials for your unique Experience mechanics

  • Meeting important characters or Worldbuilding

  • 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 to earn rewards

  • and more

See Quest Types for use cases per quest type.

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.

Gameplay Structures

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

Linear (Narrative) Players must complete all quests in a specific order to progress a story or flow

Branching (Replay value) Players choose which optional quests to trigger, for a more open world feel

Both Linear & Branching Players unlock optional side quests or "quest lines" (choose your own adventure)

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.

Multiplayer Compatible Quests (0.11)

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!

Quest Alone

First Player There

  1. [MP] trigger (options): Collectable component (Global = TRUE) Trigger Volume (destroy this object after one use) Button (destroy this object after one use or spawn a Speaker to inform players that they weren't first) Asker (Only once = TRUE or apply Toggle to turn off after one use)

  2. [MP] Message Broadcaster (Broadcast only once = TRUE if trigger in step 1 can't be removed or prevented)

  3. Objectives


Every Player (Self-Paced)

  1. [MP] trigger (options): Collectable (Global = FALSE) Trigger Volume Button Asker

  2. Objectives

A correctly triggered chain of logic including rules that involve a player variable will send the player source data needed by the Objectives system.

One Player: Player Variable Value

  1. [MP] trigger (options): Collectable (Global = TRUE) Trigger Volume (destroy this object after one use) Button (destroy this object after one use or spawn a Speaker to inform players that they weren't first) Asker (Only once = TRUE or apply Toggle to turn off after one use)

  2. Rules (player variable used as a criteria to send a message)

  3. [MP] Message Broadcaster (Broadcast only once = TRUE or apply Toggle to turn off after one use)

  4. Objectives


Every Player: Player Variable Value (Self-Paced)

  1. [MP] trigger (options): Collectable (Global = FALSE) Trigger Volume Button Asker

  2. Rules (player variable as a criteria to send a message)

  3. Objectives

Quest Together

Cooperative: All Players Trigger (Almost) Simultaneously

  1. Trigger options:

    1. All players enter a location:

      1. [MP] Trigger Volume (Detection = EveryAvatarInRange)

    2. Rules (global variable as a criteria to send a message)

      1. Asset Spawner spawns [MP] Trigger Volume (Detection = EveryAvatarInRange)

  2. Objectives


Collaborative Play Without Quests

Competitive: All Team Members Trigger (Almost) Simultaneously

  1. Trigger options:

    1. Enter a location:

      1. Per team, [MP] Trigger Volume (Detection = TeamInRange, set team name)

    2. Rules criteria:

      1. Rules (team variable as a criteria to send a message)

      2. Per team, Send Message rule (Broadcast = Team, set team name) triggered by which team met the criteria

      3. Per team, [MP] Asset Spawner spawns [MP] Trigger Volume (Detection = TeamInRange)

  2. Objectives

Quest Icons

The Objectives system sets up the structure of quests, which have a beginning, middle, and end. Use the Indicator component to set quest icons to appear on objects related to your quest.

Giver - Starts the Quest

If a quest is set to auto launch, the Giver icon will not appear.

PLAYER ICON - EXCLAMATION MARK

  • Directs players to start a quest

  • Appears when a quest is unlocked

  • Disappears when a quest is launched

BUILDER SETUP

Objectives - set the quest conditions

Indicator - apply this component to an object

Click Add+ next to Giver and select the quest name from the dropdown list to make the icon appear above the object during play

Objective - Meets the Condition

PLAYER ICON - TARGET

  • Directs players to locations, collectable objects, enemies to kill, objects to interact with (to send a message), etc.

  • Appears when a quest is launched

  • Disappears when a quest condition is met

BUILDER SETUP

Objectives - set the quest conditions

Indicator - apply this component to one or more objects, which are the condition set in Step 3 of the Quest setup (Quest Type)

Click Add+ next to Objective and select the quest name from the dropdown list to make the icon appear above object(s) during play

Receiver - Closes the Quest

PLAYER ICON - QUESTION MARK

  • Directs players to an object to close the quest

  • Appears when a quest condition is met

  • Disappears when a quest is complete

BUILDER SETUP

Objectives - set up quest conditions

Indicator - apply this component to an object

Click Add+ next to Receiver and select the quest name from the dropdown list to make the icon appear above the object during play

Video: Set Up Quest Indicators

Dialogue States for Quests

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)

Dialogue Use Per NPC

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

"Bark"

The player gets close enough to an NPC to see a Speaker component pop up a box of text.

Note: A "bark" may be used instead of a quest giver.

Dialogue - Inform/Hint

One or more Asker behaviours may be set with a question or statement and up to four answers.

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!

Video: Set up Dialogue States

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

Dialogue Strings

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.

Video: Dialogue Strings (Chains)

Last updated

Was this helpful?