Are Game Developers 15 Years Behind?

Started by
46 comments, last by elondon 12 years, 9 months ago
Not sure if you guys agree or disagree, or if you can add some experience to the discussion.

Do game developers deserve the reputation they have when it comes to modern engineering practices?

[url="http://bit.ly/eSwMm0"]Are Game Developers 15 Years Behind?[/url]
Advertisement
It depends which company you work at, obviously.

e.g. At the games studio I'm currently working for, whenever I check-in code, it's compiled and tested by a remote machine before being pushed to the trunk (meaning I can't break the build). At a previous games studio, any commits to certain libraries were automatically added to a task-tracking system flagging the need for them to be reviewed. I've never had those luxuries in corporate software jobs.

I've worked at a top 50 corporation (not games) that was far worse -- Emailing ZIPs for version control and still laughing at OOP as some academic ivory tower concept... So I've got an equally bad stereotype of PHB's and corporate code-monkeys and "architects".

The blog post is a bit silly, in that it's pondering why a stereotype doesn't hold up under analysis.
Shhh.. don't tell the guys who wrote WoW or EVE online or any massive multiplayer game which supports over a million concurrent users in a realtime virtual environment, handling millions of e-commerce micro transactions daily.. they are doing it "wrong".. obviously their "15" year old coding style just can't compete with the new fangled "agile" methods to todays programmers :)

Game development is like any other software endeavor, there are those who use best practice and do it successfully and those who don't. You can't hold up the failures and say the entire industry is doing it wrong or backwards. Hold up the best and try to make that statement? Most software projects fail, no matter it be game developement or creating a new billing system for Medicare or putting a probe on Mars.. They all have the same chance of failure because ultimately humans are only so clever.. Once software grows beyond the ability of an individual or a few individuals to predict its behavior accurately they fallback to methodology, testing, abstractions, more testing and debugging.. You can only do so many cycles of that before you just have to ship it or cancel it..

Game developers used the agile team based methods well before its adoption by mainstream. Game development has always been collaborative small teams, artists, designers, programmers and producers. And the short development cycles force them to connect and update their progress daily. This is even reflected in the layouts of game development studios, usually they are open based work place arrangements designed for quick access to each developer and facilitate micro-communication and flexible small sub-teams working on sub-tasks.. etc..

Unit testing, Agile development, etc.. I've seen them used in the real world, the good teams adapt the methods to their work style, the poor ones just pay homage to the superficial and abandon it at the first difficulty.. Ultimaitely it boils down to the skill, competency, and experience of the developers and their passions more so than any methodology, though the best teams will have a formalized methodology..

-ddn

It depends which company you work at, obviously.

