Quick, name a software development industry known for working long hours on unmaintainable code that has to ship on quarterly deadlines, releasing patch after patch, occasionally losing source code, and burning out scores of young programmers every year.
With few exceptions, it seems the game development industry is about five years behind the rest of the software industry, at least when it comes to new tools and development techniques. Sure, games drive adoption of new hardware, new interfaces, and interesting new ideas (cel shading!), but consider when the bulk of new development moved from assembler to slightly-higher level languages. It hasn’t been that long.
The past couple of years have been promising in the rest of the industry. If you follow trends, you know that automated testing, refactoring, and agility keep moving into the mainstream. IDE support for the popular refactorings? People who understand what I mean when I say “story card”? That’s wonderful!
Occasionally, there are flashes of hope in game development. The move toward more powerful scripting languages is nice, especially as developers say “We hope to move more game logic into the scripting language, because it helps mod makers.” That’s maintainability, of a sort. Some people are even using good languages such as Ruby and Python instead of inventing their own little languages.
I’ll take it. (When Parrot arrives, I’ll start banging the drum for embedding that and building a little dynamic language on top. Try THAT with the JVM or the CLR.)
One thing the game developers have been doing well in the past few years is writing up postmortems, though the name should indicate that something’s up. The next trick is to say, “You know, everyone’s having trouble with managing change. Everyone’s having trouble integrating. Everyone has trouble meeting deadlines. Maybe we should be doing something a little differently.”
Maybe Demachy’s an early adopter and it’ll be another three years before a significant chunk of projects start improving their development processes. I bet the agile projects start eating the industry’s lunch sooner, though, and I’m not talking about leftover pizza and caffeine at 2 am.
Care to confirm, deny, or clarify my thoughts? What’ll it take for game studios to adopt better development practices?