Hacker News new | ask | show | jobs
by animosity 5841 days ago
i think it's quite possible that i will never be happy working as a software engineer in any industry.

but i can virtually guarantee i'll never be happy in the video game industry. the vast majority of video games are utter crap. it's astounding what pretty marketing can fool people into paying for.

the entire process suffers from a tremendous lack of formality because it's a "creative" product. the code quality is atrocious because everyone is chasing a moving target, and apparently there just isn't time to document anything.

i also have the sense that i'm not developing any particular skill set beyond dealing with excruciatingly undocumented apis & debugging excruciatingly unstable code (because the industry refuses to adopt developments in abstracting memory management - the vast majority of most games DO NOT need to be written in C++, despite what everyone would have you believe).

there's also this expectation that i'm in it for the love of video-games, because why else would i put up with these shitty hours and pay? fool me once.

i've actually worked at two video game companies (due to immigration issues), at two different extremes in terms of number of employees, etc. AND IT'S THE SAME BULLSHIT EVERYWHERE.

so again, getting out of the video game industry is just a last ditch attempt at staying in the larger software industry. it mystifies me that i spend the majority of my free time enthralled by the latest developments in software/technology (i definitely look forward to google i/o more than christmas), and yet i hate every moment of my professional life - but there you have it.

2 comments

Disclaimer: I have no professional game development experience.

It sounds like you were working on shovelware for EA or someone like that. From having spoken to people who work in the games industry (though not just games per se, but middleware too: demonware and havok are two who are active in my area), I don't think this applies accross the board. Havok, for example, doesn't fall into the "code quality is atrocious" category (don't believe me? while you can't grab the source code, you can however use the library free of charge on PC's). From reading online forums and such, it seems to me that there are some really great game development houses who do have a lot of fun with what they do, do learn interesting and new things and so on. Definitely not all, but they do exist.

Sadly, I agree that a lot of games don't put as much effort into code quality as they should (which is why we have to put up with crashes and bugs and post-release patches...), but I really do believe that its not as bad as you make it out to be.

So, my advice would be to ditch the shitty money-crazed shovelware companies and find a small development shop which does it for fun and enjoyment just as much as for money.

Of course, even then the games industry might not appeal to you. At the end of the day, only you know for sure, so if you're unhappy, then by all means move on. As for where to - what have you worked on? (eg, 3d graphics? game ai? physics?) What do you enjoy doing/what areas would you like to work in instead? Its tough to give advice without knowing what your relevant skills and interests are. (Or, what in particular interests you about mobile platforms?)

As for C++, being good at programming in C and C++ is always a bonus. You make it sound like its dirty to have C++ experience! (I certainly hope not, I've written a lot of C++ code myself.. still do when it makes sense to). Everything you've been doing in C++ can probably be applied elsewhere.

> It sounds like you were working on shovelware for EA or someone like that.

direct hit.

> find a small development shop which does it for fun and enjoyment just as much as for money.

i thought i'd found that at my present company but it's the same crap. i was really naive about this place.

> As for where to - what have you worked on

this is the most worrying part. i used to focus on graphics, but what these operations need is someone competent to deal with a broad range of issues. and that's what i've been shafted into doing.

> You make it sound like its dirty to have C++ experience!

i didn't mean for it to sound like that. i worry that people who make hiring decisions won't see beyond their keyword filters though.

Well, assuming you don't want to try again with another game development company, I'd say look around for something that interests you and just apply. Don't worry if your current skills aren't a perfect match - you're experience (C++, graphics/performance-sensitive code, teamwork, tight deadlines, etc - the stuff other people mentioned) means you can probably pick up whatever you need on the way without much trouble and a good developer (assuming you're not applying to a big company with a clueless HR team...) should be able to spot that.

I found that having a background in C++, before moving to other languages (Python at first, now clojure wherever I can get away with using it) actually helped me program better. C++ makes you careful about managing resources almost to the point of paranoia - at least manual memory management does that to me :) and the C++ performance myth makes me pay a lot more attention at making sure my code is fast, regardless of language (though thankfully I've managed to kick the premature optimization habit in favour of choosing appropriate algorithms). I don't think I'd have picked up Python and Clojure (and Java and...) as easily if I hadn't went through the C++ pains, so you're epxeirence should serve you well. With a bit of luck, whoever you end up interviewing with will recognize that.

I'd hire a programmer with c++ experience long before I'd hire a ruby or python programmer. It's easier to stop them from using their bad c++ habits than it is to skill up a ruby or python programmer in basic cs/architecture.
Sounds like you have an excellent understanding of the industry! I was in that culture in my early 20's. The games industry relies on a continuous flow of starry eyed fresh meet coming out of school to feed the gaping maw. Management is almost always the "older" guy in his mid-25's who's completely incompetent and out of his league.[1]

I have two pieces of advice for you. A) If you like games, do simple fun indie games (world of goo, bejeweled, uplink, etc). These will make you happier and richer than working in the salt mines.

B) Find some semi-programming business to go into. My first love was airplanes. I absolutely adore them. So I combined that with my love of technology. I get a good mix of different disciplines which keeps me sane.

Good luck in your future endeavours, it sounds like you'll do well.

1. And remember, if you aren't working 12 hours a day you're not hardcore/part of the team/committed!

Going indie can work, but there's a ton of competition, and you have to work your arse off to make yourself a known commodity. Branding is important, and with so many platforms open to small developers, it's tough to know which ones to target. Aim too big, and you get swamped with other titles (iPhone). Aim too small, and no one will have a gadget that runs your title (PSP Go).

Getting coverage via engagements such as IGF and Indiecade helps a lot, but it's no guarantee of success. It's not impossible by any means, but I want to stress how much work it is, and what sort of timetable you'll be looking at to actually turn a profit from your first few titles. Expect your first games to break even at best, unless you have a truly imaginative idea and happen to hit the right platform at the right time.

i'm not sure why it sounds like i'll do well to you. it's looking pretty bleak from where i'm looking.

> If you like games, do simple fun indie games (world of goo, bejeweled, uplink, etc). These will make you happier and richer than working in the salt mines.

i agree. deep down i don't think the employee/employer relation will work for me.

> B) Find some semi-programming business to go into. My first love was airplanes. I absolutely adore them. So I combined that with my love of technology. I get a good mix of different disciplines which keeps me sane.

so you write software that keeps planes in the air?

Yes. Actually I'm designing the entire airplane.

One point to keep in mind about indie games is they're usually not about the technology. Whereas AAA titles have to have the latest whiz-bang, indie titles just have to be fun. They can even have 8bit graphics (look at introversion games!). You can have a much longer shelf life with a game that sells on gameplay than with one that sells on graphics.

So if it appeals to you it is possible to feed yourself with simple, fun long shelf-life indie games. You might also start looking at places like thailand to spend some time.

A cabin in ao nang is $100/month with cleaning lady. You can tan during the day, work in the afternoon/early evening and party at night while spending about $10-20/day[1]. At least until you get traction.

Anyways good luck. I've seen that industry and understand how soul sucking it is.

EDIT: Edit: I think you'll do well because I've seen others come to the same realization - the AAA games industry is soul sucking. The young kids come in and get ground up to feed the machine. Some grow balls and decide to work on their own terms. You're at this stage now. You'll be much happier once you get out of the AAA industry and start setting the terms.

[1] This is rockstar type living of course. You can easily live off $5/day (cabin excluded) if you don't want to party that much, don't need a daily massage and don't eat in the formal restaurants each night. Myself I was happiest when I had a great sunset and some food off the back of a truck.