14 ms·
So you want to be a video game programmer? - The Specs
- acgourley 15y agoIt's worth reading this even if you're not interested in games or the industry that makes them. The game industry is one of the most mature industries in software and it offers a possible future for YOUR corner of the software world. 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.
- angrycoder 15y agoUnless your definition of mature is old, I'm not sure what you are talking about. At the large publishers stuff like unpaid overtime is built into the budget from day 1, game developers are typically paid quite a bit less than their counterparts in the business sector, and agile development practices are rare. 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.
- acgourley 15y agoEarlier in the history of the industry games were ligher weight, more iterative and more exploratory. Over time that changed. Sure thats changing back again with indie games, but that's still a small part of the market. I'm just wondering out loud, could your corner of the world be moving in that direction?
- kabdib 15y agoMost games are trainwrecks inside. They are /just good enough to ship/ and often no better. They are fragile, fickle things that for the most part have a market lifetime much shorter than the time it took to develop the title. You get your money back -- if you do -- in the first few months of sales. Games are pragmatic and hard, cheap bastards that chew up teams and spit them out. It's fun. :-)
- fferen 15y agoThis is what I've been suspecting after reading dozens of tutorials and examples on all manner of game-related APIs and libraries. It seems like game programmers as a whole care less about code organization, style, and all the other values that are exalted in other fields.
- Silhouette 15y agoYou're probably being unfair there. The programmers who work on games are often very smart, very capable people who genuinely want to make a good product. A lot of so-called professional programmers could learn a thing or two from games developers about everything from writing high performance code to co-ordinating large development teams via the value of developing in-house tools to make development work more efficient. 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.
- chulipuli 15y agoSuch is the reason the only game I play is a Quake clone (Urban Terror). It is mostly bug free, runs on cheap hardware, and most importantly: it is very fun (due to the great gameplay.) It also has a great community (with a lot of hackers/nerd types.
- chaostheory 15y agoI think what's sad when you compare the games industry to others like finance or telecommunications, (based on my experience) a typical (large) game company does way way more testing than say a big bank or telco.
- amcintyre 15y agoThumbs up for telling people they need to know some math. Even if you're not planning to work in the specialized areas that are mentioned in the article, it wouldn't hurt to be more comfortable with math than most developers are, because you may need to step in and help somebody in one of those areas, and (for me, at least), learning stuff like that on short notice is really hard.
- kabdib 15y agoYou don't really need to know 3D math unless you're working on graphics. It helps. But you don't /need/ it.
- agavin 15y agoPhysics, collision, animation, and certain types of compression also use a lot of math. I also found that just plain gameplay programming in 3D games required a pretty decent command of matrix math and analytic trig.
- amcintyre 15y agoSure, and there are a lot of other things you don't /need/, but that will make you more valuable to employers, or to your customers if you're a business owner. 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. :)
- psykotic 15y agoYou don't need to know much mathematics, but a solid practical understanding of 3D geometry is a bread-and-butter skill in game programming, no matter your speciality.
- gfodor 15y agoVideo games are an interesting phenomenon. They manage to pack many of the most interesting problems of computer science into one of the most superficial, yet profitable, applications. They're kind of like the warping of space time, an anomaly of extremes that manages to relentlessly suck brilliant minds away due to its siren call. 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.
- davidsiems 15y agoGet off your high horse. 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.
- gfodor 15y agoThis is the inevitable response that I get when I dare suggest that those of us with the gift of being able to program computers in such a interesting time choose wisely where we place our efforts. 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.
- SoftwareMaven 15y agoI think the problem is you appear to be judging others by the stick you are measuring yourself with. Everybody gets to decide what they feel is important, but HN'ers don't like others telling them what should be important to them.
- SoftwareMaven 15y agoI've worked for a couple of game studios over the years. Unfortunately, conditions were atrocious at both, something that seems to be fairly common in the industry. My hypothesis is so many coders spent their teen years playing video games, wanting to write them, that they are willing to work in sub-par conditions. I won't work at another one, unless it's my own. Sadly, I'm not skilled enough to start my own.
- agavin 15y agoAll the studios that consistently turn out brilliant games: Naughty Dog, Valve, Epic, Blizzard and many many others are really well run. Working there might often be brutal because of how hard the job is and pressure, but they know the process of making great games and the quality of employees is very very high. It's less so at the big corporate studios where marketing and big company policy has heavily infiltrated the system.
- _delirium 15y agoIt could be the personalities of the people I make contacts with (I'm a researcher who works with research-interested game-industry people), but the burnout rate seems really high, even at the well-run places. More than half the people I've met in the last 5 years have quit their jobs within that timeframe! And a lot cited the working conditions: more or less that the pressure-cooker environment was cool in their 20s, but not a long-term career path. Some have gone the indie route, some to consulting, some back to grad school, others just left the game industry entirely for a job somewhere like Lockheed.
- stonemetal 15y agoIs that true though? Rockstar has a reputation for turning out great games and being one of the worst places to work.
- mostlycarbon 15y agoThere are two quotes that I remember from my CS profs that have stuck with me over the years. 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.
- joelburget 15y agoI wish people would stop glorifying how many hours they work and how little sleep they get, "You need to live without sleep (4 hours a night every day for years baby!)." Sounds juvenile to me.
- ajg1977 15y agoRead the last sentence before taking quotes out of context - "being a lead is all about responsibility". 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.
- joelburget 15y agoI agree somewhat. Yes, a lead has more responsibility, and will work as hard as the other team members. Sometimes they may have to push to get the product shipped. That is a completely different thing than four hours of sleep a night for years.
- agavin 15y agoIt's all of the above. As lead you have to fill in, to do what no one else wants to do, to keep try of all the things that need to be done in the say 48 hours to the next deadline and sort them by priority. But you often have to work just as long as the longest worker on the team if only out of solidarity. It's important that no one can ever say to you: "You took it easy, while I did the work." 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.
- potatolicious 15y agoThe game industry puts this type of workload on more than just leads and managers - the rank and file toil for long hours with miserable pay (compared to the rest of the industry). There are a few exceptions to the rule - studios where life resembles something like normal, and crunch time is an anomaly, not year-round. 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.
- richcollins 15y agoShould be re-titled to "so you want to be a video game programmer at a large studio".
- agavin 15y agoWhy? I'm very NOT large studio oriented. I don't think anything stated in my post (which is just part of a larger series I'm writing) is even about studio size. In this particular post I'm just broadly breaking down some of the sub-specialities inherent in the process of programming video games. In a web app you need more network and database programmers, in a video game you need graphics and sound programmers. It's just practical sense. The same guys might do these tasks, but if you like advanced 3D graphics and get a kick out of it -- get a programming job that involves graphics!
- richcollins 15y agoThose technical specialties are specific to certain genres of games. You don't have to learn all of them to get started and make good games. You probably do have to shoehorn yourself into one (or a few) of them if you want to work on big budget games.
- deleted 15y ago[deleted]
- punyhuman 15y agoSeems like many people here enjoy playing video games but they do not like that some very smart people chose to program them instead of "making the world a better place". Hmm.. makes me think why do you consider it like that. Its one thing to say that the gaming industry is bad because of bad working environment (a new info to me) and quite other to say that its bad to work for since it does not make the world a better place. A game is made because someone wants to play it. Why do they want to play it? Because life is a bitch and we get frustrated.(And I am fairly sure that people who are "making the world a better place" also experience that). So they try to escape the daily motions of life by shooting zombie faces or kicking someone's ass by making a avatar of them in a wrestling game. That brings us a sense of relief and allows us to fight another day or week or month (depending upon your gaming habits). So why not? My puny human brain cannot understand all this bad rap given to these poor game programmers who are maybe working in the worst environment possible (according to some comments here). 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.
- agavin 15y agoI posted a part 2 -- except I actually made it a prequel -- but it's new nonetheless. http://news.ycombinator.com/item?id=2937426 http://news.ycombinator.com/item?id=2937426
- agavin 15y agoand a part 3: http://news.ycombinator.com/item?id=2941688 http://news.ycombinator.com/item?id=2941688 and a part 4: http://news.ycombinator.com/item?id=2950413 http://news.ycombinator.com/item?id=2950413
- agavin 15y agoAnd a part 5: http://all-things-andy-gavin.com/2011/09/11/video-game-programmer-method/ http://all-things-andy-gavin.com/2011/09/11/video-game-progr...