Even though QuakeCon 2009 is over since quite some time, I just got around to watch the keynote a few days ago. At first it is a bit slow-going when Carmack starts how great the guys at Bethesda are, and other business stuff. Obviously, they are still quite free even though they have been bought, but the future will tell whether this deal is all that great as they talk about it at the moment.
There’s less technical stuff than usual in my opinion, especially no forward-looking stuff at all as Carmack didn’t have time for R&D yet. He still believes that voxel rendering is the way forward, and while I tend to agree with this somewhat, I don’t see at the moment how to make a game engine on a voxel renderer right now (and going hybrid with triangle and voxel rendering is an interesting problem). Besides this, he mentions that the virtual texture mapping stuff took quite a lot of time and it’s still not as usable as the artists would like it to be. The updates are still taking a bit too long, and by looking at their SIGGRAPH presentation this is obviously down to the fact that they use extreme compression and lots and lots of trickery to improve runtime performance, trading off edit time for it big-time. This is for example totally different from what Crytek does, where they try to minimise offline processing as much as possible (no precomputed lighting for example, while Rage uses a radiosity solution for all the outdoor lighting).
Near the end, he also talks a bit about threading game code and scripting languages. At id, they want to keep the game code single-threaded so that programming and debugging becomes easier, and move all computationally intense systems to threads (collision detection, etc.). What makes me wonder is that he says that they prefer C++ code over script code for easier debugging, which sounds kinda weird at best.
Another interesting tidbit: They use Oracle Enterprise as the database backend for Quake Live, and Carmack complains that this is extremely expensive, so that scaling by increasing the database cluster was out of question when they hit the first performance problems. Weird that they didn’t choose PostgreSQL, as I don’t see any advantage of using Oracle for this (after all, this is not a bank account system …). On the other hand, Oracle seems to be popular among game developers, as World of Warcraft is also likely running on Oracle (at least they always look for people with Oracle experience).
Production stuff & mobile division
Most of the talk focuses on production issues, which are interesting to hear for someone who is not working in a game company. For Rage, they really try to make sure that everything is working right — they spend a huge amount of time on tiny details, to make sure that the game is really polished.
A big chunk of the keynote is devoted to the mobile division at id. They seem to be re-use lots of their old games with pretty good success, and Carmack seems to like this small-scale development a lot. For the future, they are going to focus on the iPhone, which is a bit unfortunate in my opinion as very nice devices are coming out with Linux — the Nokia N900 for instance (in this particular case, running Maemo — a mobile Linux which I expect to be used broadly in the future).
Pretty interesting summary this year, if you want to watch it on your own, check out the video coverage on Quake Unity. No need to take the HD version though; could have been a pod-cast just as well.