top of page

Create Your First Project

Start adding your projects to your portfolio. Click on "Manage Projects" to get started

Gun Jumper

Engine

Unreal Engine 5

Date

April 2025

Role

Solo Project, All Roles

Software Used

UE5, Blender, Substance Designer, Adobe Audition

For the month of April, I started with only an idea for a mechanic I wanted to try; Gun recoil pushes the player in the opposite direction that they are shooting. I didn't really have an idea for the actual game itself. The rest just evolved naturally.

I was able to get the logic for the basic mechanic implemented pretty quickly, and set up the each of the 6 guns stats using data assets. This allowed for easily playing with different values in order to balance the weapons. I also implemented multiple spawn locations for the Levers so that each time a round is played the levers are in random locations. Gun loadout is also randomized, so the player gets 2 random guns (Pistol, SMG, Shotgun, Rifle, Sniper, Rocket Launcher) each time they play.
Enemy AI and character animation are two of my weakest strengths, so I decided to focus on them for the remainder of the time I worked on this. I managed to come up with a workflow for animation that seemed easier for me to understand than most of my previous attempts. I did the enemy modeling, skeleton, and weight painting in Blender, then brought it into Unreal and set up the control rig. I then made all of the enemy animations directly in Unreal, and for some reason it made much more sense to me than animating in Blender.

Another thing I was happy with, albeit something small, was the gun magazine in the HUD. I made a simple UMG animation of the magazine dropping off screen and then returning during reload, but one of the gun stats is ReloadTime, and each gun has a different value. I wanted the UMG animation to match the time of the reload for each gun, so I ditched the UMG animation, and instead, lerp'd the position of the HUD's magazine elements based on the reload alpha in the gun blueprint. So now they match perfectly and automatically, even if I change the gun reload times while balancing.

Overall I was pretty pleased with the results of this months project. I managed to get a complete game loop implemented, and it's pretty fun and stressful to play. I wish I had some more time for more audio and maybe a ranged enemy, though.

bottom of page