Finders Keepers

Synopsis
Contribution Overview
Development

Finders Keepers was the sixth game I developed as a student on TGA. It’s a 3D platformer game based on Psuedoregalia.
My main responsibilities was in implementing character movement and controls, as well as the camera behaviour and collision handling.

Contribution
Walking
Jumping

Slide
Slide Jump
  • First ability which you unlock.
  • Sliding grants higher velocity and being able to go below tight spaces.
  • If the player jumps while sliding they’ll perform a Slide Jump.
    • Shorter vertically compared to a normal jump, but massively increased horizontal distance.
  • Limited mobility. The player may slightly steer where they’re able to slide.

Air Kicking
Wall Kicking
  • Second ability which you unlock.
  • Can only be performed while in the air.
  • Slightly launces the player in the direction they’re currently facing.
    • If they apply an while activating, the launch will be apllied in that direction.
    • If no directions nor inputs are applied, the kick will be stationary.
  • The player will enter a kick state for about a second. If they collide with a wall from the front they will perform a wall kick.
  • Wall kicks launches you in the air and in the opposite diretion which you were facing the wall, as well as resetting to let you perform another air kick.
    • Up to three air kicks may be used before landing.

Plunge
Plunge Jump
  • Third and last ability which you unlock.
  • Can also only be performed while in the air.
  • Stops the player’s velocity, then lunge them downwards into the ground.
  • After the player has hit the ground, they have a short window to perform Plunge Jump.
  • Plunge Jump let’s you jump much higher than previously possible.

  • 3D orbital camera rotating around a Focus Point by the player. Controlled by mouse movement.
    • The Focus Point is placed a few dm above the player’s head.
  • While able to rotate 360° horizontally, there are limited angles vertically to not flip the camera over, nor to look to much upwards to land in an awkward collision with the player.
  • While the camera moves it ignore walls between it and the Focus Point. To still be able to view the player, a shader is put to higlight them through walls and terrain.
  • If the camera collides with terrain, it will recalculate a new position by keeping its current angle, and raycast from the Focus Point backwards until it hits a wall (or maximum distance). This is to prevent it from clipping into walls.
  • If the camera ends up near the player due to wall collision, the Focus Point will lower down so that one can still see the top of the character’s head.
Camera Collision
Camera Angles

Horizontal Panning

  • Walking around, the Focus Point of the camera will slowly pan horizontally.
  • The panning is based on player input. For example:
    • If the player walks to the left, the Focus Point will pan to the left to better view what’s in front. This naturally places the player on the right side of the screen
    • If the player turns the camera while panning, the player will still be positioned in the same spot on the screen, to the right.
  • If the player stops moving, the Focus Point will pan smoothly back to its original place, above the player.
  • While applying inputs, the camera controller will check if the Focus Point would collide with terrain. If that’s the case, it will stop a small distance away from the terrain as to not clip into it.
    • If the Focus Point were to clip into the terrain, then camera’s recalculation would be based from a position inside of the terrain, allowing it to clip through.
Horizontal Panning with Camera Rotation
Panning Into Wall

Vertical Panning

  • The Focus Point will naturally try to place itself a bit above the player’s head, vertically.
  • However, if they jump the Focus Point will stay put. This it to not have the camera shake around while player jumps quite a bit. When the player lands, the Focus Point will return to above the player’s head.
    • The Focus Point will pan upwards a meter or so as to not make the player’s head go outside of the screen during a normal jump.
  • If the player would jump out of the screen due to wall kicking or falling from a cliff, the camera will pan back towartds the player.
  • If a Plunge Jump is performed, the camera will start panning towards the player slightly before they exit the screen.
    • Otherwise the camera would accelerate too fast to catch up with the player.
  • When jumping towards a close ledge which the player can reach, the camera will prematuraly slowly pan towards the ground level at that ledge. This gives a smoother experience than if the camera stayed still then quickly tried to readjust.
  • If the player enters a dash bubble or ledge grab state, the all panning will immediately go back towards the player.
Vertical Panning After a Wall Kick
Premature Panning Up to Ledge

Dash Bubbles
Respawn Fading
Platforming before Abilities
First Level
Platforming with Abilities
Final Level
Credits

-> Link to the game’s page <-