share
Stack OverflowGaming Development vs Corporate Software Development
[+38] [11] g00p3k
[2009-03-19 21:30:18]
[ game-development career-development ]
[ http://stackoverflow.com/questions/664159] [DELETED]

I'm learning C# right now. In my second semester of it. I'm new to all of this. I tend to not like stuffy atmosphere's and want to enjoy my work. I'm not a "nerd" gamer type that spends all day playing games, though I enjoy them. Recently I just realized that some use .NET C# for game programming, though I'd likely need to get into c++ to get into that field more.

Anyone here work in the game development side at a nice software development side? Can you make good money enjoying your work, or do they tend to pay squat? Share a little of your story please. I've been in the corporate culture for so long that I'd be interested to hear what chances there are there as well as the enviroment.

Share your story!

[+70] [2009-03-20 00:39:23] Andrew Grant [ACCEPTED]

I wasn't planning on writing an answer to this as it seemed a bit subjective and I knew I'd end up writing far too much, but I feel I need to re-address the balance of this thread a little.

To lay some background: I've worked in the video games industry for over ten years, both here in the US and in the UK. If you're interested my LinkedIn profile [1] is here. I don't think I'm especially biased, there are definitely areas in both development and business where I feel the games industry needs to improve - as with all things software certain things just don't scale :) That said I love what I do and am glad my career took this path.

Work/Life Balance

The first thing I'd say is that if you're looking to work a flat Mon-Fri 40-hour week then the games industry is not for you. Overtime, or Crunch, is pretty much a given for big events such as E3 and the the alpha/beta period at the end of a project. If you're unlucky and you project is badly managed or suffers unforeseen events then crunch will start even earlier.

It's worth pointing out that the average length of a project in the games industry is about 18-months, and much of this is spent working regular 40-ish hour weeks in an environment that's fun, challenging, and largely quite relaxed.

Basically overtime generally falls into two categories:

  • Because you want to produce the very best product you can.
  • Because the schedule/budget/feature balance is shot and you won't finish on time otherwise.

Some people will roll their eyes at the first, but unlike many programming gigs, video games really are more akin to craftsmanship. When you're working on something that will (hopefully!) be seen by millions of people working 60-hour weeks at the end of the project really doesn't seem like much. Believe me, even then some people actually have to be sent home for their own good.

As for the second - smart companies track their schedules well and constantly make adjustments to features, tasks and staffing to stay on track and this might involve short periods of overtime to get back on track. Companies that don't do this realize sometime before alpha that half their game is missing and then have no choice but ruthless crunching until the release date.

There are well publicized cases of teams being worked close to death to finish a project due to poor or non-existent scheduling, or companies that lay off entire teams after months of overtime. Stories like these are awful but thankfully they're also quite rare. Hundreds of games are released every year but only the horror stories get publicity - stories like "team finishes game on time and budget!" generally aren't as interesting :)

Almost every respectable company now realizes that excessive crunch needs to be avoided and is actually detrimental both to the project and the studio's ability to retain and attract top talent. I have friends at the studio responsible for "EA Spouse" and the environment has changed radically since that event.

Salary

Frankly this is where Cletus is just flat wrong. Games these days cost millions to make - $10 million+ is becoming more and more common. Companies with this sort of investment do not try and save money by hiring budget staff.

Every year Gamasutra runs a salary survey [2] which is probably the best way to judge this.

In my opinion the salaries for programmers are generally very good and easily comparable to other programming gigs, if not better. This is not always true for entry level art/design/QA positions where the barrier of entry can be lower than programming. Competition is a lot tougher for these roles.

As someone who's had a lot of involvement with hiring I will say money is rarely a factor in whether a programmer is hired or not. I have never heard of programmers being hired based on who costs less (as Cletus suggests happens). The only time salary has been a factor is when someone's requirements haven't matched their (perceived by us) skillset, or they're out of sync with people in the company of a similar level.

There's also good scope for progression. Game development is very challenging and if you're good and have an aptitude for it you will generally be rewarded. Good companies are very aware of who their star performers are and do not want to see them leave to competitors.

