Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧗‍♂️ 3D Platformer

This project is a third-person platformer in which the player must overcome various obstacles by either jumping or using a jetpack to fly. However, jetpack fuel is limited, so players must carefully manage their resources and collect fuel pickups scattered throughout the level to replenish it!

The game features multiple types of platforms. Some platforms move continuously, while others are activated only after the player interacts with specific pressure plates. Each platform can be assigned its own destination and movement path. Various fuel pickups can be found across the map. These pickups are color-coded to indicate how much fuel they restore. A user interface system has been implemented, allowing players to restart the level after either a successful completion or a failed attempt, as well as quit the game. Additionally, the character movement system was developed from the ground up.

⚙️ Features

  • Blueprint class 'BP_KixPlayerController' - class that manages moving, looking, jetpack system of the character and many more
  • Blueprint class 'BP_JetFuel' - pick up that replenishes fuel of the jetpack, this is instance editable and depending of ammount, color is being changed - this is taken care of as a part of its construction script
  • Blueprint class 'BP_PlatformBase' - this parent class has couple of child classes such as 'BP_Platform_PingPong' or 'BP_FloatingPlatform', those define behaviour of platforms
  • Blueprint class 'BP_PressurePlate' - standing on top of this blueprint can turn ON/OFF marked platforms, which is instance editable
  • Blueprint class 'BP_ToolTip' - interactable pick up that depending of its instance can display chosen Widget Blueprint for limited amount of time
  • Checkpoint functionality - 'BP_Checkpoint' saves location and 'BP_CheckpointDeath' on collision calls an event to move Player to previously saved location

🕹️ Controls

  • W - Move Forward
  • S - Move Backward
  • D - Move to right
  • A - Move to left
  • Spacebar - Jump
  • Shift - Use jetpack

🧠 What I Learned

  • Creation of Intermediate Blueprint Classes
  • Extensive using Blueprint Interfaces as a way to avoid unnecessary casting
  • Creation of Player Controller blueprint from the ground up
  • How to optimize file sizes of classes
  • Creation of Widget Blueprints
  • Creation of Animation Blueprint and State Machines
  • Taking advantage of parent and child classes
  • Taking advantage of Async loading

📈 Future Improvements

  • Visible timer that holds personal records for completing the map

🎬 Gameplay Preview

PreviewGameplay.mp4

UI.mp4

Checkpoint.mp4

🛠️ Blueprints

BP_KixPlayerController

Button Binding of WBP_EndGame

Image

Adding Widgets from BP_ToolTip

Image

ABP_Kix - animation blueprint

Locomotion and Flying state machines

LocomotionNFlying.mp4

Final state machine

FinalStateMachine.mp4

Image

About

3D Platformer crashbandicoot alike where User needs to manage fuel and overcome moving platforms.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors