Unreal Engine 5 C++ programming and development

Work In Progress / 18 August 2023

A while ago I started learning C++ in the context of Unreal Engine having some basic knowledge of C++ programming in general. I found this study quite exciting and in fact more understandable for me than programming in Blueprints. Here is a repository of this project

In my learning I used a great course made by Yuri Popov for C++ programming in Unreal Engine 4, focused on 3rd person shooter game. Also I really enjoyed further courses of this author on automatization and testing in Unreal Engine using Jenkins. I highly recommend this channel. 


What I really enjoy in this development is transformation of C++ lines into something very cool that actullay inspires me. 

This work started with some basics using UE4 shooter character and animation. I programmed movement, shooting, damage, death, weapon, enemies, etc. 


Further I switched the project to Unreal Engine 5 as I wanted to work more with vfx features offered by Unreal Engine 5. Step by step the project started looking more like a real game with gameplay features like the battle royal regime, rounds, teams, etc. 

 


Houdini Levels 

Since the game is an arcade shooter, I wanted to learn more about creating the procedural levels, which will be generated randomly in the begining. For this I decided to use Houdini power for procedural generation. I applied a tutorial of Radu Cius for creating levels in Houdini and Unreal. The base of the level is a random generation of geometry, visualized as points in Houdini. 

Paramaters depeding on parameters, depending on paramaters.

And then... KitBash3D opened the access to Mission to Minerva set and of course I decided to test this Houdini geometry with this amazing mesh collection. 

Then I modified Houini geometric base to fit the asset paramaters better and imagined something Polar. 


Then I took some martian aesthetics. Though it looks very simple, I found this test satisfying as it was my first experience with making big procedural levels in realistic setting. Previously I worked only with Godot pixel dungeons

That was fun to make though there is still many things to do with the generator, because I would like to add several floors in the level and more variaty in the landscape. 

VFX

Since I work mostly with visual effects, I also experimented with some effects for this game to make it cool. First I chose making a projectile effect for the launcher. I found a very helpful tutorial of Rebelway for real time VFX for games.  

A final result in test and game



Here is a Substance Designer sample for this project, which was later transformed into VFX in Niagara. 

I also created a regeneration point as a shield, which also can protect a character for a while. A shield consists of blue particles with some drops of red. I created this shield in Houdini. I was inspired by Rebelway tutorial for a shield and took a mesh from that lesson.


I also added a shield impact in Niagara for more realistic feeling of that strong mysterious material.

There are many things to do with this project, including better interface, more effects, better game mode and general more variety in enemies, weapons, locations, etc. Though I think it was a good starting point.