The excitement that came with having a class focused around learning and using the Unreal Engine was everything you may expect it to be, especially from someone who wants to make video games for a living. I still remember the day another professor of mine told me about it being offered the following fall semester—what would be my last fall semester for my bachelor’s in computer science.

Fifteen weeks is inevitably not a lot of time to cover material, and even less when it comes to something as broad as making games. The first bit was spent covering some of the basics, with weekly lab assignments where we were encouraged to look up online resources to expand on what we were learning in class. At some point midsemester, we were told to prepare three game ideas to each present to the rest of the class, so that we could form into groups and choose what we wanted to work on for the rest of the semester.

Long story short, I along with two others, decided to work on our own card game. What started as a multiple mini-game-esque game turned into one focused around the luck the Fates decided to put into your cards, as well as a bit of strategy. You read that right, the Fates, as in the ones in Greek mythology. Your opponent is one of the gods, who will occasionally make moves to try to slow you down from your victory. You have a set amount of turns to destroy them, or destroy your life in a loss. When the enemy god’s HP gets low enough, an extra challenge is thrown into the mix. They get more aggressive, and give you some sort of debuff. In the example video, this equated to me only being able to play one card at a time toward the end.

Of course, thinking back on it now, I can think of so many ways to optimize on what was done at the time. It was all of our first time with Unreal, though, and a year of hindsight since that point can do that to you. For instance, something that likely doesn’t help the game’s runtime is the constant event tick checking for the game over condition. I know better ways to signal that and to have multiple pieces communicate with one another without that event tick, and how to actually split that up properly into multiple pieces so there isn’t just one actor with a hefty blueprint.

As can be seen from the post-mortem that served as the final thing we had to do for class, we couldn’t fit in everything we had expected to from the beginning. Deadlines are deadlines are deadlines…But the end result was something all of us could have a sense of pride in. It wrapped up quite nicely, and the game itself served as reason enough for me to continue learning about Unreal, which I don’t think would’ve happened if not for the class. Or at least, it would’ve been a longer time coming.

Funnily enough for this project, I took more of a lead with the artistic angle of things. I wrote both versions of the music, one being the “normal” that plays for most of the game, and the other being the “intense” that plays when victory could be in reach. I designed all of the cards and even had a bit of fun voice acting the lines for the enemy gods. In my other projects since then, I’ve taken on the programming front, although I enjoyed this project for the opportunities it gave to learn more than just programming. I found out how to handle audio, where to find the settings that were a bit more hidden, and had an introduction to making animations that I don’t believe I would’ve in another group.