If the game degree bubble does burst, what might happen then? Presumably the weakest courses, who were just tagging along to start with, would be the first to go. Perhaps they’d find a new trend to latch onto. But there’s certainly room for a smaller number of stronger courses to remain – so what direction might they take?
Abertay’s next move
A couple of months back I was invited to Abertay as the external industrial advisor at the approval event for their new course, “Computer Game Application Development“. I was highly surprised at how interesting a day it was – a fascinating insight into the challenges they face running a degree course, and a view of what they believe the future holds for game degrees.
This new course (CGA hereafter) is based on the premise that modern developers are specialising and don’t all do technology development. From the course web page:
As the computer games and associated industries mature, the roles of developers within these industries are becoming well defined. There is now a worldwide shortage of game programmers and a constant demand for first-rate computer programmers with knowledge of developing applications with middleware such as game engines.
Compared to the existing Abertay course (CGT hereafter), the maths entry grade requirement has been reduced, and the general focus of coursework projects has changed from building technology from scratch, to building game applications on top of existing technology.
I went into the day with an extremely high level of scepticism. Yes, developers are becoming specialised in their roles on our teams, but that’s just a fact of life in large-team development. They’re not specialised because they’re experts in building applications on top of game engines – in fact it’s critical to us that our developers be able to move between different roles as our projects develop and staffing requirements change in different areas. We’d always prefer strong all-round developers who can quickly learn domain-specific skills on demand (these skills are always changing anyhow), to someone who decided to specialise at degree level. As an industry, we have a shortage of strong applicants, not a shortage of people who know game engines.
My second area of scepticism relates to the lower maths entry requirement. Don’t get me wrong – I think it’s fantastic that they’re trying to cater for this group of people. There is more than enough work in game development which simply doesn’t require great maths skills, and there must be talented school-leavers who never got good grades in maths, or dropped maths as soon as they could. Maths teaching in schools is generally abysmal, failing to attract and motivate many students sufficiently – but that’s a topic for another day.
The point is that finding these talented people and teaching them to be great software developers is a smart move. The trouble is that removing the maths entry requirement means anyone entering CGT could get into CGA, but not the other way round. They will have to be incredibly careful in how they position and market the new course to prospective students. Currently it seems to be positioned as “easier to get into”, and they risk having lower quality graduates, even if their teaching is of the same quality, simply because the applicants are lower quality. Judging by this post from the yougo forums (UPDATE: unfortunately the original thread has expired now), it’s happening already:
im doing “Compuiter [sic] Game Application Development”, which is similar but with less complex programming (which is good caus WTF @ 3d engines) and more environment, characters etc stuff…
For Abertay’s sake, I hope this isn’t even approaching representative. They need to advertise something exciting and challenging, something which will make the best and brightest apply. If they get it right, they should have candidates who choose CGA, despite being qualified for entry to CGT. It will be interesting to see whether they manage this.
It’s not easy
The course approval day certainly gave me some new insight and appreciation for the challenges these educators face. For one thing, they have an excruciatingly slow feedback loop. CGA has taken a year to design and get through the typical bureaucracy of university review committees (and yes, I realise I was part of that myself!); it will take another year to be advertised in the UCAS handbook, and then four years of teaching, all before they get their most important bit of feedback – how employable will their graduates be? As a developer on increasingly long projects, I can sympathise highly with the problems of a 6-year wait to get the only feedback that ultimately matters.
A major challenge for Abertay has to be how they position themselves against traditional computer science and software engineering degrees. We modern game developers are increasingly trying to position ourselves as a serious place to work with serious careers, in order to attract top students from these traditional degrees. The trouble is, Abertay can’t compete straight up on that ground. They don’t have the “serious academic powerhouse” brand association to compete directly, so they need to offer something a little different to their prospective students. If they were to offer a standard, traditional computer science degree, who’d choose them over Edinburgh or Glasgow, say? There’s a bit of Catch-22 here, because if they don’t teach core computer science and software engineering, they’re moving away from what employers like us want!
Could they be right?
If you look outside of games programming, a technology/applications split has already happened – not to say that everyone specialises, just that there is a market for people who do. Pure application development isn’t necessarily second-class, even if technology programmers might think that way sometimes (for an entertaining example, witness Jeff Atwood defending himself for never having done any C/C++ on the recent Stackoverflow podcasts.)
So I’ll say this new course can be highly successful on two conditions:
- Game development technology matures to the point of having a LAMP equivalent – a complete, standard, first-class, open-source base for game development.
- CGA manages to avoid the “CGT-lite” label
If either of these doesn’t come to pass, CGA graduates may find it tough to get employment. The second risk is under Abertay’s control; the first one isn’t, and may need time. How much is hard to tell.
The perfect degree
All of this got me thinking: suppose you were to try to design a new degree to be the perfect preparation for modern game development. What would you do?
Employers want better core skills, not API knowledge: the fast pace of technological change means the basics are more important than ever. This might suggest that a traditional CS degree is the answer, which is a gloomy conclusion if you’re teaching at the likes of Abertay. But there may be another way.
A number of smart (way smarter than me) people outside the games industry have a bit of a problem with traditional computer science degrees. Richard Gabriel has been pretty vocal on this topic. In this presentation, he gives some fascinating insights into how creative writing and poetry is taught, and what this means for the teaching of programming. The soundbite version is “practice while reflecting”. This means more practice, more reflection on our work, workshops for reflecting on other people’s work (including classic and expert works), revising and improving our work, mentoring by master programmers … you get the idea. He’s also written a position paper on the subject, and it’s not just theoretical – the University of Illinois are trying out his ideas (it helps that he’s pretty eminent🙂 ) Joel Spolsky’s also written recently about a fine-arts-inspired programming education. I actually laughed out loud when I reached this bit,
You might be able to major in Game Development and work on a significant game title…
but he obviously has something very different than current game development degrees in mind🙂
I think these ideas are compelling enough to be worth a serious try in the context of game degrees. They would allow a degree to focus heavily on core skills, while achieving differentiation from CS courses. It would focus more on practice than theory: perhaps skipping some of the more abstract theory-of-computation maths and replacing with programming; perhaps using fewer lectures and more workshops and projects. Highly specific API knowledge wouldn’t be taught, but students would naturally be forced to learn some APIs in the course of practical work on game projects.
The really tricky part to get right would be the teaching of programming as a craft, critiquing code and so on. It’s unusual to find an expert programmer who’s also a good teacher; and this style of teaching is unknown to almost all programmers. It’d be tough to find sufficiently good staff to teach such a course well.