Obstacle Assault
Obstacle Assault
A 3D platformer I made using Blueprints and C++ with Unreal Engine 5!
Description
Obstacle Assault is a 3D platformer designed with Unreal Engine 5, showcasing level planning and gameplay programming. Built from the ground up using C++ and Blueprints, this prototype emphasizes real-time interactivity, dynamic object behaviour, and strategic camera framing.
Engine: Unreal Engine 5
Tools: C++, Blueprints
Project Type: Solo
Duration: 3 Weeks
Genre: 3D Platformer
Focus: Difficulty
The way to transition from island to island in order progress through the level
One of the obstacles within the level where the player needs to naviagate through
The C++ code for the movement of the obstacle components including rotation, transformation
Level Blueprint of the game showcasing the logic of player collision with the obstacles and pause menu
My Role
Designed and implemented all core gameplay mechanics, including movement, goal detection, and platform interactions using Blueprints and C++
Integrated free UE5 environment assets for visual fidelity while custom-scripting all functional systems
Chose a third-person camera to give players spatial awareness and promote forward planning during platforming sections
Challenges
Challenge: Rotating and moving objects dynamically based on time and input
Solution: Implemented mathematical logic in the Tick() function instead of BeginPlay() to allow real-time updates per frame, ensuring consistent and smooth rotation/movement
Overcame initial difficulties with UE5's C++ architecture, especially in understanding header/source file linkage and method overrides
Highlights
Combined event-driven Blueprints with low-level C++ logic for precise control
Optimized object behavior using frame-based updates for dynamic and responsive gameplay
Gained deep experience navigating Unreal’s C++ framework and debugging runtime behaviors
Resolution
This project helped me bridge the gap between visual scripting and traditional code. It reinforced my understanding of real-time systems in game development and honed my ability to debug and iterate efficiently in a complex engine like Unreal.