The game will need a win/loss condition implementation and visualisation to (1) allow the player to win or lose the game, and (2) let them know clearly when they have won or lost. A win/loss condition should be added to the game as it allows the player to understand what the games' objective is, and how to avoid losing. The Win/loss condition implementation will involve implementing title screens which will inform the player if and when they have lost (died) or won (successfully completed the level). In addition to this, whilst the level is being completed, players will have an option to pause the game through a button on the screen. In doing so, a pause screen will occur, where the player will have the option to alter the music volume, restart the level, return to the main menu or resume the game.
Sub-feature / Components
A 'loss' condition (death) will trigger a loss screen.
A 'win' condition (finishing the level) will trigger a win screen.
Functionality for a pause button to trigger the pause screen
Win and loss screens will be designed
Pause screen will be designed
Functionality for the buttons on the win/loss screens will be implemented
Functionality for the buttons on the pause screen/music volume adjustment will be implemented
Examples
Win/Loss screens: When the player loses or wins, a screen will appear telling them that they have, which will contain buttons that let the player control what happens next (Replay, Return to Main Menu, etc..)
Dependencies
A win condition (passing the level) relies on #5 to be implemented.
A main menu design is required for a player to 'Return to the Main Menu'
Deaths caused by #7 must be integrated for the loss title to appear if a player loses this way.
(Extra) Design of the meteors relies on Level Design to allow for consistent art styles.
Milestones
[x] Design the 'loss' pop-up screen (20th Aug)
[x] Design the 'win' pop-up screen (20th Aug)
[x] Design the 'pause' pop-up screen (20th Aug)
[x] Implement the loss screen to appear upon death. (22 Aug)
[x] Implement the win screen to appear upon completion of the level. (22 Aug)
[x] Write JUnit tests for the loss and win screens appearing
[x] Document code for the new methods
[x] Implement the code logic
[x] Ensure the loss screen works with deaths caused by #7 (24th Aug)
[x] Implement functionality for the buttons on the 'loss' screen (Replay, Return to Main Menu) (27 Aug)
[x] Implement functionality for the buttons on the 'win' screen (Replay, Return to Main Menu) (27 Aug)
[x] Write JUnit tests for the Replay and Return to Main Menu buttons
[x] Document code for the new methods
[x] Implement the code logic
[x] Implement functionality for the buttons on the 'pause screen' (Resume, replay, Return to Main Menu, adjust music volume) (22 Aug)
[x] Write JUnit tests for the Replay, Resume and Return to Main Menu buttons
[x] Write JUnit tests for the volume adjustment scroller
[x] Document code for the new methods
[x] Implement the code logic
[x] Add new changes to game Wiki (30th Aug)
Extras
[ ] Design the falling meteors in the background of the map
[ ] Implement continually falling meteors in the background when the 'loss' screen appears
[x] Design functioning Health Points (HP) bar to show player's current health.
Description
The game will need a win/loss condition implementation and visualisation to (1) allow the player to win or lose the game, and (2) let them know clearly when they have won or lost. A win/loss condition should be added to the game as it allows the player to understand what the games' objective is, and how to avoid losing. The Win/loss condition implementation will involve implementing title screens which will inform the player if and when they have lost (died) or won (successfully completed the level). In addition to this, whilst the level is being completed, players will have an option to pause the game through a button on the screen. In doing so, a pause screen will occur, where the player will have the option to alter the music volume, restart the level, return to the main menu or resume the game.
Sub-feature / Components
Examples
Dependencies
Milestones
Extras
Documentation
Members