Hacker News new | ask | show | jobs
Quake 3 Source Code Review (fabiensanglard.net)
120 points by mgevans 5105 days ago
6 comments

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.
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!
Feels like yesterday that we (or at least some of us) we're all in awe with the released 'Q3Test' published online in 1999.
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.
i was downloading the test with my 33.6k modem. back then, in germany, flatrates where not yet common, so i did not want to fall in the trap and waste alot of money playing online. i remember that some phone provider was having a "free internet" day (you could dial in for free if you where able to get one of the limited spots) and i was up 5 in the morning before school to play a free round of quake 3 test... good times.
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.

Brian Hook wrote up some notes on the q3 networking model a while back: http://trac.bookofhook.com/bookofhook/trac.cgi/wiki/Quake3Ne...

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

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.

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.

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.

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...

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