Before taking CS 247G, my understanding of game design was simplistic and somewhat naive. I believed game design was primarily about creating visually appealing elements and assumed it to be relatively straightforward. My notion was that a game, especially a well-designed one, would take several years to complete, and required several knowledgeable specialists. However, my journey through this class has significantly reshaped my understanding and approach to game design.
One of the most impactful lessons I learned during this course was learning about the intricacies of game balance and onboarding. Before, I had thought of games like Plants vs. Zombies as an airplane mode game without realizing the depth of thought put into them. I realized that having the tutorial weaved seamlessly into the gameplay itself is quite a hard task, and when trying to do it myself in my own game it was not cooking. I had to consider flow, not having too many words, and good visual design to make it seem beyond a boring tutorial option.
The biggest challenge in this class was working with version control systems. Merge conflicts and unwanted reverts happened so often that a big chunk of my time would be spent merging and resolving lost data. Debugging became a relentless part of the process. I always thought playing games would be fun but there was a point where the amount of bugginess made it unenjoyable to play until it was fixed. It seemed the game was in a perpetual state of incompletion, with new issues arising just as old ones were resolved. This constant cycle was daunting but made me appreciate my team. I was skeptical at first of having so many cooks in the kitchen, so to speak, but they were the best people to rely on when something wasn’t working and allowed me to explore new things that I haven’t before.
I feel like my biggest area of growth was learning to trust the process — and enjoy how scuffed it looks from the beginning. I found joy in the tiny things like our sprite flipping in circles, walking upside down, having an infinitely spinning chair. It made the game process feel more human and reachable, like I could reach a level of polish that felt like a game and not a makeshift basement project.
If I continue working on game development (which I very much want to :D), I feel like I thrive better as a generalist. This course has shown me the value of versatility and the importance of understanding various elements that contribute to the overall game experience. I want to be able to try everything and in turn that would make me a better designer and developer because I understand just how hard and difficult everything is. I have never had so much respect for someone making art and narrative tbh. The next game I want to try is a tower defense with some fun economies and experimenting with good placements. I feel like I’d learn a lot from trying to code a game solely based on balance and economy.