Finally - I’m back from GDC and have enough energy to actually write something.
The original plan was to blog live from every single session at GDC and keep you all up to date on the comings and goings in our industry. This didn’t happen for quite a few reasons - but one of the core problems was lack of wireless in the actual conference room.
Now that didn’t stop better bloggers than me, but it certainly kept me from posting all the time. So, instead, I’ll give a short summary of my experiences.
As usual, the best things happened outside the conference room - I had lots of interesting discussions about game development in general and the role tools play in it. I even managed to run into Cory Doctorow of BoingBoing fame - thanks to the charming Alice from Wonderland.
The conference itself was OK - it finally didn’t have the doom and gloom atmosphere of the last few years, but except for Microsoft’s presentation, it wasn’t all shiny happy people either. Everybody was very much focused on the tasks ahead, created by the console transition.
Let me add the caveat that I focused very much on tools only - a mistake, in the light of the absolutely fabulous (or so I’ve heard) presentations by Will Wright, Greg Costikyan, and other luminaries. And, of course, given my combination of bad luck and disdain for marketing, I missed the MS keynote - where they gave away about a 1000 HDTVs.
Coming back to tools, though, it proved to be a very valuable conference. Games are becoming really large. Unless we create the tools to manage that immense of data, we are most certainly doomed to cross the $20 million line for game development - Epic’s Tim Sweeney was one of the people who clearly realized that. And unless we expand into a much bigger market, this is not something that we can afford.
Another clearly visible trend is the impact that agile methodologies had. Everybody is talking about SCRUM and XP. Lots of people are actually (gasp!) writing unit tests for their code. The production track people started realizing that communication is the key to any healthy development cycle. (Unbelievable - we need to talk to each other? What an insight! )
On the technical side, reliance on databases is emerging. More and more development houses realize that the amount of data they are handling requires tools that are made to handle large amounts of data - i.e. databases. In a quick show of hands, about 50% of the tools developers at a round table where using a database (and many others plan to do so).
Yes, some still dream of makefiles and directories full of assets, but those days will be coming to an end. A quick look at the numbers reveals that current games have around 50,000 assets - up from around 10,000 for first-generation console titles.
Now if we even assume a modest increase of a factor of 4 (given that main-memory is up 4 times), we are looking at 200,000 assets. This is way beyond manual control. Unless we get assistance, we will drown in our own assets.
Of course, there were lots of other, smaller ideas and trends - but database based tools is where the game development industry is heading. We have to face it sooner or later - it’s not the programmers who make games, it’s the people who create the content. It’s our task as programmers to enable them to do the best they can do.
“Of course, there were lots of other, smaller ideas and trends - but database based tools is where the game development industry is heading. We have to face it sooner or later - it’s not the programmers who make games, it’s the people who create the content. It’s our task as programmers to enable them to do the best they can do.”
I am glad you just have clarified, by implication, that programmers are not people. I had this hunch for a while but… ok ok joking.. but that’s what is up there!
Anyhow, I find this in a way kind of sad as the games industry did start with programmers that had a knack for art or design, and told that computer to draw the pixels. We have become part of the pipeline. Though I believe in a certain company, game programmers still add polish/design choices at the very end.
OK. Fine. Nitpicker. I’m a foreigner, I’m entitled to funny constructs in my english
We had to become part of the pipeline, since everybody is specializing. The skill sets necessary for each facet of game development are too difficult to master them all - at least for most of us.
Game programmers still polish, yes - but the majority of the content is not theirs any more. It’s just data passing through their lovingly crafted routines.
Man, every time I read about agile development being used in games, I kind of smile. I thought I had really discovered something on my own when I declared we were going to use “agile development” for our project (Raist can testify for me). People gave me the “OK, crazy man” shrug for a short while… until it started producing results. I guess other people in the industry caught on.
I never could get the unit test flow to work across the whole team despite spending some effort to make it as easy as possible- I wrapped CppUnit and the build system would automatically build and run tests it found.
My biggest problem with the unit-testing is - it’s becoming a pain in the neck. This is partially due to the fact that we have mixed .NET and native code. But even though - 30 seconds to rebuild the tests is long enough to at least move you away from TDD.
They’re still classical unit tests, but TDD doesn’t work well enough for me. Any hints/suggestions?