Third Person Wave Defense Rhythm Shooter
Unreal Engine 4
C++ - Visual Studio
For twelve weeks and with a small team of peers, Halftime was developed as my capstone project for Champlain College. It is a near complete vertical slice of a beat shooter that demonstrates the core loop of defending against a wave of enemies. Halftime is still missing a few key elements of player feedback that would take it from average to great. Still, I am proud of the work that was accomplished by everyone on this project. Halftime holds a special place in my heart.
Halftime is a game about marching band for marching band people. We narrowed in on a niche audience to really make the game exactly as we wanted - for people currently in or those who fondly remember marching band. As a musical team sport, band members have inherent cooperative, team based drives that present in uniformity and rhythmic awareness. So Halftime as a game has mechanics to support all of those!
Play your instrument to create destructive soundwaves that will damage your enemies. When on-beat these waves are more powerful then when off-beat. By stringing togeather multiple actions to the beat, players build a combo meter which makes their attacks stronger. This means firing and reloading - contextualized as taking a breath before playing again - are on the beat. Other attempts to merge rhythm and shooter games have failed because they punish the player too much. Halftime's mechanics reward players for using the team based and rhythmic skills they already have. It makes the player feel like they're in band again.
The above image is an Unreal output window displaying a packing error. That means that something went wrong when we tried to build the project. This was a screen I become very familiar with during development. Most of my previous experience touching code was in Unity. For Halftime, I shared responsibilities as both a designer and programmer. The end result is that I had to learn Unreal really fast.
Hence all the error screens. Unreal is a much different beast than Unity. It favors object-oriented, polymorphous code in a parent, child, sub-child structure. Without any formal education, all of my Unreal knowledge is self taught. Just me, Google and some good old trial-and-error. Eventually we fixed all the bugs and the game runs smooth. I am proud of my work as both designer and programmer.