Skip to content

Mission UI

bunnyycat edited this page Sep 11, 2023 · 7 revisions

The mission UI can be accessed in game through interacting with the Questgiver NPC.

Questgiver NPC Entity

The Questgiver NPC entity is an entity that the player can interact with to access the mission display. This is done by pressing E when the player is close to (in range of) the questgiver.

questgiver image

MissionDisplay

The MissionDisplay is a component added to the Questgiver entity and serves as a UI for viewing & interacting with missions.

The display contains 4 screens:

Main Mission Menu

This is the first screen that shows when the Questgiver is interacted with and contains a story related blurb plus navigation buttons.

image

Achievements Menu

This screen takes all the achievements returned by the MissionManager's getAchievements() method and maps them to a table of Complete & Incomplete achievements.

image

Quests Menu

This screen takes all the quests returned by the MissionManager's getSelectableQuests() & getActiveQuests() methods and maps them to an interactive table. Active quests can either be in progress or expired, while inactive quests are either selectable or complete. The status of the quest affects the action button displayed next to it.

image

Quest Info Page

This contains the full description for the chosen quest as well as the same action button as in the Quest Menu.

image

Testing

The UI components of the MissionDisplay are able to be unit tested by mocking the Stage class and capturing the Actor passed into the Stage's addActor() method. The captured Actor can then be checked for all necessary components. The full test suite is found in MissionDisplayTest.java.

In addition to the unit tests, user testing was completed to ensure the full mission functionality currently present in game was available in the UI, and that the elements were styled and visually displayed correctly. This was done by manually adding extra quests & achievements to the MissionManager with various expiry times & completion requirements, having the player walk up to the Questgiver & press e, then verifying the mission menu showed up and all screens had the expected state. The menu images in the previous section are an example of what was shown during user testing.

Clone this wiki locally