Skip to content

Achievements

Jack Brett edited this page May 20, 2024 · 4 revisions

Achievements (or quests, missions etc.) can either be a set objective that the player must complete or an objective which is progressed over the course of an experience.

Achievements can be defined in the object AchievementList which is found in LUTE>Resources>Achievements.

This list does not need to be in the scene at runtime to work but certain objects or Order may need reference to it.

Adding Achievements

Achievements are not defined by specific behaviours but are used more for descriptors of information regarding a specific achievement. So collecting coins will not progress if a player collects coins but will progress if you tell the LUTE system to do so; attempting to drive achievements by specific behaviours would lead to more and more code so we decided to keep things simple.

When selecting the Achievement List object you will see a list of example achievements. You can delete these or you can add a new achievement to list by selecting the plus ('+') icon.

achivementList

Achievments have an ID which is what is used to define them in other cases such as Orders. They can be 'simple' or 'progress' type which will either mean that an achievement requires a number to be progressed or 'simple' will mean that it requires one action to be set as true to complete.

You can also hide achievements in the list then give it a name and description - this will be what is shown on the achievement list panel in experiences. You can also provide images relating to the unlocked/locked status of the achievement as well as specific sounds which play when that acheivements has been unlocked.

Using Achievements

The most common way you would use an achievement would be to:

  1. Create and define your desired achievement - in this case we are collecting 5 coins.
  2. Use this in conjunction with other behaviours on Orders/Nodes.
  3. In this case, the player will be rewarded 10 coins for reaching a specific location.

coinsOrder

  1. We then add the Order Achievement, select the 'Coins' Achievement and set the progress boolean to true before setting how much we wish to progress this Achievement - as we have collected 10 coins we will set this to 10.

achievementCoins

  1. Upon completing an Achievement, if there is a AchievementCanvasDisplay object in the scene, this will show a small UI display in the top left which indicates to the player that an Achievement has been completed.

achievementDisplay

  1. Additionally, if there is an AchievementCanvas in the scene, this will also be updated to reflect the Achievement List in the project.
  2. You can use the Achievements>ShowList Order to trigger to Achievement Canvas on/off when in game.

achievementCanvas

Achievements will be persistent which means that they will be saved across play and not be reset when exiting and entering your game. You can reset Acheievements on the AchievementList object by selecting the 'Reset Achievements' button.

Clone this wiki locally