One area where the games industry does fall down compared to corporate gigs is benefits. Unless you work for one of the big publisher/developers (EA/Activision/Sony etc) you're unlikely to see share schemes and guaranteed bonuses. In my experience most companies offer good dental/medical plans though, some offer decent 401k's, and smaller developers will often offer completion bonuses or royalty sharing to make up for things they can't offer.

Skills

I'm sure this will sound biased but I genuinely believe that on average the technical bar for game programmers is higher than most other places. This doesn't mean you need to be a code ninja, but your skills need to be appropriate for your experience. If you've spent years as a C/C++ programmer and can't write an O(n) in-place string-reverse function I'm afraid I wouldn't hire you.

We are super selective because one bad hire can derail a whole project.

Unless you're interested in working on tools (and contrary to some perceptions, this is a ultra-important area that can make or break a project) then C++/C needs to be your strongest language and not C#. The only people developing games in C# these days are for things like XNA which is definitely a niche market. You'll never be able to write a PlayStation or Nintendo game in C#, sorry, it just ain't going to happen.

The good news is that after you learn the basics of pointers and memory C/C++ is pretty easy. If you know C# you already know most of the constructs and syntax and many games stay clear of the more esoteric features of C++ for performance reasons.

The two most important things in game development (IMO) are 1) Make it fast and 2) Make it clear.

Code needs to be fast because most games run an entire simulation cycle in less than 16ms. You need to have an understanding of performance - why never to call vector.resize() in your main loop for example - and an understanding of how different algorithms have different time/space complexity costs - O(log n) v O(n^2) and so on.

Code needs to be clear because it'll be around for a long time and seen by many people. Even after your 18-month project is done companies rarely throw away the entire codebase. Most games are created from a core set of libraries that evolve over time.

You also need to be good (i.e be comfortable) in Math, particularly geometry. I don't recommend focussing on math beyond the basics of trig though. Instead I'd recommend learning and studying Physics. The math required by physics maps very closely to that needed by games, and many games feature detailed physics simulations. Physics is also more fun :)

It can be hard to get your initial break but it's definitely not impossible. If you can demonstrate the skills and the desire to work on the games industry (hint: create demos) you won't have too many problems.

Job Security

There's a lot of news at the moment about various studios closing down and people becoming unemployed, as with most of the country the games industry may have some worrying times ahead.

As a developer you're often at the mercy of the publisher who's financing your game. Many studios have closed because a publisher yanked or canceled a game and the developer didn't have additional work. This has always been a problem and most developers will attempt to alleviate the risk by working on two projects which are at different stages.

There are bright spots. Even today there are many many studios out there hiring. Seriously - pick a game company and go to their website. $5 says they are advertising for programmers. I don't know why Cletus says there is an oversupply of programmers, there may be an oversupply of bad ones but good programmers are always in high demand.

Game programmers can also transition into related fields fairly easily. There is always a huge demand for people who can write fast and efficient code, particularly with the explosion of programmable embedded devices these days (phones, STBs etc).

Pros/Cons

To sum up, here's the pros/cons from my point of view.

Cons

  • Overtime will happen.
  • Few people will ever become mega-rich these days.
  • Getting your initial break can be hard.
  • Having a project canceled is like being dumped by the girl you love.
  • Some games, no matter how technically good, will end up with poor reviews.

Pros

  • You get to work in a relaxed environment.
  • There are a huge number of fun and challenging problems to solve. Graphics, networking, storage, performance, physics, AI, tools - we have it all!
  • You're surrounded by people who love what they do and challenge each other to produce their best work.
  • After 18-months you get to see your shrinkwrapped work for sale.
  • People think your job is cool. Even girls.

Good luck with whatever you decide. We're all lucky we work in a field where that offers so many different opportunities.

[1] http://www.linkedin.com/in/andrewgrant
[2] http://www.gamasutra.com/php-bin/news%5Findex.php?story=18212

