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

5 of 107 comments (clear)

  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
  2. 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 ;)

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

  4. 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.
  5. Re:What's the point of this system? by purpledinoz · · Score: 3, Informative

    Apparently, he got around this by compiling the bytecode to x86 code on the fly:

    Moreover their design is much more elaborated: They combine the security/portability of Quake1 Virtual Machine with the high performances of Quake2's native DLLs. This is achieved by compiling the bytecode to x86 instruction on the fly.

    And here's the evolution of this:

    Trivia : The virtual machine was initially supposed to be a plain bytecode interpreter but performances were disappointing so the development team wrote a runtime x86 compiler. According to the .plan from Aug 16, 1999 this was done in one day.