-
Notifications
You must be signed in to change notification settings - Fork 7
Progress Bar
The progress bar displays to the user the day they are on and how long until game failure due to time. This time scale is, 3 days (until failure) for act 1, 6 days for act 2, and 9 days for act 3. The ProgressBar
class can be found at "com/csse3200/game/services/ProgressBar.java".
The progress bar in act one was designed to aesthetically represent the Alien NPC's displeasure with the player on the planet. As time progresses the Alien's lack of trust in the player increases. The act 1 progress bar represents this through a image of the Alien NPC approaching a 'heart break' which gets closer each day the player has not completed the first main quest (until day 3 on the ending of which the player will lose). The way to prevent this is to complete the act 1 quests and gain the aliens trust, thus avoiding that loss condition and progressing the player to act 2.
The progress bar in act two was designed to represent that humanity is getting further from your planet and you must contact them before they reach the point of no return. This is represented by a space ship flying away from your planet and towards a skull. This act is intended to last 6 days and must be completed before that point to avoid a game over. Once the last quest in this act is completed the player will progress to act 3
The progress bar in act three was designed to represent the solar flare, that is coming to destroy the planet and consequently you must increase the oxygen on the planet to be able to survive the flare. Once the final quest for this act is completed the game will be won. If the player does not complete the final quest a game over will be triggered.
The ProgressBar
extends a UIComponent and is dependant on the both the time service and the quest system. The progress bar gets the current day from the time service and also updates which act the progress bar displays based on the current quest the player is on. The progress bar updates based on the dayUpdate, QUEST_REWARD_COLLECTED, or toggleUI events.