By default, Quorum Studio comes with some stock art, including monsters and player characters, that can be used inside of an application. We will be using this stock art here as a demonstration, but keep in mind that we can add our own art and even use it from the Palette if we wish.

Design a Quest (15 minutes)

Learning Objectives

Once we have a map for our game, we are ready to populate it with characters and have them take actions on command. All of us should feel free to be creative and create a game that is designed how we wish. While a quest will be outlined here as an exemplar, being creative and having fun is part of the process.

You will:

  1. Learn about compiling and running programs
  2. Learn about Types and Output
  3. Practice using the Scene Editor

Place a Character (10 minutes)

For 2D

Inside of the Palette, there are several options for our character. First, there is an item in the Palette labeled Characters 2D. Inside is a boy and a girl that we could use. Alternatively, we could make our character be any of the monsters under Dungeon 2D. Second, once we have chosen our character, we need a second one, which will be a non-player character (NPC). This character will serve as a quest giver. In later tutorials, we will make our player move and eventually add a monster.

For 3D

Under the Scene Tab, if we look under the Items tree there are several items which have been added to the tree. There are all the Items that we need to have the buildings (as in previous solutions) plus we have added two Items that will represent our characters. The first is a green person in the center, this will represent the player. Second inside the building on the left, we have another character. This will be our quest-giver, also known as a Non-Player-Character (NPC). Alternatively, we could make our character be any of the other items that are in the 3D Palette section. In later tutorials, we will make our player move and maybe eventually add a monster.

Next, we need to design a quest. Any quest is fine, but to keep things simple, the one in this tutorial has the following steps:

  1. We walk to our NPC and press a button on the keyboard
  2. This triggers a conversation with our NPC. We need a script for that conversation
  3. Gather items that have appeared throughout our map
  4. A monster appears once we have gathered the items

In order to complete this quest, we should generate a unique name for our player and for the NPC. We also need dialog for the conversation and we need to decide on what the item is that we will be collecting, in addition to choosing a monster and creating some dialog for when that monster appears. We should make all these decisions in collaboration with our partner and write them down in a shared document. We highly recommend coordinating directly on Slack, Zoom, or Github, although whatever works is fine. Finally, this tutorial will not specify what our monster does. That is for you to decide. You and your partner can have it attack, do stand-up comedy, dance a jig, or whatever else you wish, at your discretion.

Types and Output in Quorum (25 minutes)

We have placed our characters on the screen and generated a preliminary script for our quest. The next step is to start learning a little bit about code. The reason we care about this is because the Scene Editor in Quorum Studio creates static scenes, but if we want our game to do anything in real-time, or to be accessible, we need to write code that makes it so. To do this, we first need to learn about keywords in Quorum, specifically we need to learn about types and output. In the next tutorial, we will use this information to get information, like coordinates, about our characters.

Wrap-up with a Partner (10 minutes)

For the last 5 minutes, see if you can add one of the output statements to the Main.quorum file in Quorum Studio. Your output statement might look something like:

text name = "Evil Lord Bunnykins"
output name

Next Tutorial

In the next tutorial, we will discuss Setting Physics Properties on Tiles, which describes adjusting physics properties for our application..