Slashdot Mirror


Quake 3 Source Code Review

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

8 of 107 comments (clear)

  1. Re:I'm a dumbass- by mrchaotica · · Score: 5, Insightful

    "Start your engines; I can't wait?" Dude, this was released years and years ago. In fact, the guy in the article previously reviewed the Doom 3 source code (which is much newer) and just decided to go back and do this old engine for completeness' sake.

    Wikipedia has a list of games that already exist that are based on the GPL Quake 3 source. You need to crawl out from under your rock a little more often!

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  2. Yes, you are- by MrEricSir · · Score: 5, Insightful

    "But I can't help but revel in the growth and extension of public domain engines and assets by willing companies."

    Just so we're clear, Quake 3 and its source code are NOT in the public domain.

    --
    There's no -1 for "I don't get it."
    1. Re:Yes, you are- by Baloroth · · Score: 5, Informative

      Public domain? No. GPL? Yes, which is probably what the OP meant (and to be pedantic, it is the engine that is GPL, not the game as such).

      --
      "None can love freedom heartily, but good men; the rest love not freedom, but license." --John Milton
  3. The most insightful comment. Ever. by Anonymous Coward · · Score: 5, Funny

    You have just spouted utter nonsense, and have made a more valuable comment than most other people here.

  4. Re:I'm a dumbass- by santax · · Score: 4, Informative

    UDK is free for noncommercial and educational use. You may download a copy here. Licensing is required for commercial use, however. From their site ;)

  5. Re:I'm a dumbass- by santax · · Score: 4, Informative

    Read this: http://www.develop-online.net/news/37234/UDK-devs-making-75k-only-give-1-to-Epic In short, they take 25% if you sell the game, but only if your game makes more than 50.000. They also take into account the 30% that applestore of android take using their distribution platform. But if it's non-commercial, there is no $99 if I'm not mistaken. Btw, that $99, could the average indy develop an engine like this for it? I would say, nah.

  6. Re:I'm a dumbass- by gl4ss · · Score: 4, Informative

    "Also, you may want to produce a game that can run on a tablet or normal notebook, in which case the Unreal engine requirements disqualifies it."

    unreal engine isn't so bad on tablets... http://epicgames.com/infinityblade/

    it's a fine engine. what you render with it is what makes all the difference if it runs well or not.

    --
    world was created 5 seconds before this post as it is.
  7. Re:I'm a dumbass- by parlancex · · Score: 4, 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:

    • The special tools required to design curved surfaces need to be supported by the artist's tools and entire game toolchain, creating more work for artists and tool programmers
    • Quadratic bezier patches are one of the simplest types of curved surface but can still be difficult to work with. Certain shapes are hard to construct properly with them.
    • Lastly I'd say they've been kind of superseded by smooth / detail surfaces available through subdivision algorithms which can work on conventional geometry and conventional tools, and is supported on modern cards in hardware