On the surface, the Game Design class may look somewhat straightforward. But it’s much more than simply creating fun games with our students. In our classes, we also teach important programming concepts, which can be the foundation for a future programming career.
Game Building can be frustrating for somebody who has never done it before. As games become more and more complex, the instructors are there to help them understand how to build their games well. Programmers call it “extensibility.” Here’s an example of how students encounter this in DMA’s Adventures Game Design class:
A few days into the week, we usually start working on an RPG game. The player controls a character who interacts with bystanders in the game to get information or collect items. The students quickly discover how frustrating it is to program actions for every single bystander in the game individually. The same goes for other objects in the game, such as allies, enemies, keys, coins, and projectiles. It’s much easier to group them together, and make a rule saying, “Whenever the character talks to any bystander, run this action.”
Extensibility is not the only programming concept that we teach to the kids. They learn the importance of game planning, bug testing, and proper pacing to effectively meet deadlines. They also develop an understanding of variables, and an introductory understanding of object-oriented programming. Instead of lecturing to the students, we let them discover and understand the concepts by themselves, with guidance.
Most importantly, we teach the kids programming concepts without them even realizing it! If they pursue a career in computer science or game design, they will already understand the importance of extensibility, testing, planning, and pacing. Though it may seem like just another fun summer course, every student gets much more out of it – skills they can use for the rest of their lives.
See you in the Summer!