Taken in Fall 2022 at the University of Michigan, taught by Austin Yarger.
EECS 494 at The University of Michigan
This course teaches Game Development in the Unity engine, starting by remastering a retro NES Game and finishing by creating an original game in groups of four-five students.
The course mimics industry practices by using Jira for task management, as well as having different deliverables due every week.
The coursework begins by completing tutorials to teach the basics of Unity before starting on the first project, a remaster of an NES game: Legend of Zelda or Metroid.
Remaster of Retro NES Game: Metroid
The project started with our "milestone", where we finished the most challenging tasks first--our most challenging task was implementing the Health system of enemies as well as the player.
After finishing the milestone, we moved on to the "alpha" phase where we got a working build of our game finished, despite some bugs and issues.
Finally, the last phase was the "gold" phase. This phase was mainly for polishing our game and eliminating any buggy or unintended behavior.
In addition to bug fixes, we also had to add an original mechanic to the game. For ours, we added an item that reversed gravity, which expanded the platforming to include the ceiling as well as the ground.
Special thank you to my partner for this project, Ryan Albert--he was a pleasure to work with.
Original Game: Desktop Defender
This project was done over the course of 46 days, in a group of five students. Similar to the retro remaster, we started by finishing our most challenging mechanic. For us, the mechanic we started with was spawning enemies. After workshopping different ideas, we settled on a bullet-hell style 2D Arena shooter where the players progress through rounds to advance.
One of the defining characteristics of our game was the cooperative nature of it. One player must protect the other from losing all of their health or else the round ends and the players must restart. Our main way of getting feedback on our game was through playtesting, whether with other students in the course or outside of class with family and friends. One of the main pieces of feedback we got was the need for more upgrades and weapons to keep the gameplay fresh and interesting for the players.
The development of Desktop Defender taught me many things about game development, such as the iterative design cycle, how to properly playtest, and how to make a great game by keeping the scope of it limited. But my main takeaway from the course is that many resources go into developing a game, not just from the developer's side. If a game is missing music or art direction, it can be a largely hollow experience for the player, so it's important to not get tunnel vision in terms of what aspect of development needs the most attention.
Special thank you to Ryan Albert, Marshal Chen, Keiwei Han, and Alexander Kalams, my group for this project. I will always look back fondly on the twelve hour workdays spent debugging before a deadline, despite how difficult those days were.