ThreePM


Italian Trulli

This project was my foray into a large scale C++ based Unreal Engine game. As such, it had major scoping issues. However, first, let's talk about the cool stuff I did for the project. This is the project where I learned the most C++ and Unreal Engine in the shortest amount of time. While programming the character movement system I was constantly learning from the prebuilt ACharacter class. I learned so much about how Unreal Engine is architected and how game engines work in general. I also programmed a system to sync the movements of platforms to the beat. Platforms were able to be thrown, follow a parabolic arc, and land on the beat which meant they essentially had to be on their own physics system so we had precise control over their movement. This is the big reason we coded a custom movement system as well.

After programming thousands of lines of a custom movement and beat syncing solution, we needed some way to debug it all. I added tons of debug line traces and debug arrows so we could pause the game and see the exact state of the character and if the movement was working and sticking to the beat. There are so many small problems when implementing a movement system such as inclines and steps that become even harder when movement speed has to stay consistant and be deterministic no matter what the player does. There are tons of edge cases that I needed to account for while developing the system which meant tons of play tests with various friends. Overall, this is the project where I have learned the most so far about gameplay programming, but it also made me realize there's still so much to learn.