e.g. At the games studio I'm currently working for, whenever I check-in code, it's compiled and tested by a remote machine before being pushed to the trunk (meaning I can't break the build). At a previous games studio, any commits to certain libraries were automatically added to a task-tracking system flagging the need for them to be reviewed. I've never had those luxuries in corporate software jobs.

I've worked at a top 50 corporation (not games) that was far worse -- Emailing ZIPs for version control and still laughing at OOP as some academic ivory tower concept...

The blog is a bit silly, in that it's knowingly trying to deconstruct an assumed stereotype, and then pondering why those false assumptions aren't holding up.


Many game developers say that game development is more like this even though your experience is the opposite.

Also, there are plenty of game developers defending that difference saying that game development should be or must be like that.

It's reassuring to hear that your experience is that game development is better engineered than the stereotype. I can see why you would feel that the reputation is not deserved.
I wouldn't say that gamedevs are 15 years behind, but 10 might be more accurate if for no other reason than the unholy obsession with C++. Combine that with the relative immaturity of middleware tools and qa processes (development processes have actually improved a bit here)...

I wouldn't say that gamedevs are 15 years behind, but 10 might be more accurate if for no other reason than the unholy obsession with C++. Combine that with the relative immaturity of middleware tools and qa processes (development processes have actually improved a bit here)...


There's a lot of discussion here on reddit about it. Some disagree that it's true, others defend it as true because it must be.

Are you a professional game developer?
Anecdotal evidence and lore from the internet do not reliable data sets make.


This entire article is built upon a very flimsy straw-man image of game developers, which in my experience simply holds no water. Every successful studio I know about (in the sense of being privy to their development practices and habits, not just "oh hey I played their game once") is far more advanced in terms of engineering process than you make them out to be. Now, I don't mean that to be an attack on you or your article; I just mean that you're basing your opinions on faulty data, and therefore the resulting critiques are basically misguided at best.

Highly reactive, prototype-based, iteration-driven development models have been central to most mainstream game development for at least 15 years. We were doing "agile" many years before The Manifesto. We left behind waterfall almost as soon as the ink dried on the ill-fated paper that accidentally made it popular. (Well, to be accurate, game development never really did embrace waterfall or similar BDUF methodologies very seriously; it went from hack-it-until-it-works in the early days to a more iterative system in the '90s. A few places have tried BDUF over the years but I'd be surprised if any of them survived very long, at least not without changing things up pretty drastically after the first expensive failure.)

In terms of methodology, games are probably actually one of the best sectors of software to be in. They're demanding as all hell in many ways, and that forces us to be up to par on how we get things done.


Now, if there's one area where game development might lag, it's in tools adoption - or, rather, was several years ago. Centralized task coordination and tracking software, centralized documentation systems/wikis/etc., and so on have different degrees of buy-in in different corners of the industry. However, while this was spotty when I first did investigations into the matter about 8 years ago, I've been refreshing my own personal data lately and it turns out that this has all but disappeared as an issue in game development. Ironically enough, basically every studio I know of (again in the sense of knowing how they do business, not just passing familiarity with a name) is using... JIRA. Many of them also use Confluence. I find it rather humorous that someone at Atlassian of all places is questioning the practices of some of their most loyal customers ;)


However, that only applies to process-related "meta" tools. Game development has had better end-to-end in-house tool pipelines than most commercial software for decades. For instance, at my current workplace, we're shuffling literally several terabytes of assets and code around, all in automated tool chains, and spanning over a dozen different software packages, libraries, and custom "glue" apps. We have this down to a finely tuned science, not because of some idealistic notion of process, but because we have to. We can't do our jobs without it.

I think about trying to introduce that level of complexity and sophistication to the more traditional IT-type shops or shrinkwrap application shops I've been at, and all I can do is laugh. Their poor heads would explode ;) Now granted, my personal experience doesn't span some of the larger-scale apps out there, but still; what we had was a far, far cry from what game studios have done for ages.


I had to pull some serious teeth to convince one former employer to even introduce bug tracking software and incremental software releases. We sold a shrinkwrap application that you've probably heard of (well, if you have kids anyways). In the end I wrote our own custom bug tracker in my spare time because they refused to spend money - even a trivial amount - on buying an existing package. When I left, there was still substantial resistance to the very notion of tracking our bugs, and several years later I have it on good authority from inside sources that they virtually stopped doing any kind of formal defect tracking or update planning. They begrudgingly started doing it again as part of contractual obligations to the company that bought them out when they started to flounder.

There were speed bumps getting my current (game industry) employer to adopt some more modern practices and tools as well, to be fair; but nothing like that other company. And once we had things in place and running smoothly, nobody has looked back. For a while we had a staff member whose entire responsibility was to manage the defect and task database, and monitor our automated regression testing systems. I've never talked to a non-games software shop that even knew what regression testing was, let alone practiced it.


I can now name, off the top of my head, probably half a dozen companies who have better pipelines, better processes, and smoother adoption of best practices than my current employer (which isn't to say my current employer is bad at any of that stuff). All of them are games studios.



Now... in the interests of fairness, I'm countering your anecdotal ideas with more anecdotal ideas of my own, so I'm not trying to claim that I have the empirical standard of all evidence on my side ;) I just wanted to provide a counterexample to some of your assumptions and illustrate that the stereotypical cowboy-coder image of game developers is, frankly, totally unfounded.


Maybe in 1983.


Not today.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

I really don't get it what does it mean "to be 15 years behind". I always thought that being up to date was related more than anything to releasing stuff for the most modern hardware.

@chromofo, what do you think it means?
[size="2"]I like the Walrus best.
Thanks ApochPiQ for your detailed reply!

Anecdotal evidence and lore from the internet do not reliable data sets make.

I find it rather humorous that someone at Atlassian of all places is questioning the practices of some of their most loyal customers ;)


You are right. I don't publish much evidence of the truth of the stereotype, but then there are two problems with that.

Firstly, you have to be honest, it's a well-known stereotype. It does exist and I think anecdotal evidence is proof enough of that.

Now as to whether it's true... teams who adopt these tools and practices are in abundance in the game industry. I acknowledge that. I'm very much on the side of Atlassian's customers. What I want to know is how come there are so many teams who believe these practices and tools are not suited to their industry? I've had PLENTY of discussions with AAA title developers and teams who acknowledge it's a problem but I am not going to publish their names!

However you don't need me to. You can just look around at the comments on the reddit thread for example. These responses boil down to a few standards:

1. How dare you! or How would you know? (yours)
2. You are right, I know it sucks.
3. You don't understand - games are not suited to this. (I address this in my article but I acknowledge it's tl;dr)


Maybe in 1983.

Not today.



Glad to hear it!
For any absurd set of thinking, you can probably find a non-zero percentage of the population who is utterly convinced of its truth. (There's a really nasty, below-the-belt comment about religion hidden in here someplace ;) )


Why do some developers think that clear-win best-practices are not applicable to games? I dunno. Maybe you should ask them... to me it seems like an exercise in rationalizing someone else's delusions. Fun for psychiatry majors, but not my personal favorite hobby ;)

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

This topic is closed to new replies.

Advertisement