Skip to content

Jump Pads

ReardonI edited this page Oct 6, 2021 · 16 revisions

Design

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.

Implementation

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);
   }

Animations

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?).

Table of Contents

Home


Game Design

Game Design Document

Void/Antivirus

Loading Screen

Game Sound

Menu Assets

Player Design

     Original Design

     Final Design


Gameplay

Movement

Jumping & Sliding

Jump Pads

Portals & Bridges

Buttons

Pick-Ups

Physics

    Momentum & Physics

    Gravity

    Collision


Level Design

Level 1

     Background

     Textures

     Map Design

Level 2

     Background

     Textures

     Map Design

Level 3

     Background

     Textures

     Map Design

Level 4

     Background

     Textures

     Map Design


Sprint Round-Up

Sprint 1 Summary

Sprint 2 Summary

Sprint 3 Summary

Sprint 4 Summary


User Testing

Testing Plans

Sprint 1

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

Sprint 2

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

Sprint 3

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

Sprint 4

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

User Testing

Sprint 1

     Sprint 1 - Game Audio
     Sprint 1 - Character Design
     Sprint 1 - Menu Assets
     Sprint 1 - Map Design
     Sprint 1 - Void

Sprint 2

     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

     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

     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


Game Engine

Entities and Components

     Status Components
     Event System
     Player Animations Implementation

Level Editor

Level Saving and Loading

Status Effect


Defunct

Development Resources

    Getting Started

Entities and Components

    Level Editor (Saving and Loading
         Multiple Levels)

    Service Locator

    Loading Resources

    Logging

    Unit Testing

    Debug Terminal

Input Handling

    UI

    Level Saving/Loading

    Status Effects

    Animations

    Audio

    AI

    Physics

Game Screens and Areas

    Terrain

    Concurrency & Threading

    Settings


Troubleshooting

MacOS Setup Guide

Clone this wiki locally