Two weeks ago, the BBC had an article about the shortage of mathematicians and physicists who persue teaching ( http://news.bbc.co.uk/1/hi/education/7433339.stm ). Would you want the best mathematicians and physicists writing games or teaching the next generation of students? Currently, there's a shortfall in both cases and the reason is quite simple: the pay and conditions are atrocious.
Had to up xirium, he’s dead on. In this day those skill sets lend themselves too many opportunities, particularly those that offer great (current/future) payouts + benefits.
The sheer cost of game development now lends to larger teams, less individualism...
(note: I’m not a game developer, if I’m dead wrong on this matter please call me out)
> those skill sets lend themselves too many opportunities
If you're in the UK and you've got fair qualifications in maths, computing and physics then your choices are as follows:
- Finance - 60,000 pounds per year. Insane hours. Very little job satisfaction.
- Consulting - 50,000 pounds per year. Long hours. Moderate job satisfication.
- Film post processing - 40,000 pounds per year. Long hours. See your own work at the cinema.
- Application programmer - 30,000 pounds per year.
- Teacher - One year training course, possibility of 40,000 pounds in five years if you can handle unruly kids. (Many don't make it.)
- Games programmer - Insane hours. Project may require porting code or using a legacy engine. Awful third party libraries licensed to shorten development cycle. Pay depends on previous success. May require beginning as a game tester at minimum wage.
- Startup Programmer - Theorectical average salary of 100,000 pounds per year. Large control of project specification. Good chance of recognition and job satisfaction.
> game development now lends to larger teams, less individualism...
In the summer of 1996, I got some work experience testing a game at Bullfrog. In 1996, Bullfrog games were taking between 20-22 man years to develop. As a lead programmer, the latter phase of the project would consist of 12-15 hour days of bug fixes and build failures. In the subsequent 12 years, I haven't had the inclination to apply for a job in the games industry.
Startup programmers really make that much? I thought only the established "big" industries can afford the really high wages (like banks, telco, insurance...).
Its a theorectical average salary. You've got a very large chance of earning nothing or almost nothing and a very small change of being a zillionaire. You get one or more attempts at getting a good outcome. The average outcome would be approximately 100,000 pounds.
Your numbers for finance, consulting and application programming are far too low (in London at least). With C++ and experience of derivatives you could clear 6 figures + bonus on top of that. As a consultant/contractor, you could certainly get close to 6 figures (tho' with no benefits/bonus).
If there is a genuine shortage in any industry it's easy to tell: it's reflected in salary, signing/retention bonuses, people getting away with acting like rockstars, etc.
If there is a lot of whining about a shortage but that isn't showing up in cold hard cash then all we have is a management class trying to drive down the wages of the workers.
I'm not sure that will help at all, since the only mechanism the government has to evaluate a programmer is whether or not they already have a job with a local company, and if they do then the company will sort their visa anyway.
To be truly meritocratic, we'd need a means to not only allow but attract engineers (of all sorts) based on talent. At the moment a mediocre engineer from a country that has historical ties with us will find it easier to immigrate than an excellent engineer from a country that doesn't. Which seems a bit counterproductive to me.
"We want to work with government to help equip our graduates with the skills they need to thrive in one of the most dynamic and profitable industries in the world."
The government is the leading expert on game design education... Love it...
I find it interesting that this "skills shortage" seems to coincide with the emergence of the game development degree. First it was places like University of Phoenix and DeVry, but now I see them offered at more reputable schools.
I wonder if this skills shortage isn't partly because the students of these game development programs don't get an education in things like computer science, software design, fine arts, literature, and history?
I don't think there's a causal link there. I've interviewed quite a few game development graduates for programming jobs, and they weren't any better or worse than CS graduates. Plenty of riff-raff like from any other subject of course, but enough decent people that they're clearly not useless degrees either. I do wonder if you're limiting your chances with such a specific degree though. No idea how easy it is to get a non-game job with one of those.
I suspect the effects they're seeing are caused by:
- dramatic increase in cost of living in the UK (low salaries really burn)
- UK university degrees becoming easier. (you won't believe what passes for a 2.2 these days)
- The game industry isn't quite as cool as it once was. Chances are you'll work on a crappy game that sells badly, or if it actually sells well you won't see any of the profits. Teams are so big that when friends ask you what bits you made you sound pathetic.
It think it's a bit the other way around. Now that the career of "game developer" has established itself as its own niche the Universities are catering to that segment by creating new programs. Of course, any degree from a reputable school will include general studies and a well-rounded education.
Now if the game companies truly want to get developers with the high skills and advanced education needed to work on cutting edge games, they need to pony up the money. The field is notorious for insane schedules, low pay, crappy benefits, and poor management. Get your own house in order before pointing blame at others.
I know this is getting pretty old, but game companies have nobody but themselves to blame. Let's face it, making games is cool. They've got that on their side. But they're not willing to pay enough to even cover costs of living to graduates, they don't pay people for the copious overtime they expect them to work, and to top it off they insult people's intelligence by doing a terrible job managing the teams and projects.
Okay, some places are probably better than others, but I never heard about any fantastic places to work at from people in the industry. And I suspect word would get round pretty quickly, given how there's about 3 degrees of separation in the UK game industry and everyone knows everyone.
EDIT: if I sound bitter, that's probably because I speak from experience. I was once a fresh-eyed graduate going straight into game development. (I studied computational physics, not gamedev though)
That robotron game that was on news.yc is a game startup. Gaming startups usually start out as guys making a game, and then either hitting it big and being bought out (counterstrike), making a profitable game to sell or getting nowhere, or starting a contracting firm.
There are quite a few, at least in the casual and PC game sector. You stand almost no chance on consoles, as the console manufacturers won't give you the SDKs and won't let you sell your game for their console unless you go through an established publisher. The publishers generally require you to sign over all "IP" (concept, names, characters, art, code) to them, which doesn't make it attractive to your average startup founders.
The only publisher I know of that doesn't do this is GameCock, (http://www.gamecockmedia.com/) they're effectively a startup as well, although the founders are industry veterans.
There is an interesting catch in the C/C++ part of that comment.
Why is the game industry using C/C++?
"Because they need the highest possible performance."
Why do they need that performance?
"To look better than the competition."
Why is looking better than the competition important?
"It sells better."
Why not do other things to sell better and get a better time-to-market with a slower language?
"Too risky."
And the entirety of console gaming has bought into ideologies of low risk, top-to-bottom. The systems are either underpowered or just plain difficult to develop for, the publishers impose boneheaded ideas, and the additional manufacturer requirements increase the costs, but the perceived benefits of a system with low piracy and high retail impact make everyone buy in, again and again. The burden always falls on the developer to suck up the worst excesses and ship something workable. And this in turn encourages a dogmatic developer ideology where one accepts "nobody ever got fired for buying IBM" type stuff because of perceived risk. C/C++ is just one of those things.
I'm inside this system now... and while I like the company and am satisfied with the job, I would love to see it all break apart. It's a nasty system and we get the short end of it.
It's less of a performance thing than a toolchain thing. Especially for 3D games. Right now most libraries are written in c++ so you either develop your own set of libraries or you go with the flow.
There are some chances that this will change in the future:
One is that web-games and games for mobile phones are already written in other languages and maybe the tools from there find their way back into the rest of the game industry. That's probably the best chance for Java. Probably also for Javascript and Flash.
Another is that games use already more and more scriptlanguages on top of C++. And that's a trend that will most likely further increase so C++ get's replaced from the top. Python and LUA are used here a lot.
And a change could also arrives from the bottom up. Smaller games are done in other languages all the time. If those games start growing - and even more important - get done faster, or are bigger than the c++ counterparts then they can eat into the c++ market from below. C# seems to be a big candidate for a language coming from that direction.
The hardware could enforce some change. Most likely concurrent programming will influence the gameindustry as much as it will influence the rest of the programming world within the next decade. Thought I see some chance that c++ might even survive that. Erlang is probably too esoteric for this industry (even though I heard already a few people using it for game servers). And so far I don't know of another language offering there enough features to really lure game developers to switch. Maybe D has some chance, or maybe a new language creeps up.
But certainly there's still the point that c++ is proven to work even for large game projects. You can discuss how good or bad it works, but so far there's simply not many examples for large games done in other languages, so the "too risky" is still a valid point.
No, that's a canard. Whatever your particular religion is about language choice, anyone capable of doing 3D programming is more than talented enough to be able to be productive in C++, irrespective of what they were taught in school. The problem is that modern game engine development is hard. People who solve hard problems for a living are expensive, and the games industry isn't used to paying that kind of salary.
Talented enough, sure, but maybe people don't want to program in C/C++. I know I don't want to, and I have always been interested in games programming.
I used to be a lead programmer in the UK games industry and interviewed many many graduates from Games courses. I didn't find a single programming candidate that understood basic alrorithms, memory usage, embedded programming or compilers. The courses are simply not up to scratch.
That being said, the UK games industry is always moaning but it does little or nothing to help. Ask academics and they will tell you: that the industry doesn't help shape the courses at all, it's impossible to place students for work experience and many graduates who do find work leave the industry after their first game as it quite frankly sucks.
Hrmph. The article starts out with this weird meta-argument about degree programs and accreditation (not enough game developers because there's no standard curriculum? Please...) which makes not sense to me. And finally it gets to the meat of the argument which seems to be:
"The games developers say that they are struggling to find in the UK the kind of high-powered mathematicians and computer scientists that they need to build increasingly sophisticated products."
Get in line, folks. News flash: 3D graphics programming is hard, and can't be done by typical IT employees. If you want these rare people to work for you, how about offering higher salaries than your competitors? Understood in this context, what the bit about degree programs and accreditation really means is: we can't find enough smart kids willing to work for cheap any more. Cry me a river.
32 comments
[ 4.2 ms ] story [ 76.8 ms ] threadThe sheer cost of game development now lends to larger teams, less individualism... (note: I’m not a game developer, if I’m dead wrong on this matter please call me out)
If you're in the UK and you've got fair qualifications in maths, computing and physics then your choices are as follows:
- Finance - 60,000 pounds per year. Insane hours. Very little job satisfaction.
- Consulting - 50,000 pounds per year. Long hours. Moderate job satisfication.
- Film post processing - 40,000 pounds per year. Long hours. See your own work at the cinema.
- Application programmer - 30,000 pounds per year.
- Teacher - One year training course, possibility of 40,000 pounds in five years if you can handle unruly kids. (Many don't make it.)
- Games programmer - Insane hours. Project may require porting code or using a legacy engine. Awful third party libraries licensed to shorten development cycle. Pay depends on previous success. May require beginning as a game tester at minimum wage.
- Startup Programmer - Theorectical average salary of 100,000 pounds per year. Large control of project specification. Good chance of recognition and job satisfaction.
> game development now lends to larger teams, less individualism...
In the summer of 1996, I got some work experience testing a game at Bullfrog. In 1996, Bullfrog games were taking between 20-22 man years to develop. As a lead programmer, the latter phase of the project would consist of 12-15 hour days of bug fixes and build failures. In the subsequent 12 years, I haven't had the inclination to apply for a job in the games industry.
If there is a lot of whining about a shortage but that isn't showing up in cold hard cash then all we have is a management class trying to drive down the wages of the workers.
To be truly meritocratic, we'd need a means to not only allow but attract engineers (of all sorts) based on talent. At the moment a mediocre engineer from a country that has historical ties with us will find it easier to immigrate than an excellent engineer from a country that doesn't. Which seems a bit counterproductive to me.
The government is the leading expert on game design education... Love it...
I wonder if this skills shortage isn't partly because the students of these game development programs don't get an education in things like computer science, software design, fine arts, literature, and history?
I suspect the effects they're seeing are caused by:
- dramatic increase in cost of living in the UK (low salaries really burn)
- UK university degrees becoming easier. (you won't believe what passes for a 2.2 these days)
- The game industry isn't quite as cool as it once was. Chances are you'll work on a crappy game that sells badly, or if it actually sells well you won't see any of the profits. Teams are so big that when friends ask you what bits you made you sound pathetic.
Now if the game companies truly want to get developers with the high skills and advanced education needed to work on cutting edge games, they need to pony up the money. The field is notorious for insane schedules, low pay, crappy benefits, and poor management. Get your own house in order before pointing blame at others.
Okay, some places are probably better than others, but I never heard about any fantastic places to work at from people in the industry. And I suspect word would get round pretty quickly, given how there's about 3 degrees of separation in the UK game industry and everyone knows everyone.
EDIT: if I sound bitter, that's probably because I speak from experience. I was once a fresh-eyed graduate going straight into game development. (I studied computational physics, not gamedev though)
The only publisher I know of that doesn't do this is GameCock, (http://www.gamecockmedia.com/) they're effectively a startup as well, although the founders are industry veterans.
But the bring problem with universities is that they stopped teaching C/C++ a while ago.
Why is the game industry using C/C++?
"Because they need the highest possible performance."
Why do they need that performance?
"To look better than the competition."
Why is looking better than the competition important?
"It sells better."
Why not do other things to sell better and get a better time-to-market with a slower language?
"Too risky."
And the entirety of console gaming has bought into ideologies of low risk, top-to-bottom. The systems are either underpowered or just plain difficult to develop for, the publishers impose boneheaded ideas, and the additional manufacturer requirements increase the costs, but the perceived benefits of a system with low piracy and high retail impact make everyone buy in, again and again. The burden always falls on the developer to suck up the worst excesses and ship something workable. And this in turn encourages a dogmatic developer ideology where one accepts "nobody ever got fired for buying IBM" type stuff because of perceived risk. C/C++ is just one of those things.
I'm inside this system now... and while I like the company and am satisfied with the job, I would love to see it all break apart. It's a nasty system and we get the short end of it.
There are some chances that this will change in the future:
One is that web-games and games for mobile phones are already written in other languages and maybe the tools from there find their way back into the rest of the game industry. That's probably the best chance for Java. Probably also for Javascript and Flash.
Another is that games use already more and more scriptlanguages on top of C++. And that's a trend that will most likely further increase so C++ get's replaced from the top. Python and LUA are used here a lot.
And a change could also arrives from the bottom up. Smaller games are done in other languages all the time. If those games start growing - and even more important - get done faster, or are bigger than the c++ counterparts then they can eat into the c++ market from below. C# seems to be a big candidate for a language coming from that direction.
The hardware could enforce some change. Most likely concurrent programming will influence the gameindustry as much as it will influence the rest of the programming world within the next decade. Thought I see some chance that c++ might even survive that. Erlang is probably too esoteric for this industry (even though I heard already a few people using it for game servers). And so far I don't know of another language offering there enough features to really lure game developers to switch. Maybe D has some chance, or maybe a new language creeps up.
But certainly there's still the point that c++ is proven to work even for large game projects. You can discuss how good or bad it works, but so far there's simply not many examples for large games done in other languages, so the "too risky" is still a valid point.
http://www.st.cs.uni-sb.de/edu/seminare/2005/advanced-fp/doc... (PDF)
It's almost a cry for help, but he explains why they're not using e.g. Haskell.
A ton of gameplay gets pushed out to Lua and a lot of the UI gets pushed out to ActionScript. Tools are mostly written in C#.
But really, all game programmers need a fundamental understanding how the platform and architecture works all the way down to the nuts and bolts.
That being said, the UK games industry is always moaning but it does little or nothing to help. Ask academics and they will tell you: that the industry doesn't help shape the courses at all, it's impossible to place students for work experience and many graduates who do find work leave the industry after their first game as it quite frankly sucks.
"The games developers say that they are struggling to find in the UK the kind of high-powered mathematicians and computer scientists that they need to build increasingly sophisticated products."
Get in line, folks. News flash: 3D graphics programming is hard, and can't be done by typical IT employees. If you want these rare people to work for you, how about offering higher salaries than your competitors? Understood in this context, what the bit about degree programs and accreditation really means is: we can't find enough smart kids willing to work for cheap any more. Cry me a river.
"The death of maths, physics and computer science graduates is hitting us hard."
Graduates are dying?! Bogus! OOOhhh you meant to use dearth.