This was the second project my team designed in our Game Mechanics II class. Me and four other classmates worked together to design a 3D FPS using the bare minimum premade content they gave us. To be frank, in the end I don’t think we used much except for the player start that was scripted solely for the fps character. We used some of the premade code for the player character, but outside that it was all on us.
We had the choice between the same five different game types; 2D Platformer, Top-Down Shooter, FPS, Vehicle, and Soccer. Of course, this time we couldn’t choose the 2D Platformer since we did that already. The requirements were to add a minimum of five new mechanics/obstacles, just as before. To which we added only a few extra in anticipation that we would be tasked with adding more.
The general idea for the game was to have the player traverse a city, kill hordes of undead, and make it to the other side of the city to escape. Akin to games like Left 4 Dead or Dead Island. One of our members had a fun, cartoony zombie model pack full of models, so we used that as our base. A new free asset pack came out for a cartoony city at the Unreal Marketplace, so it all seemed to add up for our group.
As with the prior project we split up rolls. There was a lot to be done and a short, one week timeframe to work with.
This time around I chose deliberately to handle all the enemy AI by myself. While it wound up being a wonderfully eye opening experience to the difficulties of creating AI. I wound up originally trying to use a state machine that we were taught in the prior class. Ultimately, assuming I did something not quite right, it wasn’t able to do all that I planned. I was able to get movement and tracking done, alongside attacking and dying. It was functional. But I wanted them to roar when they found the player and no matter what I tried, it didn’t work. I spent over 40 hours working on it trying to fix bugs. I realized afterwards that, despite enjoying the process of making it work correctly, I did overwork myself and should have taken more breaks.
Fortunately for me, we were surprised with an extra week to work on this project. I decided to scrap the current system and went to learn the Blackboard AI system. It was enlightening and interesting. I dedicated a few solid hours to tutorials and ultimately got it figured out enough to finally make everything work as expected! Even go the enemies to roar when they see the player for the first time. Unfortunately, I had a major bug that prevented me from doing additional features that I could not find an answer for. A Boolean that was saying true wasn’t actually giving out that it was true for the branch.
And yes, I did almost overwork myself again because I got too in to, but I stopped myself before I got to that point.
Click the link below to download a playable. It is a zip file, so I recommend unzipping it before you play.