Repository navigation
Map Design Test Plan
Testing plan for the map design to ensure completion is necessary as JUnit and mockito are not appropriate to simulate the complete environment, and as such, this test plan pertains to physically playtesting the levels.
Setup: run ./gradlew desktop:run from source/
Cheats: For longer tests, requiring more skill due to the difficulty, cheats can be toggled on by pressing BACKSPACE! Furthermore, for level specific tests, ENTER can be pressed to skip to the next level To zoom out during gameplay, M can be pressed (this is not specifically a cheat, but does help with navigating) Note: cheats in the future will be expanded to grant infinite health to assist with this test plan
Intended Progression: For info on how the levels are intended to be completed, please see the level design wiki page here
| ID | Steps | Expected Result |
|---|---|---|
| L1-1 | Load into level 1 (currently the tutorial level) | Should spawn in the bottom left of the map with no items and 5 hearts of health |
| L1-2 | Jump off the map | After spawning, intentionally fail the first jump and ensure you respawn at the start of the level with -1 heart of health |
| L1-3 | Complete first few jumps and then land on a spike | Ensure 1 heart of health is removed from the player |
| L1-4 | Continue completing jumps, ensuring each one is possible | All jumps should be possible |
| L1-5 | Grapple across a gap that is too big to jump across (ensure Grapple was picked up at start of level) | Grapple should attach and be able to swing and detach to safely get to the other side |
| L1-6 | Continue moving through the level and stand on a moving platform | Player should move with the moving platform whilst standing on it |
| L1-7 | Enter the second half of the level with enemies. Ensure they take damage and die appropriately (Best to ensure you picked up arrows) | Enemies should die after a few successful arrow hits |
| L1-8 | At the top of the second half of the level, complete the section by chaining 3 grapples together | The player should be able to move through this section without falling onto spikes |
| L1-9 | Proceed through the level as intended, until you reach the end of the level | Upon walking through the end of the level, the second level should load |
| ID | Steps | Expected Result |
|---|---|---|
| L2-1 | After completing level 1, the player should be in level 2 now | Level 2 is loaded, with player appropriately at the start of the level, with the same inventory state and health |
| L2-2 | Jump off the map | Ensure the player respawns at the start of the current level |
| L2-3 | Use the dash mechanic to ensure the first two platform jumps are doable | The third platform should be reachable with little to no effort |
| L2-4 | Continue through the level until the first spiky balls are encountered. Intentionally get hit by one | Two hearts of health should be removed from the player |
| L2-5 | After completing the spiky ball section, stand on the crumbling platform | Platform should crumble after a short time |
| L2-6 | Jump up through the ledge at the entrance of the enemy arena | The collision should be disabled, allowing the player to pass through the ledge |
| L2-7 | Press S whilst standing on the ledge | The player should be able to fall back through the ledge |
| L2-8 | Upon entering the arena, after a delay, enemies should begin to spawn. After defeating a certain amount they should stop spawning | Once enemies stop spawning, two platforms should appear above the arena to facilitate exiting the arena |
| L2-9 | Shoot the hidden button on the left hand side of the exit of the enemy arena (see level design sketch for location if unsure) | Shooting this button should trigger two platforms above and the top moving platform on the right of the level should begin moving |
| L2-10 | Ensure the secret reward at the top of the map can be reached | The platform next to the button should be reachable. If a future sprint, the appropriate reward will be placed up there and should trigger |
| L2-11 | Ensure the puzzle at the end of the level is doable and the state machine of the buttons/traps functions as expected | The result of this depends on which button you shoot. Ensure it aligns with expected results seen here |
| L2-12 | Reach the end of the level | Level 3 is loaded and transitioned to |
| ID | Steps | Expected Result |
|---|---|---|
| L3-1 | Spawn into level and verify visually the water is moving up slowly | Water should spawn directly below the spawning platform and inch up fast enough that you can visually see it move |
| L3-2 | Progress through section 1 of the level | All platforms should be reachable through some means |
| L3-3 | At the top of section 1, there should be two layers of ground and with a gap in between | Verify jumping up into the gap triggers a platform, ensuring the player can not drop back down |
| L3-4 | Ensure the spawners begin spawning enemies | Enemies should begin spawning with a few seconds from both the left and right side of the arena |
| L3-5 | Verify water level stops rising after entering the arena by pressing M and taking a moment to visually ensure the water has stopped | Water level should stay in place |
| L3-6 | Upon beating one of the spawners (the left one is easier), the ability to progress to section 2 should unlock and water should restart rising | Verify that platforms trigger and the water level begins moving up again (press M) |
| L3-7 | Progress through section 2 | Halfway through section 2, there should be spiky balls moving horizontally from right to left |
| L3-8 | At the top of section 2, the way into the arena should be blocked. Upon verifying this state, shoot either button on the left or right underside of the arena | Platform state should initially be on until a button is pressed, which should disable the platform, allowing the player to jump into the next arena |
| L3-9 | Repeat tests L3-3, L3-4, L3-5, L3-6 for enemy arena 2 | Ensure jumping into the arena retriggers the platform beneath your feet, enemies begin spawning in the middle and top left/right of the arena, water level stops rising (press M) and beating a spawner triggers the ability to progress through the level and retriggers the water |
| L3-10 | Jump onto the platform directly above enemy arena 2 and briefly walk left and right on the platform (there are three ascending slippery platforms going from right to left that progress to the underside of 3 moving platforms) | Observe a slide effect on these platforms and ensure grappling to them only lasts a few seconds |
| L3-11 | Progress through section 3, going left at the 'T Junction of ground' and activating the button three times (Note: this is intended to be a difficult section, the BACKSPACE cheats may be best for this test) | This unlocks the top platform allowing entry into the boss arena |
| L3-12 | Jump into the boss arena | This should retrigger the platform beneath your feet |
| L3-13 | Visually ensure there are 3 additional layers of ledges that the player can jump and fall through | There should be 3 layers of ledges |
Note: Completion of these level 3 tests should result in a boss spawning. However, integration of this was not handled by the map team, and as such, does not have any tests in this plan regarding its spawning, beating the boss and/or any other post-boss mechanics that may occur.
| ID | Steps | Expected Result |
|---|---|---|
| L3-1 | Spawn into level 3 | The scene should be day time and full brightness, like level 1 and 2. It should be lightly raining |
| L3-2 | Wait 5 seconds | A lightning strike should flash in the background, very slightly flashing level entities, but not flashing the background |
| L3-3 | Wait an extra 20 seconds | The scene should now be getting darker, with entities and background appearing darker. Intermittent lightning strikes should occur, which should now flash the background slightly. |
| L3-4 | Continue waiting | The background should progressively get dark until it is essentially pitch black, while entities will remain at a brightness level that is still visible to players, although dark. Lightning strikes should flash entities to a brightness equal to their original brightness, and the background should flash at a brightness lower than entities |
Entities and Components
Input Handling
Arrow Selection Wheel Arrow Selection Wheel — Sprint 3