Don’t fall is a platformer taking place in a dark creepy dungeon which has endless abysses that player has to avoid falling into. It’s a solo project I created to demonstrate the power of C++ classes in unreal as all the platforms that can be made based on movement and rotation can be made from one single class that I created.

I have worked on my game projects and lately my roles on those teams focused more on design side of things. This gave me valuable insight as a programmer as to what could be very helpful to a designer. So I set out to create a system of classes that could be used to create any type of movement and rotation based on which platforms can be created. The main challenge was to do it efficiently and keep it simple as I wanted to create a set of classes that level designers can use to create all the different types of platforms they might need for a platformer. Leaning on my 10+ years of experience in using object oriented languages I chose C++ and coupled it with Unreal Engine 5 to create a demo.

I was able to find a modular asset pack on the epic marketplace that has sort of a dark dungeons theme and so Don’t fall was born. As a child playing Super Mario Brothers inspired me to make a bottomless pit over which our character tries to traverse using platforms and if they fall the game is over. I would love to have someone get a narrative going for me but for the purpose of the demo an asset pack and a core mechanic were enough.

I started with a simple moving platform class in C++ and then started adding things that would allow the designer to completely control and manipulate the movement and rotation of any object the class is applied to as a component. I also created a collection and button system down the road which would allow for collection of objects to be used as keys and to open locked doors using keys and buttons. For the demo to fit the theme I used this system on gargoyle statues where the player can collect them and put them on pedestals where they start glowing once all the pedestals connecting to a door gets its own statue.

For the level design of the demo I kept it simple and took a page from my favorite designer Hideo Kojima’s book. I first introduced vertically moving platforms, then horizontally moving platforms and then rotating platforms. Once the base mechanics of the platforms were introduced I mixed them with each other to add another level of complexity to the world traversal. And further added complexity with the gargoyle (key) collection and Pedestal (button) - locked door system.

I was very happy with the end results and down below there’s a few Screenshots from the game demo along with a video of my explaining the system. On the right there is a screenshot of what the class object looks like in UE5 editor for the level designer to use. You can also download the project and the code from the GitHub repository linked below.


Don’t fall