(1) I was going to write an answer but you've said everything I was going to. Game development is the ultimate high-pressure job: everything is either a hit or a flop. Either you've got something on the shelf that you're proud of and everyone plays, or your studio goes under and you need a new gig. - Crashworks
Don't put words in my mouth. There's a difference between the laws of supply and demand and taking a new hire based on who is cheapest. People take paycuts to get jobs they really want all the time. If its a field they want to get in or stay in, the more likely they will ask for and accept less. - cletus
By suggesting an increase in supply results in lower wages you imply that people are hiring based on cost. People take paycuts for jobs inline with what is offered for the role they want, not to try and undercut other applicants. - Andrew Grant
(1) Thanks for doing this post Andrew! This is a very insightful answer. - Gavin Miller
wow. thanks for your time - g00p3k
(1) Very nice post. Motivational and insightful. - Karrax
Thanks Andrew, really really interesting. On a site note, you can develop wii games with c#: unity3d.com/unity/features/wii-publishing - of course, I have not a single clue if that works well for big projects. - eglasius
@Freddy Rios - thanks for the link, I hadn't seen that and it's interesting. It looks like only the scripting is C# but even that's pretty cool. - Andrew Grant
Thanks for sharing your experience and knowledge on the subject with us Andrew! - Simucal
Excellent writing Andrew! I have been in the games industry for 12+ years and agree with what you are saying. Just ignore Cletus. - MB.
I would also point out that the yearly crunch times include thanksgiving. The title must be on the shelves by thanksgiving to hit the xmas market. So there are two guaranteed crunch periods - E3 and thanksgiving. - Steve Lacey
" I have never heard of programmers being hired based on who costs less (as Cletus suggests happens). The only time salary has been a factor is when someone's requirements haven't matched their (perceived by us) skillset, or they're out of sync with people in the company of a similar level. " These two parts you posted contradict each other. - TM.
@TM I don't think they contradict each other. We'll never make an offer based on who has lower salary expectations, but if someone is overpaid that will be a factor in whether they are actually hired. - Andrew Grant
If you're writing your own engine then I agree with the C# statement. If you aren't then I totally disagree. You can write entire games in UnrealScript without touching C/C++. You can also write Wii games in LUA with engines like Shiva. Game companies are getting smaller these days with the rise of mobile, not all of them can afford writing their own game engine for every title. - Error 454
1
[+23] [2009-03-19 21:42:37] cletus

Game programming is, generally speaking, the worst paid (or close to it) area of programming, typically with the some of the longest hours.

Basically there is an oversupply of people willing to take a pay cut and work hard on something they like. It also doesn't take that many programmers to develop a game (most of the cost of developing a game comes from content not software).

It's worth clarifying here (since Andrew Grant for one and probably others) have misunderstood the above point completely. The above does not mean an employer simply picks the cheapest possible candidate. It simply means that some industries (television, movies, games, music) are highly attractive to more people than those industries actually need meaning competition can be tough and employers will generally have to pay less than other industries to find a suitably qualified candidate.

Basically if there are enough people around who are willing to sacrifice financial reward for job satisfaction then there is less upward pressure on salaries. It's simple economics.

I feel a lesson in basic human nature is now required.

1. People lie about their income.

Having gone through two accidental releases of salary information at two different companies I can tell you this is as reliable as the sun coming up each day. They'll even do so to employee-based salary surveys (making them useless).

2. Everybody thinks they're above average.

The best source for this that I can think of was from the 2000 US presidential election campaign where then Vice-President Al Gore frequently and consistently berated and daemonized the "top one percent". People are, by nature, both aspirational and self-delusional (as a group). From The Triumph Of Hope Over Self-Interest [1], this led to a survey:

The most telling polling result from the 2000 election was from a Time magazine survey that asked people if they are in the top 1 percent of earners. Nineteen percent of Americans say they are in the richest 1 percent and a further 20 percent expect to be someday. So right away you have 39 percent of Americans who thought that when Mr. Gore savaged a plan that favored the top 1 percent, he was taking a direct shot at them.

(emphasis added)

3. People don't generally know what average is.

Recently someone asked If everyone wants to hire the best programmers, where do all the rest go? [2]. It's a good question because it reveals another human fallacy: people pay lip service to hiring the best and paying the best. Some believe they are and are just mistaken, others are deliberately misleading, many don't know what the best actually is (having never seen nor recognized it) and a very few are actually hiring and paying the best.

