Achievement Summary - UQdeco2800/2022-studio-1 GitHub Wiki

Page Navigation

Jump to a section

Summary

Achievements are an integral part of any game. They can give a player guidance on their first playthrough, and give them a goal to work towards on subsequent playthroughs.

To implement achievements into Atlantis Sinks, three main components were implemented. The achievement handler (as the name implies) handles loading, updating and saving the status of the player's achievements. The achievement popup component then handles notifying the player in game when they have completed an achievement. Finally, the achievement screen provides the player a place to view all of the completed and uncompleted achievements in one place.

Achievement Design & UI

The design of the achievement icon badge designs follows the agreed upon design principles to allow for a consistant game design, further the style incorporated followed very closely the shop interface as it had been created prior. Further the UI design ideation followed closely the inventory and shop page. More information on the design of the achievements and the ideation for Atlantis Sinks may be found here!

Achievement Icon Testing & Validation

User Testing was completed in order for user preference to be recognised in regard to icon design as well as user expectation as they navigate the achievement popup and complete prompted tasks!!

Achievement Handler Service

The Achievement Handler service is responsible for tracking the progress of a player as they make achievements. It persists the progress made so far using file storage and ligdx JSON library to marshal and umarshal the saves.

It communicates with other parts of the game largely through events. When it receives an event it flushes its contents to disk so they can be loaded when the game is restarted.

More information on the achievement handler service can be found here.

Achievement Popup Component (Notification)

The purpose of the AchievementPopupComponent is to provide feedback when a player makes an achievement during game play. The popup briefly appears on the screen on top centre where the player can see it and disappears after 5 seconds.

More information on the achievement popup component can be found here.

Achievement Interface

The original achievement screen was made up of 3 components (AchievementScreen, AchievementActions and AchievementDisplay). During Sprint 4, this was refactored into a single class, AchievementInterface, that could be added to a screen as a single UI component.

More information on the achievement interface can be found here.

Example of achievement display as of sprint 4: Game achievement display

Achievement Screen

This screen was made obsolete in Sprint 4 and was subsequently removed. This section has been left for achival purposes. For information on the current achievement display, please see the Achievement Interface section above.

The achievement screen can be accessed from the main game screen and displays badges for each achievement in the game and their completion status. It is made up of three components - AchievementScreen, AchievementDisplay and AchievementActions - which hold all functionality for the UI.

More information on the achievement screen can be found here.

Example of achievement display as of sprint 3: Game Achievement display