I was the sole gameplay programmer, UI designer/engineer, and AI engineer for Project Eevee, an Unreal Engine 4 first person shooter game.
Project Eevee was my first project made with Unreal Engine 4. The concept of the game was a cockpit viewed shooting game while piloting a robot, which emphasizes more movement features than simply walking on foot.
Features I have included are weapons and their projectiles, aim adjust system, AI behavior trees, obtainable items, and a variety of movements.
The two large aspects I wanted to focus on creating were robot-like movements and a variety of weapon types. I used Unreal's Blueprint scripting system to make these happen easily.
While robot-like movements were relatively simple to handle, the weapons were a tougher challenge, mainly because I decided to use projectiles rather then a heat scan type of system.
The first challenge to this was how I would differentiate the different projectiles depending on the nature of the weapon. For example, while a machine gun type weapon, while shoots many projectiles rapidly, would have a certain type of 'grouping' which meant I had to artificially make it inaccurate to a degree, since bullets do not always fly the same way. Also, a shotgun type of weapon would have to scatter the shots in a random distribution within a reasonable spread.
In order to make all the projectiles perform in a reasonable nature, I carefully programmed each projectile using random functions and mathematical calculations.
The second challenge was creating and aim adjustment system. Because the projectiles were actually fired from the muzzle of the weapon mesh, in order it to actually shoot where the crosshair was aiming required adjustment to the launched projectile. I made an adjustment by using a line trace to the cross hair and triangulating the adjustment angle for the projectile.
Other important parts that included were creating Enemy templates using AI Behavior trees, event triggers, and consumable items for weapon swap. Experimenting with many familiar gaming concepts on the Unreal Engine 4 gave me insight and experience in how many these concepts were actually implemented.
This was my first project ever to work on a game engine and it gave me many understandings of how to create rudimentary, high level objects while challenging myself to understand the engine so I could implement my ideas through C++ and Blueprint.