Slashdot Mirror


Quake 2 Source Code Released Under The GPL

Masem (and many others) writes: "The source code for Quake 2 is now available until the GPL license. The .plan file for John Carmack has the details." The Id Software site is of course slammed with demand for the code. Hopefully other mirrors will be available.

29 of 371 comments (clear)

  1. /.ing by Anonymous Coward · · Score: 0, Informative

    Welcome to id Software's Finger Service V1.5!

    Name: John Carmack
    Email: johnc@idsoftware.com
    Description: Programmer
    Project:
    Last Updated: 12/21/2001 19:07:50 (Central Standard Time)
    --
    December 21, 2001
    -----------------
    The Quake 2 source code is now available for download, licensed under the GPL.

    ftp://ftp.idsoftware.com/idstuff/source/quake2.z ip

    As with previous source code releases, the game data remains under the
    original copyright and license, and cannot be freely distributed. If you
    create a true total conversion, you can give (or sell) a complete package
    away, as long as you abide by the GPL source code license. If your projects
    use the original Quake 2 media, the media must come from a normal, purchased
    copy of the game.

    I'm sure I will catch some flack about increased cheating after the source
    release, but there are plenty of Q2 cheats already out there, so you are
    already in the position of having to trust the other players to a degree. The
    problem is really only solvable by relying on the community to police itself,
    because it is a fundamentally unwinnable technical battle to make a completely
    cheat proof game of this type. Play with your friends.

  2. mirror by dsmey · · Score: 1, Informative

    http://expert.cc.purdue.edu/~meyerds/quake2.zip

  3. Merry Christmas to all Programmers by Hangtime · · Score: 5, Informative

    I admit, I'm not a good programmer. I am a code monkey who is working to be a good programmer. One of the ways you become one is looking at good code. I have peaked at both Doom and Quake to just see what goes on in the head of one of the best programmers in the world. In doing so I have picked a few pointers without even realizing it until I did it. So thanks Mr. Carmack, you have given me a Christmas present, the gift of better programming.

  4. I have the source by thekernel32 · · Score: 5, Informative

    Go to my box at linuxhost.ccand you can download the quake2.zip file containing the source.

    I got it before the slashdot story hit...

  5. And its now in cvs by _generica · · Score: 5, Informative

    You can find the code in the quakeforge cvs:

    cvs -d :pserver:anonymous@cvs.quakeforge.net:/cvsroot/qua ke login (just hit enter)

    cvs -d :pserver:anonymous@cvs.quakeforge.net:/cvsroot/qua ke co quake2

  6. um, ok posted it to edonkey as a mirror :) by linzeal · · Score: 4, Informative
    quake2.zip

    If you don't already have Edonkey its got linux clients as well. :)

  7. Re:Wow, already!? by hexix · · Score: 4, Informative

    heh, actually I think you still do. Doesn't ID just open the source code to the 3D engines but keep the levels only available by buying the game. I thought that was the deal.

  8. QuakeSrc.org - shameless plug. by Ndr_Amigo · · Score: 5, Informative

    Ever since the Quake1 source release two years ago, a lot of intresting (and a lot of unintresting mind you) ports of the Quake engine have shown up. www.quakesrc.org reports on these new engines, as well as hosting some projects and a large set of tutorials. If anyone is intrested in coding off a quake-based engine, this is a good place to start. No Quake2 content yet, but give it a few days... www.open-quake.com is also a good site reporting on news in the Quake engine scene. End plug :)

  9. Re:Lint by Oily+Tuna · · Score: 5, Informative

    To be fair, if you drop the warning level back down to 3 (the VC default) you get

    quake2.exe - 0 error(s), 8 warning(s)

    lots of level 4 warnings occur in Microsoft's own headers (yes ... I think this is crap, it makes warning level 4 useless. MS - fix your SDK!)

    --
    Mmmmmmm ... sushi.
  10. Re:hmmm by Anonymous Coward · · Score: 1, Informative

    The game paks cannot be freely redistributed at all. Your solution would be breaking the law.

  11. actually, you can probably even do that by markj02 · · Score: 2, Informative

    I don't think the GPL would require you to share media that are associated with the engine, since the GPL only talks about source code and linking. So, if you want to create a commercial game that people can't distribute freely based on the Quake2 engine, you can probably even do that.

  12. Re:hmmm by Anonymous Coward · · Score: 1, Informative

    There are mods that do use their own textures and game media that are freely distributable. Linux distros can use those mods.

  13. Re:Responsible and Generous by reidbold · · Score: 2, Informative

    Read the .plan before you flame. If you create a true total conversion, you can give (or sell) a complete package away, as long as you abide by the GPL source code license.

    --
    -Reid
  14. Yet another mirror... by matt-fu · · Score: 2, Informative

    http://matt.fluxcapacitor.net/quake2.zip

  15. Re:Really A great Thing by Wild+Wizard · · Score: 2, Informative

    err no they where polygon based hence the big differance in gameplay between doom and quake.
    doom had sprites whish were fast and you could have lots of monsters which was cool
    where as quake had to calculate all these polygons for each and every monster
    which meant they had to cut back on the number of monsters you would encounter in a level which made the game pretty crummy to play in comparision

  16. q2 source and q3 mods by Anonymous Coward · · Score: 2, Informative

    this should definatly help mods such as Reaction Quake3, which are ports of popular Quake2 mods such as Action Quake2. In order for them to be good ports, they had to recreate q2 physics. This was nearly impossible until now with the source code :).

    Of course, there are still games with quake2 and quake1 code (especially halflife, which is a quake1-based game with quake2 features). I wonder how id's licensing plans with companies like Valve (who made halflife/counterstrike), interfere with the opening of source code.

  17. Re:3.16 -vs- 3.20 by GiMP · · Score: 3, Informative

    I am pretty sure Zoid was working on Quake after 3.16, who has since left iD Software. I do not know any details, but this may be related to why the source is older..

    Doesn't matter much anyway, after it gets hacked for a month or two.. it will have the current bugs fixed, and of course a bunch of new ones to worry about :)

  18. Re:Actually, it's late. by mewsenews · · Score: 2, Informative

    You are right about the imbargo related to unreleased quake2-engine games, however, it seems to have become tradition to release the code around christmas time (perhaps as a gift), as this is when the Doom code, the Quake code, and now the Quake II code have been released (I'm not sure about Wolf3D's code release date)

  19. Hey, every other company in the world, take notes! by GrouchoMarx · · Score: 5, Informative

    THIS is how a company makes money producing Free Software. Don't, at least not at the beginning. I'm sure RMS would have my head for this, but it's the truth.

    Consumer-oriented retail software and GPL code are simply incompatble as a business model. If Id released the source for RtCW today, they wouldn't make a penny on their retail sales. Somone would get the source code, edit one line, stick it on an FTP server, and make it available to the world free (as in beer), and most people would get it from there. There would be no legal reason to stop them, and every financial reason for them to do so. That goes for any consumer-targeted application, game, utility, or whatever. You just can't make money with consumers that way. (Consumers aren't interested in "selling support". If they need you to support it, then it was a bad program to start with in their minds.)

    Now here comes Id. They develop excellent code, and sell it and license it commercially like any other company. Then, once they've made their money back with a nice comfortable profit and moved on to bigger and better things, they open source the code. They're not doing anything more with it, so why should they prevent others from enjoying it? It's the original idea behind copyright in the first place! Author(s) get limited monopoly for a limited time so that they can make a living producing content, then it goes to the public domain. (OK, that would be more BSD license than GPL, that's a minor issue.)

    For the FSF and its supporters, economics aren't the issue, it's all principle and philosophy and idealism. That's all well and good, I agree with their ideals for the most part. But idealism must be tempered by reality to produce pragmatism sometimes. The Id model is the best way I've seen to make money in the consumer space while still supporting Free Software / Open Source (take your pick).

    Unless someone else has a better suggestion on how to make money in the consumer space with FS/OS code (remember, after the cash register the consumer doesn't want to ever have to talk to you), we should all bug companies to follow Id's excellent example. If they balk at the "lost revenue", just show them Carmak's twin Lamborginis. ;-)

    --

    --GrouchoMarx
    Card-carrying member of the EFF, FSF, and ACLU. Are you?

  20. Re:3.16 -vs- 3.20 (spammish...) by XoXus · · Score: 2, Informative

    Here's some of the changelog entries from 3.19 and 3.20 that would be kinda important to compatibility and general goodness. Hmmm... and even if Zoid worked on Quake after 3.16, wouldn't that be considered work-for-hire, and thus the ownership of the code revert back to id software?

    - "Water surfing" that was present in 3.17 has been fixed (holding jump while
    on the surface of water let you swim at full speed).
    - Environment maps (env) are now autodownloaded (if allow_download_maps is set).
    - Spectator support added.
    - New server cvar: sv_airaccelerate. This controls the optional air
    acceleration facility. [esp. if you want QuakeWorld physics!]
    - Fixed the long standing Quake2 bug of where you would occasionally spawn
    or teleport and find yourself either looking straight at the ceiling or
    down at the floor.
    - ... flowing transparent textures now works. [in software renderer]
    - Fixed a case where a person joining a server could be invisible
    - Linux: Complete rewrite of the OpenGL library handling. [!!]
    - Railgun shots now go through gibs as well as other players.

    Most of them should be fixable by various people, but some might take a while (like the OpenGL rewriting). Also, I'm guessing that most of those bugs would be relatively obscure and could be tricky to fix (Carmack obviously didn't get it correct the first time, and he _wrote_ the damn thing!).

  21. Makefile fix -- compiling under linux by XoXus · · Score: 5, Informative

    Here's a patch to get the source to compile under linux -- Carmack forgot to use cl_newfx.c!

    http://members.optushome.com.au/davidsymonds/q2m ak efile.diff

  22. Re:Lint by Anonymous Coward · · Score: 1, Informative

    Ever write a cross-platform, cutting-edge 3D engine in 1997 and then try to compile it in late 2001? Luser. Anyways, it was originally built with VC5 IIRC -- not the most standards-compliant C compiler ever released...

  23. Re:free data files? by XoXus · · Score: 2, Informative

    http://www.google.com/search?q=%22Quake+2%22+TC

  24. fast mirror by siliconincdotnet · · Score: 2, Informative

    http://www.siliconinc.net/quake2.zip.

    Enjoy, and happy fragging.

    --
    Insert witty .sig here
  25. Re:Money and other problems by Ironpoint · · Score: 2, Informative

    >>First off, Carmack seems to release the source code after two other complete games come out. Q1 Source came out after Q3A hit the shelves, now Q2 after Return to Castle Wolfenstein.

    >>But don't forget, that if they released the source code when the game was being created, not only couldn't they make money on the license, but also other companies would be able to compete on the same level without paying a price for it.

    snip, snip

    To add to what you have said, I believe there were two factors for the timing of the release:

    1. Its Christmas

    2. With Anachronox's release, there were no more Quake 2 licensed games in production.

  26. Re:quake2.conf? by XoXus · · Score: 2, Informative
    Yeah, here's a hint:

    LoadLibrary("ref_softx.so") failed: can't open /etc/quake2.conf (required for location of ref libraries)

    It can't find /etc/quake2.conf, which tells it where to find the renderer modules. Stick a single line in that file (a path to the *.so files), and make it world readable.

  27. Re:optimization or beauty by Cryptnotic · · Score: 3, Informative

    Perhaps there used to be some other code there in a previous version that needed to be skipped over.

    By the way, the standard POSIX way of handling an interrupted system call is like this:

    again:
    status = select(....);
    if (errno == EINTR)
    goto again;

    Sometimes you don't want to screw around with a while loop.

    Another example is when searching for something:

    while (x) {
    for (i=0; iA; i++)
    for (j=0; jB; j++)
    for (k=0; kC; k++)
    if (something[i][j][k] == somethingelse)
    goto found_one;

    found_one:
    }

    The other way of doing it that I know is making an "int found=0;", then adding "&& (!found)" to each of those for loops and replacing the "goto" with a "found=1". But that's a pain in the ass. It's too much typing.

    Cryptnotic

    --
    My other first post is car post.
  28. Re:Responsible and Generous by HeUnique · · Score: 3, Informative

    Got a short memory, eh?

    Back then when Quake 3 was out for Linux, 3D graphics on Linux was laughable at best! there was barely any DRI implementation and there was XFree 3.3.6 (and no Xv extensions, no Xinerama, etc)

    John Carmack was among the guys who helped developed 3D drivers for Linux thanks to Matrox releasing specs. The trick that you had to do in order to reserve DMA with kernel booting... history...

    So he is more then just a game programmer, and he intend to help further when the next Doom will be out.

    --
    Hetz (Heunique)
  29. Re:Thanks by raduffy · · Score: 4, Informative

    3.21 Will be out soon, Timothee located it and repacked the zip. Should be up soon.

    robert...