Showcase

Obstacle Assault

5/17/2025

Obstacle Assault is the second game students build in GameDev.tv's UE5 C++ Developer course. This section introduces students to C++ in Unreal, how to use C++ and Blueprint together, and starts students down the path of level design and gameplay mechanics. My presentation of this project will be through the adventure of the main character. I hope you have as much fun reading it as I did making it.


This is Gideon. He is an adventurer of sorts, pretty much taking on any challenge thrown at him (mostly because he is a video game asset and has no choice). Now he faces his greatest challenge yet - an obstacle course designed by someone with no level design experience!

Gideon getting ready to face the obstacle course
Why does it look like I am in a cartoon?

Gideon is not amused by his latest adventure, clearly, but at least he has the power to face it. He is a combat expert - just look at his magical abilities!

Gideon trying his special power
In my mind, Gideon sounds kind of like Henry Cavill's Witcher, and this is where we would get a classic Witcher "fuck".

Oh, it seems the game developer "forgot" to add his abilities (and it certainly has nothing to do with the fact the developer does not actually know how to add in cool particle effects - nooooo not at all). Well, Gideon, I guess it is just you and your amazing physical abilities from here on out. Let's take a look at what this course is all about.

We see a wall and some moving platforms that seem to lead to a way over the wall. The wall spans the width of an island that looks suspended in the air, so it is safe to say the platforms are the way forward.

Shot of the moving platforms obstacle
Man, what kind of mathematical genius designed these platforms? They are in perfect sync! (I spent waaaay too long on this)

Of course, Gideon makes short work of these platforms, stopping on one to just take in the scene and enjoy the trip.

Gideon riding back and forth on a platform
I just imagine him letting out the most unenthusiastic "wheeeee...".

Gideon makes his way on top of the wall, where he is now faced with three giant purple boxes moving side-to-side. He makes his first attempt to get past them.

Gideon getting pushed off the upper island by a pusher box
Welp, the pushers do their job, I guess.

Fortunately for Gideon, the level designer thought of this. His old friend the moving platform is back to give him a second chance at victory.

Gideon riding on top of a moving platform
I am proud I thought about this one. Just ignore the fact I have done nothing to stop the player for hurling Gideon off the island to a long fall into nothingness.

Once past the pushers, Gideon now has a new challenge: the rotating floors. These floors sit in the ground and spin, making going in a straight line nearly impossible. There is also a trap towards the middle that Gideon finds himself wrestling with, as it seems these platforms were designed to lead him there.

Gideon getting stuck in a enclosure by a rotating floor
In reality, I noticed the empty patch here gave the player a straight shot to the last rotating floor and needed to fill it. I just happened to think of something clever to block it.

Gideon collects himself and tries again. It is a dizzying adventure, but he eventually manages to get across.

Gideon making it across the rotating floors
I do not want to talk about how many takes it took to get a quick, clean run through this part...

With the rotating floors behind him, Gideon faces his last obstacle. A set of rotating walls stands between him and the building he is compelled to enter. He waits, calculating his moves before he sprints ahead.

Gideon making it through the rotating walls
While this is honestly not much of a challenge, I think visually it looks intimidating and neat, so I kept it.

But wait, what is that? I thought the rotating walls were the last obstacle! But before Gideon sits one last rotating floor. Behind it is the entrance to the building he has been trying to get to this whole time. It all comes down to this.

Gideon crossing the final rotating floor
I legitimately did not intend to almost send Gideon to his doom on this one. I am just that bad at these rotating floors.

After a brush with death, he is able to cross the final floor and enter the building. Inside, he sees his prize. As he approaches it, he notices something is wrong...

Gideon entering the building
What kind of half-rate game developer does not even let the player pick up their prize? I want my money back!

And that is my take on the Obstacle Assault project. There were a few technical challenges along the way. Gideon did not come working on the version of Unreal Engine I am using, so I had to figure out how to get him working. I also made an Actor sub-class for rotating objects that I used for the coin and also used as a parent class for the moving platform C++ class, which was a cool way to show off inheritance that I was not sure if UE5 would allow.

Overall, I am excited to keep going in this course and will continue to document my results. Thanks for reading, and for my fellow GameDev.tv students I hope you have/had as much fun with your projects as I am having with mine. See you in the next one!