4. Your level of enjoyment changes your perception.

Best characterised by the saying "time flies when you're having fun". Basically when people are doing something they really love and enjoy their perceptions about how much time they're actually spending on it will probably be wrong. What Andrew says is correct in that working hours vary greatly with what point in the project you're at but if someone has a month's downtime after an 18 month project they will probably think that balances out even though they were working 80 hours a week for the previous 3-6 months.

While Andrew and some others may have found employment with a healthy work/life balance that is far from universal, particularly in this industry. Consider "EA Spouse" and the Crisis of Video Game Labour: Enjoyment, Exclusion, Exploitation, Exodus [3]:

But the IGDA survey reports that almost 60% work 46 hours or more a week, and nearly 20% work over 55 hours..."Crunch time" is the industry term that indicates an apparently unusual period of crisis in the production schedule. During crunch time, more than 35% of respondents reported working 65-80 hours a week, with 13% doing more than 80 hrs; reports of working more than 100-hour weeks are not unheard-of

and

Perhaps the most startling thing about the IGDA report is that more than half of respondents said that "management sees crunch as a normal part of doing business,"

Now all that doesn't mean the very best people aren't highly sought after and don't earn a good living. Once you start getting royalty checks from titles you've worked on, the rrewards can be quite handsome if you're lucky enough to work on a highly successful title.

Now Andrew points to salary surveys that indicate that either game developers aren't underpaid (much) or they're quite well paid. What these don't take into account is working hours. Fact of the matter you can work in the corporate world for the same or higher pay with less hours (generally speaking; the corporate world is not immune to unpaid overtime by any means).

The modern games industry is becoming more and more like Hollywood. Budgets are typically $10 million minimum. The oversupply of eager candidates can draw an analogy with actors, of which there is a plentiful supply (most working as waiters or other jobs waiting for their big break). A tiny percent of actors earn a fortune and likewise the very top echelon of game development can earn a substantial income (just look at the likes of John Carmack and Tim Sweeney). The extremes are greater (in both directions) in acting but I think the analogy is apt.

So if you're reasonably competent at maths, love games, like working in an unconventional environment, are willing to work possibly insane hours (at times), you have the drive to see a project through to the end (extremely important in programming in general but particularly in the games world where you'll be judged on the merits of the titles you've shipped, not just what you may have worked on) and are willing to roll those dice on whether you get to work on successful titles then it might be the career for you.

