
Role:
-
Technical Lead
-
Mechanics Programmer
In my final year project, I've been assigned to manage the technical side of the game, deciding how the game will be structured and how each of the programmers will collaborate with each other.
​
The reasons for using Unreal Engine was that it has a lot of functions and bases for us to use to create an FPS game and we want to utilize that to be able to quickly prototype the game.
Engine: Unreal Engine 5

Programming Guns, and making sure lots of them can be made
This being a game where the guns attribute can be changed on the fly because can gamble the guns or even the gun's stats, I knew I had to make a lot of attributes that are also easily accessible for the designer.
​
With this, if the designer were to want to mix and match the attributes of the guns, it is possible, so if they want to, they can have shotgun and automatic passives to be enabled together. Creating weapons with horrible odds, definitely possible, and they can save these weapons as a new component.


Subject to change, a lot
Dealing with code on a new engine
Being our first time using an engine, and also being Unreal, we definitely had a hard an extremely hard time trying to understand the engine, what's even worst is that I straight up tried doing my mechanics in C++ rather than in blueprints.
I'd say about 50/50 of my time was spent on both blueprints and C++, since we started the project on C++, a lot of the template code was in C++ and I had to work and understand around with the code. I'm glad I did though, cause I was able to create my own functions and have more flexibility in how I code things.
​
But of course I did also enjoyed my time with blueprints, being that their extremely fast to prototype game mechanics but I'm still figuring out on creating literal spaghetti code.

Testing explosions within the game

Having fun with the shotgun code