Are game development qualifications worth the paper?
The following is an opinion piece by Tony Oakden - AIE Programming Teacher and founder of indie developer Charlie Dog Games.
One of the questions I get asked periodically is why should I want a qualification to make games? Now first I should say that I teach a degree in games programming and that I have a degree in computer science/electronics so I'm probably going to sound a bit biased. That said I should also point out that I wrote my first 4 independent games in the 1980's before I got my degree and that those games are easily the most profitable games I've made as an independent. So it's easy for me to see why people question the worth of a game development qualification. Also there are many stories of very successful people who don't have formal qualifications, so there is plenty of evidence to show that you can make it big without one.
But I believe that for the bulk of people advanced diplomas or degrees represent an extremely useful qualification and a great steppingstone from school to industry.
So what should you expect to get from one?
1. Game development courses are a brilliant opportunity to spend a few years honing skills and pushing into new disciplines which you either wouldn't have time to do if you were developing full time or which you simply wouldn't consider because you didn't know they existed.
Case in point: I worked at Reflections software in the UK writing software for the PS1. I wrote a lot of code in that time but I had very little to do with the physics engine, the AI or the renderer. Most of my code was game play related systems or stuff which made use of the systems I mention above. I became known as the "replay man" because my main job was ensuring that replays worked properly. That's what tends to happen in the games industry, you get pigeon holed doing what you demonstrate you are good at. It can become something of a vicious circle, in my case I demonstrated I was good at making other peoples code deterministic therefore I was given the job of doing that, therefore I got better at it, Therefore it became my forte. The fact that it's a dreadful job which sucks the soul out of you and not at all what I wanted to do was neither here nor there :). When studying for an advanced diploma or degree you have the time to find out what you like doing and the opportunity to get good at it before entering industry and becoming that round peg forced into a square hole.
The second example happened to me a few years ago when I was writing a serious game. I needed to implement an AI system so I set about writing a state machine. It worked OK but then one of my colleagues suggested we use a behaviour tree instead. He'd used one when at university so he implemented the system in a week and it worked much better than the system I'd spent weeks messing about with. Sure if I had done some research up front before implementing my system I'd probably have come to the same conclusion but work in the games industry tends not to be like that. It’s all about quick results and so the same old reliable solutions tend to be rehashed over and over. But with a qualification it's all about learning as much as possible, the emphasis is on trying different things. Blue sky research is encouraged. Where else can you learn such diverse things as:
- OpenGL, PhysX,
- The difference between A* and Dykstra,
- When to use FSM and when to use Behaviour trees,
- What is FMOD and how to integrate it,
- When to use LUA, Python.
- What the advantages are between C#, C++.
- How to optimise your C# code so it's reasonably quick.
- Pixel shaders, vertex shaders, tessellation, openCL, BSP, Quad Trees, KD Trees, Portals, 3D Math, etc ... There are so many things to learn and we try our best to introduce students to all of this.
2. A game development course is one of the few places were industry vets, such as myself, are paid to share our knowledge and experience with you. You think you will get the same amount of help from work colleagues or random people on forums when you are in a big studio or working as an indie developer? Well sure you might get some but at the end of the day the people you meet there are not usually paid to help you and ultimately will put their own interests ahead of yours. But in an accredited course you have teachers who have many years of industry experience to draw on and who are paid to help you. Indeed it's in their interest to help you and provide you with as much information as possible because that makes you a better student, improves your chances of getting a good grade or a great job and that reflects well on them. In fact most teachers are usually teaching because they "want" to disseminate their knowledge, they "want" to help you. Not so most of the people you will meet in industry or on the forums
3. Studying isn't just about the qualification you get at the end of it and if you go into it with that view you're not going to get the best out of it. An advanced diploma or degree is a great opportunity to broaden horizons, meet new people with similar or contrasting views. It's probably the best opportunity many of the students get to build personal and communication skills prior to getting a job, and let's face it, the computer industry needs people with those skills!
But finally I do have a warning to add. In my opinion by far the best way to get good at making games is to make games. Doing a degree or advanced diploma is a great way to get access to the knowledge you will ultimately need and the people with skills who you will need but it's no substitute for actually getting your hands dirty and making lots of games. Sure the first games you create may not make the best use of the technology and the programming may look clunky and downright embarrassing in hindsight. But it's only by trying and experimenting that you'll learn what works and what doesn't. Game design in particular is not a skill you can easily learn in a classroom..
I tell my students that all the time and that's why I keep making games. Because one day I still hope I might get good at it :)
To gain more great insight from Tony on game design and development head over to http://www.charliedoggames.com/