Interactive Tutorial - UQdeco2800/2022-studio-3 GitHub Wiki

Introduction

RTS games are generally complicated with many features. Implementing an interactive tutorial ensures that people unfamiliar with the genre are able to play the main game and have a higher chance of enjoying the game. Users that are familiar with the genre will also have the option to skip the tutorial if they choose to, so the tutorial is inclusive of all skill levels.

At this stage, the features, tasks to include and dialogues need to be finalised in order to create the static tutorial. The tasks need to be presented in a logical order, simulating a real gameplay session.

Features/Possible Tasks

These are features that are visible and interactable in the game

  • Navigation: Inform the user how to navigate the map with the mouse, prompt the user to navigate to building
  • Information Box: Click on a barrack to spawn troop, level up base once enough resources are generated, select multiple troops, create bubble to defend city
  • Menu Box : To show the number of troops deployed at the moment
  • Weather Change : Lightning and weather change to have considerable effect on the health of the user
  • Spell System : Spell system is a unique way to add a dimensionality to the gameplay. Instead of solely producing and managing units, a simple but useful system was designed to enhance the player's fighting experience. It involves writing a spell which would lead to destroying the enemy units in a specific region.

Features/Tasks to be determined

These are features that are not visible or interactable in the game.

  • How to collect resources
  • How to attack enemy troops
  • Multi-troop selection action

Flow of tutorial

This section shows a logical sequence for tasks to be completed within the tutorial.

  • Navigation
  • train troops and mining
  • low level enemy appears, defeat enemy using soldier
  • upgrade town hall, create bubble
  • more enemies appear
  • use spell + soldier on multiple enemies
  • user is now ready to play

UML Diagram

Tutorial UML

Code guide

To add/remove dialogues, in TutorialGameActions.java, edit the private static final String[] tutorialDialogues variable. The dialogues will be automatically updated and display in chronological order.

To add entities to the game area, navigate to TutorialGameArea.java and add them in the create() method. It is preferred you use respective functions or define new ones to add entities.