A downloadable game


What is this?

This was a personal project that I had worked on for about 3 months. The main goal behind this project was to develop a full-fledged demo using Unreal Engine 5. While I had dipped my toes into UE before, I really wanted to dive into the multiple systems and features that came with UE5. Unfortunately, I was not able to produce a demo before stopping all progress on the project. But I would not call this a waste of time, in fact, it was a great learning experience for me. This project led me to want to use UE5 in my senior research project. It also made me even hungrier to learn and develop more skills in UE and game development as a whole.

What was the project about?

This project is based on the monster fighting games of old, Rampage, King of the Monsters, and, War of the Monsters. The idea was to use UE5's new chaos physics to simulate the real-time destruction of buildings. Like the games listed above, it would have been an arcade-y action game filled with monsters that all felt different and fun to play as. 

What systems did I learn and employ?

  • Primarily focused on Unreal Engine’s Blueprint Visual Scripting
  • UI: Used widgets and incorporated them into the game. Developed to be controller and keyboard compatible. I also worked on some HUD systems.     
  • Networking: I wanted to make sure that the demo could be played online, while I did not fully test it, the game could be played on LAN. This led me to learn all about the networking process and the effort it takes to make a networked game. Everything was networked correctly from the HUD, to character movement, attacks, and animations. 
  • Chaos Physics: I learned the basics needed to use chaos and applied them to sample buildings. Honestly, it was awesome to see them collapse in different and dynamic ways.
  •  Characters: There was a lot to learn here. I applied child/parenting for my demo monsters to make sure that you could switch between them and have everything work. I was able to set up an attack, climbing, pickup/throw, and combo mechanics. This coupled with networking proved quite difficult. I worked with animations, but I also had to learn UE's retargeting tool for some of the shared animations.

What was left?

  • AI: While learning about AI, I stopped all progress on the project. I got through the basic knowledge of behavior trees and blackboard but I never fully developed the system. 
  • Sound: I never worked on integrating any sound or music into the project
  • Gamemode: I did work on it a bit while figuring out the networking, but I never fully developed it.  
  • A lot of fixes and fine-tuning: there was a lot more to accomplish before this project was anywhere near demo-ready.

What would I do differently?

  • For starters, C++. While blueprints are nice and easy to use I know they aren't the best for large-scale projects. For example, the networking side of things was extremely difficult to do in Blueprints as they don't have access to everything needed. I had to use workarounds and it was very messy.
  • Made a scheduled plan of action: For the most part I worked on a system and then moved on to something new that I wanted to learn. While this is great for learning new and different concepts, this really hindered and slowed down progress toward a working goal. I think that if I stuck to a schedule I would have been more inclined to finish the project.

What's next?

Right now I am working toward finishing my degree. In the meantime, I am working on a senior project which incorporates neural networks and training them in UE5. After all that I have learned from this project, I decided to start a new project which I fully intend to finish and release.