As expected, the GDC night was a long one so I decided to skip the first slot of the second day and went straight for IllFonic‘s CryEngine 3 talk. I was hoping for some interesting war-stories, and at the least the first part didn’t disappoint me. IllFonic went out to develop an updated version of Nexuiz, a first-person shooter originally based on the GPL-ed Quake 1 source code. They decided for their first version to take the updated Quake 1 renderer and beef it up even more to make their game. Soon they found out that the radiosity process in Quake 1 takes a lot of time and that QRadiant is not that user-friendly any more. The managed to get a single level running, but the iteration time for light changes was somewhere around 14 hours. As we learned yesterday, iteration time is important, so it’s no surprise they get frustrated quickly with the Q1 engine and started looking for something different.
Short rant: At this point, I wonder what kind of R&D game developers do before deciding for an engine or other piece of technology. If iteration times are important, using a 10-year-old radiosity solver is of course not right, and my feeling is that any friendly graphics researcher could have told you that right away.
Anyway, they somehow got a CryEngine 3 license and are pretty happy with it, showcasing some of the nice editing features of CE3. I wonder what the licensing deal looks like, as IllFonic is a 6-man studio. I assume Crytek went for a royalty-based licensing deal to get those guys started quickly, similar to the UDK license. The presentation went deep into editor features and stuff at this point.
Time for another rant: Being a researcher, I’m mostly interested in technical details and “hard facts”, and for some reason or another lots of talks start with the “I’m not going too much into technical details …” even though this is supposed to be the game developer conference. The Slant Six games talk was a welcome exception, which even mentioned which particular tools they used and some alternatives they have evaluated. Of course I don’t expect every talk to describe the shader optimisations they did or other low-level stuff, but I’m still curious to hear what implementation hurdles people are encountering (is your bake time too long? Do you have problems validating your art? Configuration space computation taking days?) and not just extremely general high-level “art integration is a problem” statements.
After lunch, I went to Epic Games’ Mike Capps’ keynote “Size doesn’t matter”. A very refreshing and entertaining look at the history of Epic Games and their game development attitude. I especially liked how they have identified key events in the company history (“Epic Events”) and their influence on various strategic decisions. Among other things, they also mentioned that the Unreal Engine 4 is well under development. A friend of mine (graphics researcher turned game dev pro) and me concluded that this is a strong sign that UE4 is going to be similar to Frostbite 2; what leaves me curious is on what compute API they are betting on. Doing compute-based graphics is clearly the future, but the compute part is still very much fluctuating and unstable. They also mentioned that Epic Games has 5 titles in development, so I guess there is a bunch of mobile titles coming up as well.
Just after Mike’s talk, Mark Cerny presented a “Long view” on the game history. Truth to be told, I haven’t heard of Mark before this talk, but his list of credits is surely impressive and he can be only described as a real industry veteran. His talk started at arcade machines with some cool stories (no credits due to memory constraints, for instance) and continued all the way until the present day. An interesting analogy he mentioned is how arcade games went over the point where producing them was economical, showcasing similar developments in the current movie and game industry.
Three slots were still left, and I’ve picked “More firefighting troubled projects”. An interesting overview of various project management and publisher relationship issues and solutions.
Next up was “Crysis 2 Multiplayer: A programmer’s postmortem” for which I had some hope that it would be finally another technical talk with at least some nitty-gritty details. And I didn’t get disappointed. They described their automated testing procedures and lots of internal debugging tools. Among other things, they have manually instrumented the code to get a nice hierarchical profiling together with extensive logging, which allowed them to quickly fix spikes in the frame rate. The other cool tool instrumented all writes in the code using GCC magic so they could track all memory overwrites. Basically they have some large buffer for all threads and store the program counter, the address and the memory contents for each write (I assume for each write through pointer.) During the game, writes should be rather spurious, so a relatively short list of the last million writes turned out to be helpful for debugging. Cool stuff for sure. I asked about visual testing to identify cases where the graphics just got plain broken, but that hasn’t been implemented yet. A good talk overall, make sure to grab the slides from the Crytek page once they are live.
The last talk I briefly attended before the party night was Cevat Yerli’s keynote on AAA online game development. The key takeaway from this for me was the cultural differences he mentioned and how games are consumed eastern countries, for instance in Korea. Sounds like a very challenging environment for games. He also said that he assumes that free to play is the future for all games. I sure hope that there is still some market for large single-player titles with good story, as I’m not looking forward to a future where each game is going to be consumed piecewise. Free to play makes a lot of people in the game industry really nervous now and I’m convinced that there must be other solutions between retail and free to play which haven’t been explored yet.
Tomorrow, there’s much less going on, so I’m going to spend some quality time on the gamescom and check out a bunch of games. If anyone is interested to meet, DM me on twitter.