id software frequently releases source code to their older titles under the GPL license. It’s a nice gesture of goodwill to the community and gives people an interesting look into how a high end game is created. While most people will just casually glance at the code, Fabien Sanglard digs into each and every release and gives insight into the architecture, graphics rendering, networking, and more. Yesterday he released his findings on the Quake 3 engine.
The analysis is an interesting look at how Quake 3 was written and how it functioned. The AI, for example, was brought in-house as opposed to using a third party solution. Unfortunately, that didn’t last as the in-house programmer did a poor job, so it was later outsourced to Jean-Paul Waveren, the creator of the initial two AIs.
Some of the more interesting tidbits that Sanglard identifies are:
- The virtual machines system and the associated toolchain that altogether account for 30% of the code released. Under this perspective idTech3 is a mini operating system providing system calls to three processes.
- The elegant network system based on snapshots and memory introspection.
Overall it’s a very detailed and interesting read. In addition to his own notes, he gives pointers to other books and references. Anybody who is interested in game development owes it to themselves to spend some time reading over not only his Quake 3 assessment, but also the many other reviews he’s done.
Source: Fabien Sanglard's website