Skip to content

Tutorial Level

Gir3245 edited this page Oct 19, 2021 · 8 revisions

Purpose

Teaching new players how to play a game is challenging and very important when engaging and retaining players. Fortunately, this game is not complex and does not require high commitment to learn the mechanics. The tutorial level aims to be helpful for introducing the game's background story as well as introducing game mechanics.

Description

The player will be tasked to complete a series of simple actions to complete during the tutorial level, something along the lines of:

  • Press Spacebar to jump over obstacles
  • Press Spacebar twice to jump over the ledge
  • Press Shift to sprint
  • Press Q or E to roll under the obstacle
  • Avoid the enemies, watch out for the fire from above and below
  • Congradulations!
  • Now go and collect those items.

At the end of the tutorial, the player will be prompted to pick up items and then a mysterious egg, angering a serpent dragon which causes the game to start at the first level. This introduces the key opponent in the game, and reasons why an enemy monster is chasing the player who needs to escape the planet or they will die.

Design Process

A few sketches were developed to plan the potential design of the tutorial level. The tasks users will have to complete are ordered in terms of importance or necessity to the game, where basic player movements are introduced at the beginning, and picking up power-up buffs are the last task needed to be completed. Below is the layout that was chosen to be implemented.

User Testing

Some aspects of the tutorial level were updated after conducting user testing, detailed on Tutorial Level User Testing.

Implementation

To notify the users of information a new component was created called InformPlayerComponent This component is attached to the player entity. This component can receive a map of integers and strings <Integer, String> Map. This mapped the x coordinate with the strings to be displayed to the player. Once the player passed the point of any of the mapped triggers, the new string would be displayed.

Table of Contents

Home

Introduction

Main Menu

Main Game Screen

Gameplay

Player Movement

Character Animations

Enemy Monster Design and Animations

Game basic functionalities

User Testing

GitHub Wiki Tutorial

Game Engine

Getting Started

Documentation

Entities and Components

Service Locator

Loading Resources

Logging

Unit Testing

Debug Terminal

Input Handling

UI

Animations

Audio

AI

Physics

Game Screens and Areas

Terrain

Concurrency & Threading

Settings

Troubleshooting

MacOS Setup Guide

Clone this wiki locally