On Game Schools

A “game school” is a learning institution that offers (exclusively or not) a degree- or certificate-granting program geared towards the formal study of something related to video games. What exactly this “something” is varies from school to school — sometimes its art, sometimes it’s some vague “design” focus, and sometimes there might even be some programming involved. My concern here is with the kind that covers programming – Full Sail in Florida and DigiPen Institute of Technology in Washington are two of the largest and most well-known of this particular breed. Of the entire collection of game schools, they’re probably among the most credible.

These schools are pretty popular candidates for kids searching for colleges, and it’s easy to see why. Game development has an appeal to it that conventional software development just… doesn’t. This makes a program that professes to teach you how to be a professional game developer sound pretty darn attractive. Alas, electing to attend one of these schools isn’t always the best choice. Before we go much further, I want to point something out – both in the interests of full disclosure and for the purposes of establishing some credibility on the subject. I’m not speaking from an external perspective here. I started college as a computer science major at Drexel University and then, having discovered after a number of semesters that the school wasn’t to my liking, transferred to DigiPen. I’ve also worked with, interviewed, spoken with or otherwise interacted with students, graduates and employees of most of the game schools out there.

Game development is just an extension of software development – games are, after all, a specialized kind of software. It follows, then, that in order to excel at game development, you should also excel at software development in general. This is the crux of my biggest problem with game schools. They focus very heavily on the games-specific aspect of the process, often neglecting huge swaths of knowledge, techniques and best-practices from the traditional, fundamental grounding of software development; since the programs are often so specific and focused, you also lose a lot of general education course and course options that can help shape you in a well-rounded individual with a strong ability for problem solving and for thinking on your feet. It’s an education focused on the goal, not on the journey. This is a shame, because the journey is where the real experience is.

Attending a game school can thus leave you with pretty big gaps in your education and skill set relative to your peers with their traditional computer science or engineering degrees. This might even cost you a job somewhere. It follows, then, that you’ll want to get a firm grounding in both the tradional techniques of computer science that form the basis of your craft, and of the particular application of those techniques in the domain of games. With that in mind, consider which of those two bodies of knowledge you’ll likely have more interest in studying on your own. Nine out of ten people will tell me that learning how to make games on their own a more attractive option. Those people will also usually agree that it’s much easier to discipline yourself to write games in your off-hours than it is to learn what order notation or lambda calculus is really all about. The logical conclusion then, is that these people should probably be considering a traditional computer science (or similar) degree, and should study game development as a hobby. Besides, it’s pretty hard to effectively apply the craft to making games if you’re still learning what exactly the craft is all about.

This brings me to another issue – occasionally, people want to go to a game school because they think they’ll be able avoid all those scary computer science topics. I find myself wondering what these sorts of people think game development is really like. Did they really buy those commercials about tightening up the graphics on level three? Game development is software development, my friends. You can close your eyes, stick your fingers in your ears and shout all you like, but that isn’t going to change reality. If you’re a poor software developer – and you probably will be, if you don’t learn what all the other software developers learn – you’re going to be a poor game developer. You can’t be in it just because you love the industry. You need to love the industry, of course – if you are unfortunate enough to work on a project with serious crunch time, you really need to love the industry. But you have to want to be a part of what the industry really is, and to do that you have to know what the industry really is.

Now, some people will be capable of bridging the gaps left by a game school, but not everybody. It takes some considerable discipline to force yourself to study a subject you don’t have to study; one that you might not even think is useful. Sometimes the danger is in the very fact that, since you’re essentially teaching yourself, you don’t even know what you don’t know or what you should be looking in to. I do think that game schools are right for some people – I’ll touch on what I felt were some of the positive aspects of my DigiPen education below – but I think the majority of people should be practicing game development as a hobby while they complete a good, traditional educational program. There’s another benefit to be had from that choice, as well: remember how I said that most game schools are so narrowly focused that they leave little room for elective coursework outside the scope of games? Cross-curricular courses make you a well-rounded person, and thus more attractive to a lot of employers – when you have a varied background, you add diversity to the skill pool of the studio, and you’re more interesting to interact with, professionally and around the water cooler. If you’re one-dimensional, if you’re one of those foaming-at-the-mouth-oh-my-God-I-live-and-breathe-games types, nobody’s going to hire you. You’re creepy, get a life.

