-
Notifications
You must be signed in to change notification settings - Fork 1
Jump Pads
The design of the Jump pads, as seen above was based off of an original concept made by Team 2's Kyle. This was then stylistically improved to have moving parts and a colour scheme with a touch more contrast, so that the user can clearly see this is an interactable object.
The animation is not a loop in-game, but has been made one to showcase it's features. This will play only once and activates upon collision with the player. It was curated to appear as if it was 'charging up' as the player stepped on it, only to then launch up with some pace before returning to normal by 'charging down' again. This animation may be revisited before submission, to add a more lengthy 'charge down' process, however the charge up and launch sequence should (in our team's opinion) stay with the relatively fast pace, to demonstrate the player being truly launched upward.
Jump pads are obstacle entities that temporarily increase the player's jump height after/while colliding with it. The obstacles will be placed around the map, mainly in sections of the map that are built to require a higher jump height, as a sort of non-pick-up-able power up.
To implement this, the JumpPadComponent
class was created. JumpPadComponent
is a dummy component that from extends JumpableComponent
to act as an indicator to the onCollisionStart
function in the PlayerMovementComponent
class to whether the player has hit a jump pad. onCollisionStart
has been modified to deal with the interactions between the player and the jump pads in that if the fixture of the specified targetLayer
(i.e. obstable) has a JumpPadComponent
, the jumpPad()
function in PlayerActions
is called. This applies a force to the player's body
as defined as the jumpPadSpeed
. Currently, it is double the current jumpSpeed
of the player.
if (jumpPadComponent != null) {
// Colliding with jumppad
target.getEvents().trigger("activate");
playerActions.jumpPad();
}
public void jumpPad() {
body.applyForceToCenter(jumpPadSpeed, true);
}
JumpPadAnimationController
is responsible for the handling of the jumppad's animations. The event handler (As seen in the first code segement above) triggers the "spring" animation to start when the player collides with a jumppad. At the current moment, there is no functionality, as switching from TextureRenderComponent to AnimationRenderComponent breaks the JumpPad obstacle. It should be noted that for the animations to work, every "render update" must call the event trigger for the idle animation whilst the JumpPad is not in use (To be implemented in the physics simulation?).
Testing Plans
Team 1
Team 2
Team 3
Team 4
Team 5
Team 1
Team 2
Team 3
Team 4
Team 5
User Testing
Sprint 1 - Game Audio
Sprint 1 - Character Design
Sprint 1 - Menu Assets
Sprint 1 - Map Design
Sprint 1 - Void
Sprint 2 - Game Audio
Sprint 2 - Character Design
Sprint 2 - Menu Assets
Sprint 2 - Interactable Design Animation
Sprint 2 - Levels 1 & 4, and Level Editor
Sprint 2 - Proposed Level 2 & 3 Designs
Sprint 2 - Current Game State
Sprint 3 - Menu Assets
Sprint 3 - Map Design
Sprint 3 - Score Display
Sprint 3 - Player Death and Spawn Animations
Sprint 3 - Pick Ups and Pause Screen
Sprint 4 - Gameplay
Sprint 4 - Game UI and Animation
Sprint 4 - Level Background and Music
Sprint 4 - Game User Testing
Sprint 4 - Final Game State Testing
Entities and Components
Status Components
Event System
Player Animations Implementation
Development Resources
Entities and Components
Level Editor (Saving and Loading
Multiple Levels)