Video/audio from Mike Abrash's CGDC 1996 talk on programming id's Quake(gdconf.com)
gdconf.com
Video/audio from Mike Abrash's CGDC 1996 talk on programming id's Quake
http://www.gdconf.com/news/the_gdc_25_chronicles/the_gdc_25_chronicles_a_quake_.html
4 comments
A lot of the stuff is still in use - one of the best selling video games recently (and many others) are still using this tech to some degree (brushes, bsp, and csg).
The vast majority of the book is dedicated to optimizing Pentium-and-earlier processors as well as EGA/VGA programming modes, with a smaller but still significant chunk on software polygon rasterization. There is value in the bits on BSP and visibility, but it's probably only a third of the last ten (of 70) chapters. That said, there's probably more relevant worth in those bits than any Game Programming Gems books :).
Abrash is a great writer and, even if you skip the deep technical dives and code listings, the book is still worth reading.
Abrash is a great writer and, even if you skip the deep technical dives and code listings, the book is still worth reading.
This presentation is great in a historical context as well as still being technically relevant.
The mid-90's is the era that saw a broad transition in game programming from at-the-metal, low-level coding towards more algorithmically driven approaches, since the hardware had become beefy enough to allow the kinds of large datasets where algorithms matter more than constant factors. Abrash notes it himself - his VGA/DOS knowledge became meaningless within the span of 2 years.
One thing that is overlooked in all the emphasis on 3D rendering is that real-time strategy also developed in the same era as the first-person shooter. This isn't just because of mice, but because it was now feasible to do fast real-time pathfinding in games. Earlier, similar attempts at the genre suffer from playing sluggishly or avoiding any pathfinding.
Another 90's genre that came about because of hardware improvements is music games: CDs and memory for sample playback made it possible to play back high-quality audio tracks.
The mid-90's is the era that saw a broad transition in game programming from at-the-metal, low-level coding towards more algorithmically driven approaches, since the hardware had become beefy enough to allow the kinds of large datasets where algorithms matter more than constant factors. Abrash notes it himself - his VGA/DOS knowledge became meaningless within the span of 2 years.
One thing that is overlooked in all the emphasis on 3D rendering is that real-time strategy also developed in the same era as the first-person shooter. This isn't just because of mice, but because it was now feasible to do fast real-time pathfinding in games. Earlier, similar attempts at the genre suffer from playing sluggishly or avoiding any pathfinding.
Another 90's genre that came about because of hardware improvements is music games: CDs and memory for sample playback made it possible to play back high-quality audio tracks.
Because the book is essentially a series of collected magazine articles the section on Quake development will have one chapter that reads "hey, this is what we're going to do!" followed by "well, that didn't work, but this does!". One important aspect of post-mortems and development journals that I find is frequently missing is a detailed look at what didn't work technically and why, which it has in spades.
edit: The book is also available as a free download: http://www.drdobbs.com/high-performance-computing/184404919