Let me get this out right away: I’m not a game player. I own a Wii, but seldom play it. I bought a copy of “Left for Dead”–a popular zombie game–for my PC, but never play it. I own a Nintendo DS and every once in awhile play a card game called “Three Peaks” that I enjoy, but I don’t overdo it, with the exception of when we’re laying on a beach in Cancun and the only thing I’ve got to do is drink, sleep and play Nintendo DS. Then I overdo it. I also have a couple of games on my Apple Touch, but I only play my Mahjong game, and the last time I played that was when we were on a tour bus driving through the hillsides of France.
That said, I do believe in the power of teaching kids how to program games because I believe there is real power in connecting with students at their level, helping them understand the incredible effort game companies go to just to bring entertainment to people.
This is my third year teaching a game programming class. I’ll be the first to admit I’ve stumbled around with this topic quite a bit. I intuitively knew some things: that the C++ programming language, for example, is required as the language for most commercial games. (Oh sure, there are indies, and indie languages and game engines, but the real truth is that C++ is still the prevalent language within game programming companies.) I also know that you have to have graphics for games, but at first didn’t have much of an idea about how to get those graphics into the computer. I also knew that story was important (though lots of students will argue with you about that). And artwork, and music. Game programming is an incredibly rotund subject.
So here’s the thing: If you’re teaching game programming to kiddos, you have to teach a variety of subjects. I’ve come to realize these subjects have a very definite order: 1) Story, 2) Art, 3) Code, and 4) Music. So if you’re teaching game programming, you’re not only teaching students how to write C++, C#, Java or ActionScript 3 code, you’re also teaching them about developing stories, drawing, creating lifelike characters (2D or 3D), and other artwork (such as backgrounds, buildings, textures, sprites and spritesheets, etc.) and you’re working with music. Not to mention the soft skills like teambuilding, conflict-negotiation, and strategizing.
On top of that, you have to teach a fair amount of mathematics (algebra and trigonometry) and physics in the process, else budding game programmers won’t create realistic games.
If you’re teaching game programming, you’re practically teaching an entire school’s curriculum all in one classroom. Throw in some history, civics and current events, and maybe a little psychology and you’re covering the entire gamut. I would argue that many kids learn more about history through “Age of Empires” than their school history classes.
Here’s an even more amazing thing: I truly believe that if we teach more and more kids how to write games, and we show them how to bundle work products in those games, we can use games to solve some of the world’s weightiest problems.
What do I mean by that? Well, think about the SETI screensaver. The nutlogs at SETI, ever vigilant in scanning the universe for signals that indicate the presence of human life, use an ordinary screensaver to process data they’ve received from their telescopes. Anyone who downloads the SETI @ Home screensaver allows SETI to use their computer’s spare PC cycles to process data, assisting in the search for ETs.
Now that same kind of idea, put on steroids, could be used to find cures for cancer, AIDS, run computer models for weather and other high-end simulations, and yes, even work on data for space projects, among myriad other things. All while people think they’re playing a game. Clever game developers might even find a way for players’ avatars to participate in the process somewhat. An avatar might not look through a microscope and recognize a virulent disease, but the avatar might run a message, or push a button or perform some other task for researchers.
Think it can’t be done? Check out Free Rice. This game allows you to garner food for impoverished people in 3rd world nations, while simultaneously helping you with your vocabulary. It’s a crisp, robust, ingenious game that partners gamers, non-profits and hungry people.
So, it turns out that game programming is a really great thing to be teaching kiddos. They learn a ton of great stuff all wrapped up in a package they love. And once they get good at it, they might come together to create uber Free Rice games and involve Joe and Jenny Six-Pack in helping us work on problems–even though Joe and Jenny think they’re relaxing and enjoying playing a game.
Here’s the thing though: Teachers have to go through a serious paradigm shift if they’re going to teach all of the elements involved in a complex subject like game programming. It’s not just code, not just art, not just story: It’s bigger than a breadbox, and requires teachers to grow their own capabilities. I know I had to, and I’m still going through the growing pains. I’m just now using a set of books I think are really solid, and I know I’ve got a long, long way to go. But I also know I’ve got a GREAT bunch of kids who come to class every day, usually work through their break on their tasks, and happily read technical material and learn technical math in doing so. Education doesn’t get much better than that!
You must be logged in to post a comment.