Third-Person Shooter (UE4)

Populated with environmental hazards, health and ammo pickups, and various targets, this level demonstrates some of the basic skills I developed during my first month using Unreal Engine 4.

Populated with environmental hazards, health and ammo pickups, and various targets, this level demonstrates some of the basic skills I developed during my first month using Unreal Engine 4.

 
 

Learning Something New

In my Programming Foundations II course, I got my hands dirty with Unreal Engine for the first time. At this point in the program, I had already spent numerous hours inside the Unity editor, and I’d already learned some C++ as part of my previous computer science education. Nonetheless, I found myself thrown for a bit of a loop when I was first introduced to the ‘blueprint’ system we would use to construct a simple third-person shooter.

 
 

Adapting and Improving

Over the next few weeks, we delved into Game Modes, Actors, Pawns, and interfaces in our new development environment. I found myself becoming increasingly comfortable and efficient using blueprints, though there were certainly times I still felt that coding in a more traditional text-based environment would have proved less time-consuming. I couldn’t help but fixate on the layout of my logic blocks and cleanly laying the connections between blocks of logic. That is, however, something that I will likely be able to do more quickly with practice.

At the end of the day, here's my (early) take based on only a month of UE4 development:

The blueprint system has proven itself a viable tool for development, allowing the designer to spend more time thinking about the underlying logic of the a given system and less about pointers, header files, and memory management.

Coming from Unity, the default layout of the Unreal editor can seem extremely ‘busy’. After tweaking the layout to suit my tastes, I quickly acclimated to navigating the more icon-heavy interface and multiple tabs/windows associated with each of its many tools.

The thing that stood out to me the most, however, was the difference in performance. Whether perceived or actual, wherever I playtested a new build of the game, I everything just felt… Smooth. I’m not sure if the engine is implementing some sort of motion blur or other trickery, but I guess I shouldn’t be surprised that Epic knows how to make even a novice-made shooter feel good right out of the box. (These captures from OBS, unfortunately, don't really convey the true frame rate of the game.)

 
 

Room for Improvement

Although the game was playable from start to finish, there were a few areas that could’ve used more fine-tuning. If time had allowed, I would like to have addressed the accuracy of the projectile when the player ‘fires’ at a target that the reticle indicates should be hit. I think the spawn location of the projectile needs some very minor adjustment(s) to make it more accurate over longer distances. I’d also want to make the normal and ‘sticky’ projectiles travel differently along their flight paths, making each feel more distinctive.

 
The sticky bomb, when detonated, draws a spherical wireframe to show its are of effect.

The sticky bomb, when detonated, draws a spherical wireframe to show its are of effect.

 

Continued Learning

Since completing this course, I’ve taken the time to go through some of the tutorials available on the Unreal Engine website. The Level Designer Quick Start tutorial, in particular, I found to be a great way to familiarize myself with the way(s) in which the editor allows designers to place and tweak lights, atmospheric effects, and audio sources. And after spending the past few months knee-deep in Unity, Unreal Engine 4 for Unity Developers has been a huge help.

 

An analysis of the UE5 demo, via The Cherno

 

Next Steps

Of course, I’d be remiss not to acknowledge the imminent Unreal Engine 5. As someone who loves fighting games, and has seen Unreal become the dominant engine for the genre, it’s of paramount importance that I shore up my skills with the editor and brush up on my C++. I’ve been kicking around the idea of doing a total conversion mod of Epic’s Paragon, turning it into either a 2D or 3D fighting game using the models, maps, and animations now freely available on the UE4 marketplace.