So you want to be a video game programmer? - The Specs
all-things-andy-gavin.com
all-things-andy-gavin.com
I'd like to think he still gets at least 6 hours of sleep a night, but I wouldn't know. The synopsis of the lead, I read, was reasonable, especially remembering what sort of lives the people that worked for EA had.
In short, I don't think this was trying to glorify the hours worked, and instead alerting would-be leads to understand what they're committing to.
If you're the lead and things start going south on your project then you'd better be prepared to start leading and taking on whatever is needed to get your game shipped.
I know it's cool to preach about working smarter instead of harder, but getting a game out of the door and into a box usually requires large doses of both.
That is a completely different thing than four hours of sleep a night for years.
This principle is why Caesar, Alexander, and Napoleon were all beloved by their men. They dug in there with everyone else. Slept on the ground. Rode first into battle. All that. It seems silly, but don't underrate it. I can't tell you how many times someone would come to me at 4 in the morning before a deadline and say how much they appreciated that I was there. No one wants to feel used.
They are few and far between though. I grew up in Vancouver where EA has its largest studio presence, and the number of burned out game devs I've met is a little scary.
Video games is like Hollywood - it's glamorous, and has the tendency to suck in some great talent, chew them up, and spit them by the curb 2-4 years down the road. And this will not change so long as there's a lineup of talented artists and developers out the door and around the block waiting for their crack at what may just be the worst working environment known to software-dom in this country.
A metric of success, to me, is being able to make money while you're asleep. You'll never escape the chains of the cubicle if you don't work smart.
And yes, I love video games, and considered working in the field. But, stepping back you realize there are more important things to work on, and more useful ways to spend your time. That doesn't mean the temptation on both fronts (playing and creating) ever goes away.
You could say the exact same thing about books, TV, movies, paintings, etc.
Games are just like any other form media. Yes, many of them are superficial, but a lot of them tell incredible stories, teach life lessons, and evoke powerful emotions. To top it all off they can also be incredible teaching tools.
Just because you think something's a waste of time doesn't mean other people aren't deriving real meaning from it.
I'm not saying it's immoral, unrewarding, or not plain fun to play and build video games. I'm saying that in life you get to choose how you spend your time, and in my view building the next killing simulator when you have the talent and means to do so much more is probably something worthy of self-reflection.
- Will this make me happy?
- Are the people involved good people I can enjoy working with?
- Will this develop my skills in the way I want for my future?
- Will this enable me to open doors later that are shut now?
- Does this have a positive impact on the world?
- Will this have a long-lasting impact?
- Is this ethical, will it be used for good or evil?
- Is it something that I can be proud of? That I'll tell my grandkids about?
I've been lucky enough to work on a variety of things all of which stretched these constraints in wildly different directions. In each case I've tried to push things towards a happy medium when it was clear things were tilted too far in one direction. I'm quite happy with what I am working on now, as it is with a great team, provides good technical challenges, and has a positive, real impact on thousands of people's lives in an ethical, positive way, while potentially having a long term impact on building sustainable, local economies as a whole.
The point of my post is not to 'judge' people doing things they enjoy. It's to point out that it's important to keep in mind these tradeoffs and be honest with yourself. At any point in my career I like to think if you asked me where what I was working on fell on these lines, I could give you an honest answer. I think there are many engineers who blindly follow technical problems wherever they lead, without thinking of the larger picture.
My original post was pointing out video games certainly, for the most part, fit into these tradeoffs in a common way. (Again, I am talking about applied software engineering in video games, not all facets of video games.) If you're working on fascinating computational geometry algorithms for the next game that lets people run around shooting each other in the head, I think you know where what you're doing falls on these dimensions, and I think it's important to know if you're comfortable there. (Yes, I play and love Quake 3.)
It's hard to phrase these things without people taking it personally, but I've known many engineers that wake up 10 years into their career and realize they've been working on incredibly interesting technical problems which are being applied to things they aren't really too stoked about.
Ok, you're saying, that you don't judge, but are doing it the whole time.
Your definition of meaningful is very simplistic. It's like saying, that exertion could be without catharsis. No, they can't be without each other. If they can't be without each other, than both are meaningful in the same way.
If I had said something along the lines "working on your college degree is a better use of your time than gambling your money away in a casino" I'd not be 'judging' gamblers who do so. I'd be judging the acts themselves and how I see their relative merit and the rewards they'll bring the person doing them. I'd also be stirring up less controversy.
It's disappointing that people in this thread have tried to attack me personally or twist my words to be interpreted as 'judgements.' I don't think it's controversial to say that playing video games excessively is, in the long run, not the most rewarding endeavor. The question is, does this extrapolate to making a career of the construction of games themselves (exclusively on the software engineering side, the topic of this thread.) I happen to think that it does, particularly when I look at all the energy and talent that goes into creating them and the draw they have due to the fact that our generation was raised on gaming and that it offers enticing technical challenges.
Yes, a programmer in the video game industry might spend their days debugging the mammary physics of "the next killing simulator". But they might also create the next Braid or Minecraft, helping a lot of people connect and have fun in the process. Similarly, a programmer outside the games industry is much more likely to be tweaking some bespoke piece of accounting software than they are making the next Facebook.
I think the reason for this is because the person working on Braid chose to balance technical challenges with other things important to them. A 2d platformer is certainly less interesting to build from an engineering standpoint than building a navier-stokes based milk dynamics solver in CUDA :) But, the Braid engineer knows they are working on an ambitious, novel piece of art. It's this tradeoff that I don't think most people are making, and I think most video game engineers do not see themselves as agents to push the boundary of contributing in an artistic sense to a greater whole as those on games like Braid do, particularly.
The post in this thread sparked my comment because it mentioned the most drawing position in gaming is the coveted engine programmer position. To me, this sounds like people want to work on bleeding-edge technical problems without regards to the fact their engines are probably being applied towards shoveling out violent, dry crap from the mainstream gaming studios. I once had one-dimensional goals like this too ("I want to work on global illumination algorithms!") but this has changed for me dramatically over time.
Possibly. But can you say that about building the video game equivalent of Citizen Kane, The Battleship Potemkin, or La jetée?
Such a shame that you claim to have the talent, but obviously don't have the imagination, to build something better.
Having said that, typically those "sucked in programmers" are not the ones working on the "art" side of things, like the story, for example.
I think the "sucking in" of talent is referring more to those whose talents are in development, and not so much in expression of art.
Sometimes, games are the most useful thing one could ever work on.
Anyone else a Jane McGonigal fan? http://www.ted.com/talks/jane_mcgonigal_gaming_can_make_a_be...
Get over yourself. Your web/mobile apps, as cool as they are, aren't more important or any better for anyone than video games unless you're feeding starving children or freeing people from tyrannical government.
We can all agree that getting regular exercise and eating well is a good idea, and stuffing your face with junk food every day a bad one, without thinking either should be something enforced by society upon people.
Such as lecturing people on Hacker News?
It is a game totally worth consuming your life. It have too much depth and there's so much to learn. Designing your own defense system, figuring out how to satisfy and juggle the requirement of your fortress, and so on. It's mind expanding. Other than that, I like killing and skewing globins.
Someday, I'll be able to handle trapping globins and use them to automate my fortress.
A game like dwarf-fortress is a 6+ year labour of love from its creators (and its players!), and screw anyone who says dedication like that is wasting your life.
And more broadly, a game is as artistic & life-changing as the developer is able or willing to make it.
Video games can be artistic, inspirational, stress relievers (In my opinion one of the greatest invention for men ever), they stimulate imagination, and have been proven to help real professionals like surgeons be more precise at work.
How is your e-commerce vocation more useful for humanity exactly?, its still consumerism no?
Besides being one of the longest running industries in software, it iterates teams and products rapidly.
Because of this it has performed a gradient decent more than any other software industry, and I would argue it is is sitting at a local minimum.
From that perspective it's very interesting to study.
They build very expensive, monolithic pieces of software. It is pretty much the exact opposite of where software development has been going for the past 10 years.
I'm just wondering out loud, could your corner of the world be moving in that direction?
Games are pragmatic and hard, cheap bastards that chew up teams and spit them out.
It's fun. :-)
But the games programmers are screwed by the simple fact that the market will accept games that are buggy/require insane hardware/etc. and pay for them, will usually not attempt to return them if they simply don't work but will rip them apart in on-line commentary if the game sucks, and will rip them off at the first opportunity if the game is cracked.
That means the business guys who are, quite rightly, calling the shots, are interested in basically the first few days after launch and nothing else. That in turn means there is no need to bother with things like code quality and long-term maintenance. Better to spend the money on a cinematic trailer and DRM that takes one more day to crack.
This will continue as long as people continue to accept buggy games, dubious policies like shipping incomplete games and then filling in the blanks with paid-for DLC, and so on. And right now, while there are clearly plenty of people like me who would spend a lot on good games that worked properly and didn't come with pseudo-malware attached, it seems there are plenty more people who just don't care.
You want them to write games for people like me. (Thanks! :-)) Unfortunately, most of the big games shops are going to follow the money.
The real problem is the short-term fix nature of games. As you say, they're (mostly) not designed to be one-shots, with the majority of players playing through the game for a couple of weeks each, within a period of a few months of each other. That is why bugginess is tolerated, not the other way around. It's not worth the time to fix non-critical edge-case problems in situations. By the time the bug can be fixed, and tested, it'll only be useful to, say, 10% of total players.
In multiplayer games (and other games where the player is expected to engage with the game for months at a time) then you find that there are frequent updates and bug fixes.
Personally I basically gave up AAA games around four years ago, after three big disappointments.
Crysis should have been great but had all kinds of problems even on high-end hardware.
Supreme Commander should have been great, except that a major selling point was its world-scale maps but if you actually played a full on game on such a map you went over 2GB RAM and crashed it on 32-bit XP.
Oblivion should have been great, with a lot of power in the game engine and some interesting ideas, but they forgot to bring the fun part.
Those were probably the three most eagerly anticipated PC titles of their generation, and while I did complete Crysis and have spent plenty of time on Forged Alliance, the enjoyment was severely damaged by the frustration with all the problems.
Since then, it seems like all I hear about is ever more intrusive DRM screwing things up and ever more profiteering via DLC and exclusive content deals. I've given up on contemporary AAA titles entirely until this sort of silliness goes away, and I content myself with things like puzzle games and titles from GoG that are actually fun to play.
The sad thing is, I'm betting the programming teams behind Crysis and SupCom could have improved the trouble spots and given everyone a much more enjoyable gaming experience with a bit more time, but I bet the suits pushed them to ship when it was "good enough". As for the DRM and DLC in more recent titles, that's just management madness through and through.
Mass effect 1 & 2 on xbox360. Starcraft 2 on mac. Halo series was alright.
Try playing on a console, it'll be more stable.
Now that they've been released for a while, it would be interesting to see how things have changed.
On well-planned projects, best practices of development help achieve that priority throughout the project. However, the more problematic development becomes, the more things come into conflict with that top priority. And in practice, planning is almost never good enough to prevent that as the project wears on. Project management that can push back the day when that vicious cycle kicks in is invaluable.
Usually, in reality, the top priority is to ensure the short-term viability of the project or (worse) the studio or (much worse) the studio management. It's like Robocop's hidden directive, sadly. That diversion of focus, especially early in a project, is totally poisonous.
If anything, MMOs are more susceptible to these kinds of existential threats than most projects. They're incredibly challenging feats for even a massively skilled development team. The ability to produce an MMO is actually a fairly good way to measure how well-buffered a development environment is from this kind of insecurity.
From one point of view, this is viciously optimized. I'm reminded of a quote along the lines of "the ideal racing car would cross the finish line intact and immediately disintegrate." The point being, find the minimum weight necessary to accomplish your goal, and spend as close to that minimum as possible. In games, the "weight" you're minimizing is the effort and focus spent on production quality, in order to be able to spend more on game design and performance, and ship faster.
Every game I've shipped has been far more stable than the majority of applications I use on a daily basis today. Most of those codebases where then used in other titles, aside from the very game-specific parts.
Sony/Nintendo etc require that your game runs for 1-3 days without a crash, on a platform without virtual memory, before they'll put it on a disc that cannot be patched (well, until this-gen of consoles. Now it's just expensive to patch).
Quite a bit different from platforms such as iOS where developers get upset that Apple take five days to approve updates for for free (fail a Sony submission and you'll be paying $$$$$)
I won't work at another one, unless it's my own. Sadly, I'm not skilled enough to start my own.
It's less so at the big corporate studios where marketing and big company policy has heavily infiltrated the system.
AI prof addressing statistical vs. rule-based learning: "All models are wrong. Some models are useful."
Systems level programming prof: "Now that you have a thorough understanding of programming all up and down the stack, if you want to minimize the amount of money you make and maximize the hours you work, then take a job as a video game programmer."
I know several coders who have worked in the gaming industry for 5+ years and they're all completely jaded at this point.
It helps. But you don't /need/ it.
Everybody has to choose things to learn and not learn, but my experience has been that putting math in the "not learn" category can make your life/career more difficult in some job markets. If most game devs decide they don't need to know math, that's just more opportunity for me, so I'm not too bent out of shape about it. :)
edit: Reading this again I realize that some people will argue that they are not against the therapeutic values of games but they get angry when people waste time on it. Hmm... interesting counter argument. Lets see, I can cut my hands with a kitchen knife so maybe I should throw it out right now. Dammit punyhuman you may fry your brains with this mobile crush it, right now. Punyhuman is surrounded by such things, they are all after me. Help HN people.
and a part 4: http://news.ycombinator.com/item?id=2950413