Igniq.com Latest game news Our latest reviews Join our community forums Send us games news tips About this site

Carmack on Quake 3 source-code - 23.8.05

  Email to a friend



John CarmackAs was reported yesterday, the Quake 3 source-code has been released under the GNU General Public License. Already fans are starting to check it out an do some experiments of their own.

An interesting thread over on Slashdot, concerning the aging gaming engine sees id's own John Carmack onboard offering comments of his own.

Personally, I think the Q3 code is pretty clean on the whole. It was a commercial product done under time pressure, so it isn't a polished gem, but I consider it good.

Anyone working on the Q3 codebase today should just delete all the asm code and use the C implementations. Making a commercial game with fairly high end requirements go 10% faster is sometimes worth writing some asm code, but years later when the frame rate pressure is essentially gone, the asm code should just be dumped in the name of maintainability. All the comments in the world wouldn't change this decision a bit.

>But there's really little reason to use asm
>anymore, since the autovectorization in gcc is
>very nice.

I was pretty much with you until that point. I fully agree that there is little reason to use asm anymore (I haven't written any in years -- Jan Paul did all the SIMD work for Doom 3). Knowledge of asm is good to allow you to manipulate compiler output by changing your C++ code, but there isn't much call for writing it by hand.

However, autovectorization in gcc is a particularly bad argument against writing asm code. Scalar compiler code is much, much closer to hand codeed asm in performance than compiler generated SIMD code is. Optimized SIMD coding almost always requires significant transformations that compilers can't really do on their own.

The argument about inline asm hurting compiler optimizations is only true if you are trying to use short snippets of asm, which is generally a bad idea. Asm code that doesn't loop a lot isn't likely to contribute significantly to your performance, with the exception of things like ftol replacements.

John Carmack

Quake 3 Slashdot Thread

Related:
Quake 3 source-code unleashed under GNU
Quake 4 high-res screenshots
New Quake Wars Details Let Loose
Classic Doom on Doom 3 Engine
A Look At The Characters of Quake IV
Discussion >>

By Gary (Email: Gary at igniq dot com)  



Download a free trial of EVE Online

Lady Mainframe Machinima Gaming News in association with Igniq.com

Sponsored links:

Place a link here



 
 
Recently posted
Also from our network
TeevBlogger.com
MovieNode.com
Recent articles list


Copyright Igniq.com Site powered by Blogger.com RSS feeds powered by Feedburner As featured on GameTab RedTram News
Search System A member of VGamin Press Blogcritics.org As Featured on NewsNow