While working on this article, Ravuya raised an excellent point that I want to share. The original context was an IM conversation, so I’ve taken the liberty of removing my useless interjections and paraphrasing somewhat. I’m fairly sure he won’t sue me:

It’s more like an education driven by the love of the industry, not even the goal. The students are in love with the cultural artifacts of the industry (Nintendo, et cetera) and want to emulate it, not improve it. The schools’ practices are outmoded, but they refuse to adjust or augment them out of fear of losing the ‘magic’ that they’re emulating, since they’re so in love with the industry itself, and not their sanity, development talent or free time. They almost slavishly refuse to go a ‘different way’ unless forced to do so by the industry. The problem with vocational schools in general is that they hire so many people with industry experience they have no appreciation for what other industries can teach.

He managed to articulate a concept that I was having trouble figuring out how to put into words myself; I’m especially fond of the last point. The practice of having former or current professionals teach is usually regarded as a plus, something with a positive impact — but we don’t often consider the negative impact that recirculation of knowledge can have, as well. Many game schools are overly concerned with producing graduates that will maintain the status quo — although this the case everywhere, as Ravuya continues, “in a lot of ways, computer science education is the same way — it can’t change academia because it’s focused on being academia, so a lot of massive failures stay in academia to screw up the next generation of students.” Sure, there’s the lecture on quality of life and crunch time now and again, but this isn’t really drilling to the heart of matter. Most such schools have students band together in teams and build games over a lengthy period of time (usually a semester or a year). These projects usual suffer from the same failures in estimation, planning, and infastructure that larger, real-world projects will suffer from, and yet the reward (the grade) is still based on the finished project, and not the road the team took to get there. It’s a great little microcosm of the industry, but it’s not helping anybody become better software developers.

On balance, though, game schools aren’t all bad. My goal here isn’t to give you the impression that game schools are worthless scams (although some of them are; you can usually tell because they have TV spots). My goal here is to make sure you understand what you’re getting into. It’s shocking how many people show up at DigiPen on the first day of classes, only to fail out within a year or so. It’s not because DigiPen’s curriculum is particularly difficult – it’s no more or less work than most. No, they fail because they didn’t know what they were doing. They were so enamored with the idea of making games that they couldn’t, or didn’t even try, to see DigiPen’s program for what it was: a four year computer science degree that’s very light on the computer science and very heavy on the practical application of programming and math as it relates to games. Most of those drop-outs thought they’d be studying to be game designers, sitting around all day discussing how to balance their dream MMORPG or designing levels for Counter-Strike: Source, or something. Don’t make the same mistake.

But I promised I’d leave you with some positive points regarding my experiences at DigiPen, so here they are, in closing.

  • DigiPen has a really good computer graphics program. If you’re interested in graphics, this is a definite plus, as most other schools don’t provide very many computer graphics options to undergraduates. DigiPen has courses dedicated to the fundamentals of modern graphics programming theory (as in, what goes on beneath the sheets that DirectX or OpenGL give you). They also have a number of upper-levels electives in the area, some stuff that other schools only offer as part of their Masters or PhD programs.
  • You get experience on projects of non-trivial size. Now, you want to be careful of the Doghouse Analogy here: you’re not building large projects, in fact you’re probably only barely approaching the size and scope of some small casual game projects. Nonetheless, the projects are usually much larger, and longer, than those you’d be doing at a traditional school, and you also get some good experience working with teams. That alone can go a long way, because so many people getting into computer science or game development don’t have the greatest social and communications skills.
  • You get a nice, ready-baked collection of industry contacts when you graduate. Game schools have more networking opportunities than traditional schools, in terms of meeting people in the industry itself. Plus, you’ve got all your friends and former teammates who will graduate with you. They’ll get jobs at various studios, and you’ll have a nice network all set up. It’s a big head-start over what somebody graduating from a traditional school might have.

But you’ll notice that none of those points have to much do with being a good software developer, or even (with exception of the graphics programming) with the quality of the education, and for the most part they’re all achievable anywhere you go to school, as long as you have the motivation.