But if you're simply looking at strictly financial rewards, wait til the recession is over and then go work for the investment banks on Wall St where you'll typically have money and equipment thrown at you (basically to shut you up) as long as you can deliver. Work in financial markets and your hours will tend to revolve around the hours those markets are open, which may only be 5-6 a day (not that you'll work only 6 hours a day).

Or go work for a consultancy where you'll have the opportunity to work in different industries and locations and generally earn a reasonable living working probably not that hard.

It all depends on what you want really.

[1] http://www.nytimes.com/2003/01/12/opinion/the-triumph-of-hope-over-self-interest.html
[2] http://stackoverflow.com/questions/568355/if-everyone-wants-to-hire-the-best-programmers-where-do-all-the-rest-go
[3] http://www.cjc-online.ca/index.php/journal/article/viewArticle/1771/1893

(1) I like the actor analogy. - rmz
Well said, the net is filled with horror stories from game developers (and their spouses). - Mohit Chakraborty
As someone who's been in the games industry for 10+ years this is just wrong IMO. No company I know bases hiring on who'll take less, or pays less than average programming jobs. There are companies where the work/life balance is out of whack but this is no different to any industry. - Andrew Grant
@Andrew - Throw your story up on this question then! - since you've been in the industry for 10+ years I'm sure you can provide an accurate picture - Gavin Miller
This is absolutely flat wrong. We pay a premium for our programmers compared to other local non-game employers because we need to be so selective in our hiring. - Crashworks
Everybody says they pay above average. - cletus
(1) You're right - that's why comparing tinyurl.com/bh24w2 and tinyurl.com/6xez3n shows how little fact is contained in this post. - Andrew Grant
Good answer cletus. - Simucal
Cletus is right about salaries. Not only are averages lower in game companies than in traditional IT, you work much more on average thus lowering your effective salary even more. The last (horrible) company I worked for paid their newbies around $36k/year. That's in Vancouver, BC - pricey city. - Jason Maskell
2
[+10] [2009-03-19 21:54:35] Michael Todd

I have heard horror stories of programmers being squeezed to death to finish a project on time only to be laid off by the company once the project was done.

I worked in IT at Virgin Interactive Entertainment (many years ago) and it seemed that the developers and artists had a pretty good job, but I remember a LOT of long nights and weekends when crunch time came.

Some examples of why not to become a game developer:

Arkane Studios Burdened by EA Layoffs [1]
Ultima Online shake-up: incoming developer layoffs, team restructuring and relocation imminent [2]
Feature: 'Game Developer Layoffs: The Real Story' [3]
Game developers sound off on industry layoffs [4]
Microsoft Game Studios hit hard by layoffs [5]
Mac game developer Aspyr confirms layoffs [6]
Trion World Network confirms layoffs but says games are unaffected [7]
LucasArts tees up new Star Wars titles, addresses layoffs [8]

(Of course a lot of these are due to the current economy, but I remember it being pretty bad in the development world even when the rest of the world was doing alright.)

[1] http://www.1up.com/do/newsStory?cId=3171189
[2] http://www.massively.com/2007/10/25/ultimate-online-shake-up-incoming-developer-layoffs-team-restr/
[3] http://www.gamasutra.com/news/career/?story=21819
[4] http://www.joystiq.com/2009/01/12/game-developers-sound-off-on-industry-layoffs?icid=sphere_blogsmith_inpage_joystiq
[5] http://news.cnet.com/8301-10797_3-10149010-235.html
[6] http://arstechnica.com/apple/news/2008/12/mac-game-developer-aspyr-confirms-layoffs.ars
[7] http://news.bigdownload.com/2009/01/21/trion-world-network-confirms-layoffs-but-says-games-are-unaffect/
[8] http://venturebeat.com/2008/06/18/lucasarts-tees-up-new-star-wars-titles-addresses-layoffs/

(1) It would seriously make your post more readable if you changed the text of your links to a description of what they contain or the document title rather than a raw URL. - cletus
You're absolutely right. This was the first time I've posted URLs and it didn't occur to me how ugly they might be without doing them properly. I'll fix it. - Michael Todd
3
[+7] [2009-03-20 18:27:33] pearcewg

I used to be in game development in the 90s (2D and 3D games for Windows). I still miss it to this day, but I left the industry for more money, and because the game industry is frequently very unstable and you work many hours.

Another issue of Game development is that if you don't have alot of money to fund a great idea, and you are a development shop, you have to work with a publisher. The sooner they give you money, the more control they have over the project.

Publishers, when they have to choose, look at (in my experience) the sales of other known products, and try to come up with something a little different that they think will sell. For example, they will say something like this: World of Warcraft sold 500 million copies, and "My Little Pony" sold 10 million copies. So come up with a real time RPG based on something like "My Little Pony", and you could sell 100 million copies. We'll give you cash, publish if you finish the title, and take a portion of every title sold.

What this means, ultimately, is that good ideas get lost in favor of marketing concepts, which have a much higher chance of failure. The most successful people in the industry can avoid this, and either self fund, or have been successful and people don't mess with them.

For many reasons like this, the non gaming market is way cooler. Much larger, pays better (generally), better benefits (generally) and many more jobs that won't work you to death. But, Gaming is cool, at least in concept, and your friends will envy you.


4
[+5] [2009-03-20 02:37:16] Martin

my experiences in the videogame industry have been a bit different from Andrew Grant's, but I'm willing to share them.

I worked for a company(I won't name it) that specializes in 2d games as a publicity medium for various companies. The games were developped in flash, and they are small games with a budget that is usually much lower than what you see as the standard in the game industry.

I didn't work there for long because I felt I wasn't at my place, and I realized the wages were much lower than in big companies and there were not any benefits.

Developping games is different than developping business applications. You need some good skills in maths (More than in your traditionnal business application). You also need to learn about patterns used in game development, that you often won't use in traditionnal software development.

Where I worked, I didn't receive a proper training about those patterns / methods. Since the projects were small, there were mostly one or two developpers per project. The lead developper of our team (The company has many small teams composed of a few artists, one or two game designers and a few programmers, managed by a producer and his assistant. The producer is responsible to get the game developped in time, while respecting the budget and communicating with the client.) was never available to answer questions / give time for training, because he was overbooked on his projects.

I haven't seen the relaxed atmosphere Andrew is talking about. I was myself overbooked on 3 projects on a really thight schedule, and the producer didn't take into account my lack of experience in game development.

As for the oversupply of game programmers Cletus mentionned, I have to say that where I live, this is far from true. They need programmers everywhere, and most companies are having a hard time finding competent ressources.

Had I to do game development again, I would probably do it as an independant developper, more as a sideline, since this way, YOU choose under which conditions you will work.


5
[+5] [2009-03-19 21:52:12] GoatRider

I used to work at a small game company as a programmer. Although I loved it, one thing I'd like to mention is that it's really not playing games all day. Most of the time, it's just like any other programming job, banging away at code all day. And even when you do play your own game, it's not like playing someone else's game. You're constantly looking for bugs and other misbehaviors in your code, and don't get to enjoy it. Even when you are playing other games, you start to look at them more as a source of inspiration. On the other hand, this DOES give you the excuse to play games at work, at least in moderation. ;)


6
[+2] [2009-03-19 22:09:01] itsmatt

I think when you are young, ambitious and have relatively few responsibilities, game programming is an appealing idea. I tried my hand at it when I was 30 and already I had too many other things going (including a day job) to really make it work for me, particularly having no budget.

Up until maybe a year ago, a buddy of mine worked for a company that had a driving game that they built. His opinion was that the work was hard and the pay was low and the benefits were also limited. It wasn't nearly as cool a job as one might think, he said.

I'd never discourage anyone from doing something that they are passionate about but gaming is a very 'hot' field that everyone and his brother thinks they want to be in. Heck, on the surface, I'd still love to do that. But there are much easier ways to make a buck slinging code and, quite honestly, I've found quite a lot of job satisfaction writing other sorts of software. At the end of the day, game software is much like other software and while a lot of us might be able to play first person shooters, few of us are John Carmack.

Good luck!


7
[+1] [2009-03-19 21:44:43] rmz

While I can't speak from personal experience, all of my friends that have worked in the game industry have said that the hours they have to put in sometimes are brutal. The pay seems to often be mediocre.

I would recommend career game development only if you can land a job at a really good company that treats its employees well, or if you want to work in the game industry so bad that you're willing to deal with the downsides.


8
[0] [2009-03-20 20:08:36] community_owned

It also depends on if you work for a mainstream game studio (EA, Vivendi, Blizzard and so on). These probably pay better than the indie and Web game shops.

As for languages:

  • Game engines for the PC and consoles: C and C++;
  • Tools for game design: whatever works, maybe C#, maybe something else;
  • iPhone: Objective C;
  • Web: often Flash, maybe Silverlight.

There is probably very little money in Web games but they may help you land a real job as you can demonstrate a portfolio of your work.


9
[0] [2009-03-28 00:06:38] bmdhacks

One thing to note about game development is that the target goal, "build a fun game", is much more elusive than traditional software projects. Because of that, you may actually complete your project on time, to spec, and have it thrown away because it turns out to not be fun. While the subject matter, games, may be cool, the actual process of creating a game can be quite infuriating.

I'm an avid gamer, but I left the gaming industry because while I enjoy playing games, I did not enjoy the chaos of video game development.


10
[0] [2009-04-11 12:45:10] community_owned

Every place is different. I've worked at places you would think were uptight but were actually really cool and I've worked at places that seemed like they would be really fun but they were a living hell. And people lie in interviews...

So, do what you love, everything else is just filler.


11