Quake 3 Source Code Review 107
An anonymous reader writes "id Software has a history of releasing the source code for their older games under the GPL. Coder Fabien Sanglard has been taking it upon himself to go through each of these releases, analyze the source code, and post a detailed write-up about it. He's now completed a review of the Quake 3 source code, diving into the details of idTech3. It's an interesting read — he says he was impressed in particular by 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.'"
I'm a dumbass- (Score:2, Interesting)
Re:I'm a dumbass- (Score:4, Interesting)
I still see a lot of value in Q3 based projects. They really look good enough(for me), and I hear good things about the netcode.
Literally yesterday, I was looking at a bridge in Lord of the Rings Online (which is quite pretty otherwise), and thought to myself : Why isn't it curved?
It seems the fashion with engines now is to drop curved edges - I'm not sure why. They look so much better, and have been around for ages. Quake 3 did these brilliantly, and when it came out, I thought that would be the end of crappy lumpy bridges, etc. No such luck, they're still with us, over a decade later.
Anyone with knowledge of this issue, and why they're still about?
Re:What's the point of this system? (Score:4, Interesting)
I wrote this very comment *because* I read that article.
Re:I'm a dumbass- (Score:5, Interesting)
Q3 engine's curved surfaces are actually quadratic bezier spline patches (9 control points per patch). The patches had to be designed with special tools in an editor and were tessellated at runtime to an appropriate detail level based on the computer's graphics settings. The engine did not support any kind of collision detection with these surfaces so they had to be enveloped in invisible brushes to appease the BSP system for collision and culling.
While they were interesting at the time the reasons nobody really does this anymore are probably: