Forest Hunt: A General Introduction to Game Development in Unreal Engine 4
Tools used: Unreal Engine 4.22, Xcode
Skills of interest: Using the Unreal Engine 4 engine editor, Game design, C++ programming in Unreal Engine, Blueprint scripting

"Forest Hunt" is a very basic 3D game made as my first ever foray into making a finished and playable game. It has the simple objective of finding and collecting a number of items scattered about the level within a time limit. The game includes basic elements found in any game like player and camera movement, collision behavior with items, sound effects, a win and loss condition, and basic HUD.

I first created this project for an independent study course I took as a MS Digital Production Arts student at Clemson University back in late 2019. At time, I decided I wanted to shift in the direction of game development. So I chose to challenge myself to make a finished and playable (albeit very basic) game within the scope of a 3-4 month long semester and without any prior game development experience, just to see what I could accomplish in that time while also handling two other graduate level courses. I had an advisor for the independent study, but my project was primarily self-guided in what goals I wanted to set and how I wanted to go about reaching them.

I started with an initial game concept that guided what gameplay features I would need to implement, which in turn guided my self-learning on the topic of game development in my chosen game engine. I was already familiar with C++ at the time and wanted to focus on writing code so I chose to make the game via C++ programming in Unreal Engine, but in hindsight I could have made a game this simple in any modern engine. It overall felt like a very "touch and go" project where I was learning on the fly and figuring out the implementation of my game features as I went along. My main challenges were finding resources to teach me what I needed to know to complete my project and to troubleshoot problems I was having, and managing my time wisely. In the process of doing the project, I learned the basics of using Unreal Engine to make games and writing C++ code within the engine's framework.

At the end of the semester, I presented the project and what I learned from making it to my advisor and to an audience of students from my department. My advisor made note of the fact that I did virtually all of the gameplay programming via C++ code and made little to no use of Blueprint scripting, remarking that he would have liked to see my project use the two in tandem as this is common practice in real-world studios that use the Unreal game engine. I decided that if I were to ever revisit this project, I would try to do just that.

I decided to take the opportunity to refine this project while pursuing a game development degree at SNHU. Remembering my prior advisor's feedback, I decided to try and modify the project to combine C++ and Blueprint code while preserving the same functionality that the game had beforehand. This refinement was more about "behind the scenes" changes rather than changing the game's mechanics or presentation. My changes focused on implementing gameplay class functions in Blueprints rather than in code, a seemingly common industry practice. In the process, I learned more about balancing C++ and Blueprints and how the two are commonly combined in a real-world game development context. Given that the game behaves the same as before and hasn't suffered any apparent drops in stability or performance, I would say that my changes were successful.

Forest Hunt
Published:

Owner

Forest Hunt

Published: