
Quake 3 Source Code Review - mgevans
http://fabiensanglard.net/quake3/index.php
======
hello_asdf
I'm not really adding anything of value to this discussion, but I've always
loved reading his code reviews. I have an unshaken belief in the genius that
is John Carmack.

~~~
skrebbel
I genuinely doubt Carmack is the only competent coder at id. Some of the
really good ideas in here _might_ be made up by others!

------
AaronMT
Feels like yesterday that we (or at least some of us) we're all in awe with
the released 'Q3Test' published online in 1999.

~~~
rangibaby
Oh yeah. Flashback to the 90s: I got Q3Test with some magazine's cover CD and
had barely-56k internet at the time so couldn't play FPSes at home until CS
got popular, but that didn't matter - I was too busy wandering around the
included level with my jaw on the desk.

------
ehuss
For those who may not be familiar with id's titles, this is a code review of
the older idTech3 engine. He also recently published a code review for the
newer idTech4 (Doom 3): <http://fabiensanglard.net/doom3/index.php>

His amazing site includes code reviews for several other id software titles.

------
justin66
Brian Hook wrote up some notes on the q3 networking model a while back:
[http://trac.bookofhook.com/bookofhook/trac.cgi/wiki/Quake3Ne...](http://trac.bookofhook.com/bookofhook/trac.cgi/wiki/Quake3Networking)

There are a couple of additional items of interest in there.

------
ibrow
This is really very interesting stuff, and what a great site.

Are there any other resources out there that offer code reviews like this?
Reviewing others code really is a great way to improve your own.

------
Muzza
This might be OT, but that guy sure has some weird ideas about how to build a
website.

Why are the images lazy loaded? There are like ten small images per page. It
also doesn't revert to img tags in the absence of Javascript.

At one point on the first page he needs to show something with a fixed-width
font. This also requires Javascript, when obviously CSS should do.

~~~
hcles
Most people will visit the page, scroll down a screen or two and leave it
since they're not game programmers.

So, just speculating, he's no stranger to bandwidth spikes so perhaps the
approach employed significantly saves on bandwidth during these periods,
ultimately whether it's a conscious attempt to save or just a webdev quirk I
don't know.

~~~
fabiensanglard
You got it. I implemented lazy-loading for the precise case you described:
Save bandwidth from people that don't want to read the full article.

I tested it on Chrome, FireFox and Safari: I did not find it annoying....but
maybe it is because I tried to put myself in the shoes of someone ready slowly
and I have a DSL bandwidth...

~~~
azsromej
Thanks for publishing these code reviews; it's fun to load up the projects and
jump from file to file on a guided tour

