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.

212 of 371 comments (clear)

  1. Really A great Thing by peripatetic_bum · · Score: 3, Insightful

    You have to hand to Carmack to be a real good guy.

    Sure he cant show you everything he's doing right now,

    but by releasing, under GPL, the source code,

    I think he letting people really learn how a true master

    programs.

    This is just a Good Thing

    --

    Sigs are dangerous coy things

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

    2. Re:Really A great Thing by sketerpot · · Score: 1
      Yes, good graphics and stuff are a huge part of what makes games good. A very relevant article would be Playing the Open Source Game, in which Shawn Hargreaves talks about Open Source, game development, and how the game engine is just a part of the game.

      I still think that a good game engine can make plenty of difference. Compare Nethack to Diablo, and think how much better Diablo could be.

  2. Gotta love Carmack by I-man · · Score: 3, Insightful

    This, among many other reasons, is why I admire John Carmack.

    Some may grumble that he only releases old products, no longer commercially valuable, in this fashion. To that I say "shush!". I for one look forward to browsing through the code of such a lovely 3D engine. The learning opportunity alone is grand, to say nothing of what will be done with the code now that it's out there.

    Thank you, John.

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

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

    1. Re:Mirror by tunah · · Score: 1
      I hate DNS.

      Better (maybe)

      (Check those URLs!)

      --
      Free Java games for your phone: Tontie, Sokoban
    2. Re:mirror by XoXus · · Score: 1

      No, it's not there anymore (if it was there at all...).

    3. Re:mirror by dsmey · · Score: 1

      Purdue was probably gonna have a fit. I deleted it about an hour after it was posted. Sorry!

  4. Responsible and Generous by DarkZero · · Score: 5, Insightful

    id Software, as always, is being responsible and generous to its fans. Instead of keeping its source code under wraps until the game is released to the public domain by copyright law some time in the year NEVER, id Software has decided to release the source code for a game that it is no longer using so that the fans may tinker with it and learn from it.

    If any of the people from id Software are reading this (which there is a chance of): Thank you. You rock.

    1. Re:Responsible and Generous by MindStalker · · Score: 2, Insightful

      Yawn, if you want to create a closed source game, I'm SURE Id software would license you a copy just for that. Ungrateful bastard.

    2. Re:Responsible and Generous by ndogg · · Score: 1

      Perhaps, but is it worse than not releasing it at all?

      --
      // file: mice.h
      #include "frickin_lasers.h"
    3. Re:Responsible and Generous by Yottabyte84 · · Score: 1

      GPL is in some ways better then public domain. Publishers aren't too hot for it, but it's great for the users. They can tweak it, make totaly new games that borrow code, etc, all of which will also be avaible for free. GPL is 'By users, for users'

    4. Re:Responsible and Generous by reaper20 · · Score: 1, Offtopic

      Agreed .... that is why he is The Carmack ...

      Funny how even today, Q3A is still the standard for 3D gaming. Carmack's code is clean, easily portable, and scales well. You could be benchmarking Q3A 10 years from now, and I think it would still be viable. Pure gold ... the standard bearer for OpenGL ... Sometimes I think it's a "waste" that he's spoiling those talents on video games (as much as I love them). Imagine 100% of his effort going to KDE/GNOME/Xfree or the kernel.

      You da man, John.

    5. 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
    6. Re:Responsible and Generous by dimator · · Score: 1, Offtopic

      I'm not too big into PC FPS games; I haven't got the time to get good at them, and getting my ass handed to me in the mean time really sucks. Playing iD games is still fun though, if not only to study their designs and principles, on the cutting edge of the art form which is video games. I plan to show my support to a company that kicks as much ass as they do by continuing to buy their titles.

      --
      python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
    7. 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)
    8. Re:Responsible and Generous by Cuthalion · · Score: 4, Insightful

      I frequently run into it on here, but the notion that programmers are a fungible and reallocatable resource is distasteful and wrong.

      Programmers who are good at a particular task are good at it because they like it and they understand it well. I'm sure that John Carmack could do a perfectly fine job at writing a GUI or the kernel or improving mozilla or whatever, but if he excells at writing 3d engines, and that's what he wants to do who is any of us to say otherwise. I say we're lucky that his talent and interests are aligned such that we can enjoy them at all! Think of all the people who are like John Carmack but instead of writing 3d games write code that is of no interest to anyone but themselves (this is fine too).

      At least you didn't make the claim that open source development is 'wasting its time' with two competing projects. That one REALLY pisses me off.

      --
      Trees can't go dancing
      So do them a big favor
      Pretend dancing stinks!
    9. Re:Responsible and Generous by Marczak · · Score: 1

      ...or cancer research!

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

    1. Re:Merry Christmas to all Programmers by Hangtime · · Score: 3, Funny

      If showing genuine appreciation is considered in that context, I guess then I do fellate everyone who goes out of their way to do something nice. Merry Christmas...even to the ACs.

    2. Re:Merry Christmas to all Programmers by geekster · · Score: 1

      And that's bad exactly how?

    3. Re:Merry Christmas to all Programmers by tshak · · Score: 5, Funny

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

      And this, sir, is how we get Memory Leaks.

      --

      There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
    4. Re:Merry Christmas to all Programmers by Torak- · · Score: 1

      Yeah, I'm sure he's all cut up about that fact too.

    5. Re:Merry Christmas to all Programmers by oznet · · Score: 1

      LOL... I love how all these posts get -1 "Troll".

      Um, saying that the code isn't that great a design is somehow sacrilege against the "infallible" Carmack? Gimme a break. Yes, we love his game (I do anyway) but that doesn't make the code any cleaner. As mentioned is other posts, sometimes you have to do what works for game development. Sometimes that means not so clean code, period.

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

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

  8. 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. :)

  9. Cheating. by Oily+Tuna · · Score: 5, Insightful

    ID software are totally correct about the cheating aspects of releasing the code.

    There will always be people who try to cheat, and some who succeed. Releasing the source makes it significantly easier to make a cheating client.

    However,

    i) The benefits of having the source to an extremely successful games outweighs the disadvantages of increased cheating (unless you're a victim of the cheating ... try a lan party instead of the internet next time).

    ii) By seeing what the cheats come up with, perhaps the next generation of client-server games will have better cheat avoidance in the server and/or the protocol - we can learn from past mistakes or oversights.

    --
    Mmmmmmm ... sushi.
    1. Re:Cheating. by IdentityCrisis · · Score: 1

      And ofcourse, by releasing the source code, the community can patch out cheats themselves.

    2. Re:Cheating. by dstone · · Score: 2

      By seeing what the cheats come up with, perhaps the next generation of client-server games will have better cheat avoidance

      Yes, especially if the cheat coders release their cheats as Open Source also. ;-)

      Hey now, if a cheat applied to GPL'ed source doesn't follow the GPL itself, we can just sue all the cheat coders out of existence! Perfect.

      Free The Cheats!

    3. Re:Cheating. by cmbofh · · Score: 1

      But only if the cheat code is published! Otherwise these rules don't apply :-( Yes, I took the parent comment too seriously :-)

    4. Re:Cheating. by Lostman · · Score: 2

      This was a problem we had when the Quake1 and Quakeworld source code was released.

      A "group" released the cheat "Quake World Radar Edition" that put autoaim and a radar into a standard client. It was done actually very nce. They released no source code for anything that they did.

      It was even "better" when, a year later, that same group came forward and told everyone "Hey, remember that QWRE we put out? It was trojaned. It has been reporting your ip, name, (other info), and even your WINDOWS CD KEY to us!" -- and they released logs to prove that it was true (pas the cdkey).

      Hmm.. it was a huge uproar because EVERYONE and their mother demanded the source code for this from them.

      This let me know something in particular... while the GPL "should" be valid -- it can ONLY be enforced by the copyright owner. Lemme tell you: Carmack didn't feel it was necessary to go after these people.

      Anyways. . . you say that you can get the cheats from them and fix them. I am guessing thats not true. They will have closed source cheats that somehow make it around the net, and if you are lucky enough to find out who made it they will say "We wont give you the source code" or (my favorite) "we GAVE the source code out. Its not OUR fault that the people YOU got it from didnt give it to you" -- and since it would be snaking its way across the net who can be sure that it wasnt true?

      Ah well, huh?

      (And I am sure I stated SOMETHING wrong with the GPL and people are going to say "nuh-uh" -- thats fine. End of the matter is that cheat mods for these games will be closed source.. that just wont change...)

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

  11. Re:Wow, already!? by VALinux · · Score: 1, Flamebait
    Now at least I don't have to have a pirated version of QII (*cough*).

    Yes you do, you walking talking dick. As Carmack mentions in his plan, only the engine is GPL, the game-specific data (skins, maps, sounds) are still copyrighted.

    Do you have any idea how much of a dick you look like? "This is great, I like Quake II so much more than Quake or Quake 3. Now that Carmack is giving it away, I don't have to feel guilty about stealing it from him." Way to support the community, piece of shit.

  12. doh! by llamalicious · · Score: 1

    now I have to learn C, so I can write 3.21, so I can keep my quake2 server from being hacked! :)

    Merry Christmas to me!

    1. Re:doh! by Jarred+Capellman · · Score: 1

      You could just change the protocol number and only hand out the client programs with the protocol change but then you'd be limited to the number of users on your server.

      Another way would be to pass several variables between the server and the client, like the health, armor, etc so that the server controls the amount of health, armor,etc.

  13. Good, a distraction! by Some+Dumbass... · · Score: 5, Funny

    While everyone's busy downloading the Quake II source code, maybe I can mange to download kernel 2.4.17!

  14. Lint by Oily+Tuna · · Score: 4, Interesting

    Someone needs a copy of Lint

    gamex86.dll - 0 error(s), 332 warning(s)

    Flamebait maybe - but if a build of my project generated 332 warnings I'd be fired.

    --
    Mmmmmmm ... sushi.
    1. Re:Lint by Anonymous+DWord · · Score: 5, Funny

      Not if a build of your project sold 20 gazillion copies, you wouldn't. ;-)

      --
      "If he thinks he can hide and run from the United States and our allies, he's sorely mistaken." Bush on bin Laden
    2. 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.
    3. 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...

    4. Re:Lint by Ironpoint · · Score: 1

      Go to options, change your warning level back down to "Level 3 - Mere Mortal Warning Level." Later you can lament how your more l33t than iD.

    5. Re:Lint by cheezit · · Score: 1

      I have warning phobia but MS makes it really tough for me to have warning-free code. Here's what I have to do to get vanilla (and very legal) STL code to compile without L3 warnings under VC6:

      #pragma warning(disable:4786)

      Blech!!!

      --
      Premature optimization is the root of all evil
  15. 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 :)

  16. This matters little by MSBob · · Score: 2
    I'm gonna be pissing on the parade here but this GPL release is not going to change the state of linux gaming. Currently the biggest issue with linux gaming is a lack of easily configurable 3D which translates to a lack of decent 3D games.

    Don't get me wrong I appreciate this Christmas gift from ID as much as the next nerd but I doubt this will have much of an effect on Open Source gaming as a whole.... But it's cool nonetheless :)

    Thank you IdSoftware.

    --
    Your pizza just the way you ought to have it.
    1. Re:This matters little by juju2112 · · Score: 1

      Perhaps some enterprising programmer will take the Quake 3 engine and make it more easily configurable?

    2. Re:This matters little by juju2112 · · Score: 1

      Doh! I meant to say 'Quake 2'. Preview is now my friend...

    3. Re:This matters little by jslag · · Score: 2, Insightful
      I'm gonna be pissing on the parade here but this GPL release is not going to change the state of linux gaming.


      Probably won't end world hunger either. So? Let's appreciate what JC does, not complain that he doesn't solve all our problems for us.

    4. Re:This matters little by entrigant · · Score: 2, Insightful

      I'm gonna be pissing on your parade here too, but I honestly don't think the intention was to change the state of linux gaming. Believe it or not Quake2 isn't a Linux only game. This also might surprise you, but it's been out for a while too... What you just said would be like saying releasing the doom source was for the purpose of improving linux gaming. That wasn't the idea.

    5. Re:This matters little by D2Deek · · Score: 1
      Perhaps some enterprising programmer will take the Quake 3 engine and make it more easily configurable?

      You bet your ass. Over at QuakeForge, we've already got a tree for it up and running. Look for more stability, among other things, to come from this.

      Oh, we'll be porting code from our own source to the Quake II codebase, and vice versa -- so some really neat things will be happening because of this. Thanks, John!

    6. Re:This matters little by Qbertino · · Score: 1

      >Currently the biggest issue with linux gaming is a
      >lack of easily configurable 3D which translates to
      >a lack of decent 3D games.

      I've got 'Descent 3' in 3D for Linux. It run's great. And you can't get any more of that on other plattforms. Wokawoka, hehehe!

      (Sorry, couldn't resist)

      --
      We suffer more in our imagination than in reality. - Seneca
    7. Re:This matters little by jedidiah · · Score: 1

      This is simple FUD. Easily configurable 3D has been available for some months now. The most bleeding edge cards might not be supported in a timely fashion but that's an entirely different problem.

      Once the support is there, the like of Mandrake make sure that it's easy to exploit.

      --
      A Pirate and a Puritan look the same on a balance sheet.
  17. Re:/.ing by MindStalker · · Score: 1

    Well I know that so far palantine is keeping CS servers cheat free now, and doing a damn good job at it, just hope it can stay that way.

  18. Mirror by tunah · · Score: 1
    --
    Free Java games for your phone: Tontie, Sokoban
  19. Re:Wow, already!? by Magila · · Score: 2, Insightful

    but crappy multiplayer.

    Huh? Quake more than any other game defined FPS multiplayer as we know it today. Yeah it only came with strait DM out of the box but that on it's own was a big deal back then. And then came the mods. CTF? Team Fortress? Rocket Arena? all created during the golden age of Quake mods. Quake is still considered by many to be the finest multiplayer FPS ever. The fact that you make such a comment makes me doubt you ever seriously played Quake online.

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

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

  21. Re:No thanks, John. by xanadu-xtroot.com · · Score: 4, Insightful

    I think that if he really should deserve reverance, he should release the source *as it happens*.

    You haven't had your labotamy re-done lately, right? You imply that someone that is trying to make a $ should release everything they type for free?

    When was the last time M$ released the source for M$ Golf? Oh, wait, they never did. OK, well, when was the last time SquareSoft released the souse for the FF seires. Oh wait, they never did. Hmmm...

    Seems like Mr. Carmack is onto something...

    Wake up, man.

    --
    I'm not a prophet or a stone-age man,
    I'm just a mortal with potential of a super man.
  22. Re:No thanks, John. by havaloc · · Score: 1

    You know, he didn't have to release anything at all. I get a little angry when people aren't greatful for what they have and can get.

  23. Yo John C, I know you're here. by eAndroid · · Score: 1

    Thanks bro, you and your cronies rock.

    I know you're here, and will read this if it doesn't get modded to hell.

    Thanks, John. Thanks for Castle Wolfenstien which I had to sneak onto the computer without my parents noticing. Thanks for the Dooms which wasted too much of my time (but still, not enough). Thanks for Quake II that destroyed some of my University grades. And especially thanks for the cool Quake 3 tin that the Linux version came in.

    --

    I can't spell or type, but that doesn't mean I'm unusually stupid.
  24. Money and other problems by DragonMagic · · Score: 5, Insightful

    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.

    Carmack gets paid for his programming skills, but you're arguing that he should get paid to program *everyone's* game, including his competitor, from one company. All the other companies could release their own Quake 3 Arena clones and make money, without even bothering to do anything with the programming.

    And don't forget, that when Q3A sold for $40+, id didn't get all $40. It goes from id, to Activision, to the distributor, sometimes to the wholesaler or direct to the big name store, and then possibly to a smaller store. By then, after the expenses of doing the packaging and the duplication, you're talking only a couple dollars profit per game direct to id... Split that among their, what, twelve workers now in the proper ratios, and that's not that much. Less than a dollar each, probably.

    Even multiplied by a few million, that's not that much money to pay those huge salaries. How do they make it up? Licensing.

    With licensing, there is *no* middleman. It's a contract between id and the company licensing the engine. In the end, it's probably a larger chunk of change than a first month's release returns.

    And secondly, you have to remember, as with Carmack's .plan update, that when you release the full code, people *will* find the ways they can use to cheat. They can modify the source for themselves, recompile the engine, and have it work for them. Therefore, the rampant cheats would cause multiplayer to go to pot upon release.

    No, what Carmack does is *more* than enough, and these are the factors not only he, but id and other people who can understand the business, realize, and have to protect not only themselves, but their consumers, from these problems.

    --

    Human nature is the same everywhere; the modes only are different. -- Earl of Chesterfield
    1. 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.

  25. Re:Wow, already!? by Jahf · · Score: 1

    Actually, Quake did have pretty crappy net play. QuakeWorld fixed it (and I would agree was a complete and total gem). So in this case you could both be correct.

    --
    It is more productive to voice thoughtful opinions (reply) than to judge (moderate) others.
  26. Re:No thanks, John. by Anonymous Coward · · Score: 4, Insightful
    The problem is, as an academic exercise, it goes against nearly all the "rules" of having others learn about your code. It was once a lovely 3D engine, now it's akin to releasing the hardware schematics for the TI-99/4A.
    huh? the existance of quake 3 takes nothing from the value of quake 2. it's still the same game. it's still the same code. if there is something you don't know that's in the quake 2 code, then there is something you can learn from the quake 2 code. if there is something in the quake 3 code that you don't know, well, that's why carmack is writing it, instead of you, and that's why he gets to drive the (forward-reference) expensive cars you mention.
    If you're going to release the source, why not go whole hog? They already have copyrights stemming back many years.
    the only semi-sound business models that include open-source code involve profiting from support of that code. that business model simply doesn't work in the context of games for consumers. and without a sound business model, there would be no quake, q2, or q3, as the company would've gone bankrupt with doom.
    I think that if he really should deserve reverance, he should release the source *as it happens*.
    i doubt he's after reverance. and it's not reverence that's being expressed in this forum, it's appreciation.
    There is such a small percentage of the population that would actually download and compile the source for Quake 3 Arena. If the copyright laws stand, he could release the code under a heavily-modified GPL (say, the idPL) and basically state you can use the engine, just not the artwork. Those who would argue that they make significant money off licensing the engine are fooling themselves. They are a multimillion dollar company, and every new Quake or Doom game nets them more millions. They're percentages for licensing revenue must be paltry.
    i don't think that the loss of licensing revenue would put them out of business. but increased competition in the marketplace from other companies that get a free (as in beer) engine and only have to pay some artists just might put them out of business.
    Carmack drives expensive cars that very few people can afford -- he could stand to give away the full source code at the time the game is released so that the academic world can study his graphic routines. As such for now, he only seems like the snob I once read about in an interview. Asked if he felt he learned anything from his teachers, he said, "Not much, because I was smarter than they were". Being a decent technological coder doesn't exempt you from hubris.
    so, your real problem with carmack is not that he doesn't give away his source as he writes it, but that he hasn't become a public servant after finding contentment in his expensive cars? or is your problem the fact that he's smart (or had dumb teachers)?
  27. Re:Wow, already!? by FyRE666 · · Score: 5, Funny

    Dude, if you lived next door to me and were playing Quake with the sound up, blasting through a subwoofer at 3AM, it wouldn't just be the game scaring the hell out of you...

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

    1. Re:actually, you can probably even do that by erikdalen · · Score: 1

      well, isn't that exactly what ID has done. both with doom, quake, wolfenstein and now with quake 2. so you still have to buy the game to play it. you only get the engine for free.

      --
      Erik Dalén
    2. Re:actually, you can probably even do that by MindStalker · · Score: 1

      Yes, but you probably couldn't include code to require cd-keys and such as if its open, it would be impossible to safeguard.

    3. Re:actually, you can probably even do that by markj02 · · Score: 1

      Sure you can: through the miracle of cryptography. Look at how UNIX passwords work. (The only reason we have shadow passwords is because people tend to choose weak passwords and because the crypt algorithm has gotten kind of weak, but neither of those are problems for game keys.)

    4. Re:actually, you can probably even do that by MindStalker · · Score: 2

      Then you'd have to encrypt the the content files you include, that would get icky, and slow the game down.

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

  30. Darn cool by Error27 · · Score: 2
    I would say something like, "I wish more game companies would open source their old games."

    But I can't say that because Quake II isn't that old yet.

    Instead I'll just say a big, "Thank you," to ID. It's darn, darn cool to open the source on this.

  31. CVS Repository by Bill+Currie · · Score: 1, Redundant
    The QuakeForge project has the quake2 source available in cvs. While we don't yet have any concrete plans (other than porting some of our q1 enhancements), I've already got the core building in linux.

    cvs -d :pserver:anonymous@cvs.quakeforge.net:/cvsroot/qua ke login (no password)
    cvs -d :pserver:anonymous@cvs.quakeforge.net:/cvsroot/qua ke co quake2

    --

    Bill - aka taniwha
    --
    Leave others their otherness. -- Aratak

  32. another mirror.. by rehabdoll · · Score: 1

    http://ftp.fragzone.se/index.php?s=&p=spel/pr/quak e2/source/

  33. first impressions... by markj02 · · Score: 4, Interesting
    Looks like nice, clean, readable C code. It's not all that large--175kloc. Memory management via functions wrapping malloc, using some kind of zone strategy. It's interesting that there don't seem to be that many complex data structures--that's probably why this code can still be written reasonably nicely in C with manual storage management.

    This code looks very different from what CS courses teach you or expensive OOP consultants recommend. It's kind of reminiscent of the traditional UNIX code: very concrete and just tries to get the job done.

    1. Re:first impressions... by alargeduck · · Score: 1

      ill second that... the code is wonderfully written. now if i only knew what half of it did....

    2. Re:first impressions... by Anonymous Coward · · Score: 1, Funny

      now if i only knew what half of it did

      It's a 3D running shooting and killing game.

    3. Re:first impressions... by kreyg · · Score: 5, Funny

      I thought it looked almost exactly like typical CS code, actually not too different from my style.... until I saw line 577 in ref_gl/gl_light.c:

      "store:"

      WTF? Search "store"....

      Line 488:

      "goto store;"

      And the style Nazi in me went: NNNOOOOOOOO! :-)

      This must be a remnant of something, an "else" would have sufficed. :-)

      --
      sig fault
    4. Re:first impressions... by BCoates · · Score: 1

      I can't believe you could even attempt to insult someone that has only given to the gaming community, linux community, open source community, coder community... well, and Carmack has given to the entire community.

      I know you're just a troll yourself, but the idea that being generous makes you above criticism is an interesting one...

      --
      Benjamin Coates

    5. Re:first impressions... by BinBoy · · Score: 1

      There are 76 gotos in the various *.c files.

    6. Re:first impressions... by simm_s · · Score: 1

      I guess you do not write much kernel code. I see gotos all of the time high performance C code and interrupt handlers.

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

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

  35. Re:Wow, already!? by Sublimed · · Score: 1

    way to take a perfectly good intellectual point, and make it seem like something a 14 year old wrote by cursing every 3 words.

  36. 3.16 -vs- 3.20 by mojo-raisin · · Score: 2, Interesting

    Looking at quake2/changes.txt it looks like the version of Quake2 that was GPL'd was 3.16. But id has released binaries of version 3.20.

    Anyone know if there are major differences between these versions?

    1. 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 :)

  37. Dreamcast game engine? by NanoGator · · Score: 2, Interesting

    Any chance somebody will set up a Q2 community for improving/modifying the code? I'd really like to monitor what happens here. I can see some really cool potential here.

    My personal interest in this project is that some independent game makers make some free, yet good quality games for Dreamcast. Wouldn't that be cool? The DC is $50, and can play burned CD's, which makes it an ideal candidate for this type of thing.

    In any case, if the GPL licensing of Q2 sparks some quality spin-offs, this could be a welcome evolution of cross-platform games.

    --
    "Derp de derp."
    1. Re:Dreamcast game engine? by GiMP · · Score: 2

      Quakeforge, a project improving the original quake, already has the quake2 source in CVS.. you can find them in #quakeforge on OPN.

      I did some work on quakeforge a while back, did some cool things.. but I've moved on, however.. myself and others have come back, although I may or may not make any changes.. as I am busy with some other small project at the moment.

  38. Re:3.16 -vs- 3.20 [actually 3.18 -vs- 3.20] by mojo-raisin · · Score: 1

    There are changlogs for 3.1[7,8] I just saw. So there are just a couple of minor version changes -> 3.20 I guess.

  39. It's OK by Anonymous+DWord · · Score: 1, Offtopic

    You can say "damn" here, we're all mature enough.

    --
    "If he thinks he can hide and run from the United States and our allies, he's sorely mistaken." Bush on bin Laden
    1. Re:It's OK by Error27 · · Score: 1, Offtopic
      Ok. Thanks, for the heads up. :)

  40. I'm astonished .. No, amazed. by i_am_nitrogen · · Score: 1

    How does something like this get moderated as insightful? It's just another vulgar flame. Take out the insults and swearing, and there wouldn't be much left.

    While it's true that software piracy is damaging to a company, and should not be practiced (do as I say, not as I do ;p j/k), many many people do it. Does that make it right? No. But is it true? Yes.

    Personally I intend to use my recently downloaded source for ideas, and to recompile the source with the latest glibc etc. so it will work on my latest system, and debug that annoying segfault at sound initialization with newer kernels and libs, etc. I might even make a little toy with it.

    Besides, notice the (*cough*) at the end of his comment? I suspect he may have been trying to make a joke.

  41. Compilation problems by bug1 · · Score: 1

    Anyone managed to compile it under linux yet ?

    I copied ./linux/Makefile.i386 to ./linux/Makefile, changed MOUNT_DIR= and then ran make from that dir, doesnt compile.

    Not including the right header files i think

    1. Re:Compilation problems by bug1 · · Score: 1

      More specificaly

      /home/bug1/quake2/quake2/client/cl_ents.c:1156: undefined reference to `CL_BlasterTrail2

      there are a couple of dozen of these lines, CL_BlasterTrail2 is defined in client.h which is included in this file, so it should give an error.

      I guess im overlooking something

    2. Re:Compilation problems by XoXus · · Score: 1

      Check my post a little bit further down, or simply apply this patch:

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

      ... to linux/Makefile

  42. Re:Woohoo Quake 2 by JohnnyBolla · · Score: 1

    A master of spelling would be a good start. Seven in six sentences. ( I am mostly just busting your balls, I can't spell misspell correctly)

    --
    Carpe Deez
  43. Can't wait... by T3kno · · Score: 1

    How long till we get a hack where you get to blow away UBL and the Mullah.

    --
    (B) + (D) + (B) + (D) = (K) + (&)
  44. Actually, it's late. by Doktor+Memory · · Score: 3, Funny

    Actually, I'm kinda surprised that it took this long. Mr. Carmack had mentioned a while ago (like, 8-12 months) that the only thing holding up the Q2 source release was that they were waiting for the final two Q2-engine-license games to ship, since apparently they were legally embargoed from GPLing the code until that happened. Those two games were, natch, Anachronox and Daikatana (cue inevitable snickering here). Anox shipped several months ago, and, uh, we all know what happened to Daikatana.

    Hopefully the fact that it took him so long to get around to packaging up the Q2 source for GPL release means that they've been burning the midnight oil on DOOM 3, and we'll get to see it soon.

    --

    News for Nerds. Stuff that Matters? Like hell.

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

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

  46. Website by Apotsy · · Score: 1

    So does this mean they are finally going to take down the Quake 2 stuff from the front page of their website and replace it with something a little more recent?

    1. Re:Website by xiana · · Score: 2, Interesting

      Heh, a redesign of the idsoftware.com webpage is in progress, and we should have a brand-spanking new page up in the not so distant future (...hopefully...)

      -Xian

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

  48. 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!).

  49. Re:Hey, every other company in the world, take not by zhensel · · Score: 2

    Well, there's always the option of releasing the source code, but not the game media. Kind of like how you can always download the doom executable for free, but without the WAD files, no luck playing the whole game. This would work with many companies, but unforunately not id - a huge percentage of their income comes via engine liscensing. Of course, by formulating a decent liscense (I doubt the GPL would work for this), they could release the source code and prevent people from profiting off of it. This could conceivably make id a good deal more money as companies and individuals could experiment with using/modifying the code on their own before deciding to create a full product with it and paying id. A problem still pops up with this model though, as mod authors could instead make standalone games, claim them as non-profit, and id would then lose out on the money they get from mods' requirement of having the original game. It's definitely a tricky issue, but it's not impossible to release up-to-date code and still profit greatly from your efforts.

  50. Process Killer by Amon+Re · · Score: 1

    I wonder if someone will make a Quake 2 "Process Killer." This works by having the monsters in quake or any other FPS represent processes on the active system. By killing a monster you will kill the appropiate process. I remember trying it when someone hacked Doom and Quake 1 to do it. It was only a pain in the ass when the monsters would kill each other, or you mistakenly killed an important process.

  51. No Mac version included? by appleprophet · · Score: 2, Interesting

    The zip includes the platform specific files for irix, linux, solaris, unix, windows, and even rhapsody!@ Yet there's not a glimmer of MacOS code, either for X or classic.

    I'm guessing this is because ID software didn't port it to Mac, rather Logicware did the classic port and OmniGroup did the OS X port. However, this doesn't explain why the code for so many other OS' is included... Did ID Software actually port Q2 to rhapsody, for example?

    Oh well, it would be really nice if Logicware or (more probably) the OmniGroup could donate their mac specific code. Do either of the above two companies actually own their Mac specific source code? Is this why ID Software is hesitant to include it in this package?

    Oh well, I have no idea, I'm just thinking out loud.

    1. Re:No Mac version included? by Arnulf · · Score: 1
      There is a Rhapsody dir included.

      However I can make neither heads nor tails with it. I tried to load it into ProjectBuilder. Doesn't compute. I tried it on my iMac with OSX.1.2 and the December developer package.

      I understand that at the time when Q2 was released OSX was still a rumour. Unfortunately I'm not expert enough to do this myself. Hell, I think I would even be able to port this to FreeBSD. Anyway, maybe someone can show the interested how to go on about this.

      I'd certainly like to play Q2 on my iMac; I have the complete Q2 series for my PC.

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

    1. Re:Makefile fix -- compiling under linux by XoXus · · Score: 1
      Oops... I should've mentioned this: After unzipping quake2.zip, go into the linux/ directory, copy Makefile.i386 to Makefile, edit the MOUNT_DIR line (line 15) to point to the quake2 directory that got created, then apply my patch.

      Here it is as a nice link

    2. Re:Makefile fix -- compiling under linux by SEGV · · Score: 1

      You can just change MOUNT_DIR=.. (the parent directory).

      --

      --
      Marc A. Lepage
      Software Developer
  53. 3 Cheers for Carmack! by Jagasian · · Score: 4, Insightful
    Hip hip HORRAY!!!!

    I wish more game developers would adopt his model.
    1. Make awesome game.
    2. Sell awesome game.
    3. Make lots of money in the process.
    4. Gamers love game, gamers play game, gamers have fun for many years.
    5. Instead of letting a game die ("bit rot", ala Darklands and many other great games), release game as open source to the community (this is true public service people).
    6. Coders learn from one of the greatest.
    7. Community grows.
    8. Repeat ad infinitum.


    Sure the hardcore open source fanatics will give a thumbs down to the fact that Carmack wants to make money, but then again, they are fanatics.

    I also love how Carmack does it during Christmas... kind of puts a tear in your eye :-) Oh, and I also heard that Carmack does more traditional charity works like buying toys for poor kids during Christmas.

    Well, I have bought every game that Carmack has made since Wolf3D... and I am going to buy the new Doom game too. Its important to support the greats.
    1. Re:3 Cheers for Carmack! by rabidcow · · Score: 1

      Keep in mind that many game developers simply license the engine and modify it, so they *can't* do this. Now if the people who wrote the engine open-sourced that first, then they could, but that's harder since the engine will make money long after the game has stopped.

    2. Re:3 Cheers for Carmack! by MrHat · · Score: 1

      I'd be plenty happy if more game developers would just obey numbers one and two. *cough* Romero *cough*

  54. free data files? by SaberTaylor · · Score: 1

    are there free data files somewhere?

    if so, could someone post a minihowto?

    --
    If you need text styles to communicate then you don't have a message.
    1. Re:free data files? by XoXus · · Score: 2, Informative

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

  55. Re:Wow, already!? by Jagasian · · Score: 2

    I agree. Its sick how some people actually want to destroy or harm the good things in this world. Why steal from someone who gives far more than his share?

    Carmack deserves praise right now, and the fact that a few trolls need to feel their moment of power by doing something stupid... well, kind of ruins the Christmas spirit that Carmack started by releasing the source code in the first place.

  56. Re:3.16 -vs- 3.20 (spammish...) by Ndr_Amigo · · Score: 1

    Looking at 3.18_changes..

    The Water surfing fix is present in the released code, as is the autodownload of environment maps.
    Spectator support is in there, as is air_accelerate.

    The railgun fix is trivial to implement. The "angle on spawn" bug sounds fairly easy to fix. The flowing transparent textures might be a pain, the software renderer code is still almost as obscure was it was back in Quake1.

    The Linux fix seems to only refer to the way it loads the mesa/opengl library - I'm not exactly sure what changed, but again it sounds like a simple fix.

    Without knowing what caused the case for players to become invisible, I can't comment on that one. It might also have been a 3.18 fix, so MAY be in the released source.

    This IS 3.19, so we may have some of the unknown fixes above already implemented... Duffy may just have forgotten the changes file.

  57. Re:Actually, it's right on time. by Jagasian · · Score: 3, Insightful

    Nah, I am not surprised. Carmack has always been a bit of a romantic (in a software engineer sort of way). He seems to like releasing his source code during the Christmas season. Not only that, I have heard that Carmack actually physically goes to a toy store and buys lots of toys for poor kids. I am telling you guys, Carmack is a romantic.

    Well, I guess if he really wanted to get weird with it, he could release it on Dec 25th... but this way the code can be mirrored so that by the 25th, every boy and girl can have their own copy of the source code.

  58. nope ~ Re:free data files? by SaberTaylor · · Score: 1

    ah nevermind.

    readme.txt:

    All of the Q2 data files remain copyrighted and licensed under the original terms, so you cannot redistribute data from the original game, but if
    you do a true total conversion, you can create a standalone game based on this code.

    --
    If you need text styles to communicate then you don't have a message.
    1. Re:nope ~ Re:free data files? by Jagasian · · Score: 5, Insightful

      If you really wanted to be a good person, you could return the favor to Carmack by going out and buying a(nother) copy of Quake2. Its only right to return the favor.

    2. Re:nope ~ Re:free data files? by SaberTaylor · · Score: 2, Funny

      No offense, but I didn't enjoy Quake, too dark and dizzy, and therefore feel zero urge to buy it. I have no pirated games if you're implying that. Is it bad to want to play with this Quake2 and free data files?

      --
      If you need text styles to communicate then you don't have a message.
    3. Re:nope ~ Re:free data files? by Lumpy · · Score: 2

      Ahem and buy Q3 for linux.

      if everyone that ran Linux bought Q3, we would have seen Id happily release more for linux instead of calling it a failure.

      --
      Do not look at laser with remaining good eye.
    4. Re:nope ~ Re:free data files? by iainl · · Score: 1

      For what its worth:

      1) you could probably get this working with the free data files in the demo version if you try

      2) as you'll discover if you give the demo a quick go, Quake II is far more bright and colourful than the first one was; the engine now includes coloured lighting effects and was written at a time when 3D cards were starting to become popular, so making the game look good on a 256-colour display was not the only concern.

      --
      "I Know You Are But What Am I?"
  59. All those other guys by Jagasian · · Score: 2

    All of those other guys copy Carmack, make clones of his games... so why don't all of those other guys open source their games like Carmack does? Really, it would be a good thing for the game industry... let the next generation learn from the last.

    1. Re:All those other guys by JonathanF · · Score: 1

      There wouldn't be too much incentive though, since essentially it would just be a superset of id's technology in many cases. In other cases the engine makers wouldn't be in an as advantageous situation as id - Lithtech licenses are important to both Lithtech and Monolith's survival, even if the license is of an older version.

      I don't doubt the usefulness of having an older engine to work with, but game developers tend to be a little more hand-to-mouth. As it stands... if there's only one game developer who open-sources their prior code, id Software might as well be it. Their code is routinely cross-platform and flexible.

  60. I'm greatful. by digitalunity · · Score: 2

    I really am. Why? Look at a lot of older companies like Sierra who have games they'll never make another penny off of. Why not release it into public domain or GPL it? No motive. However, when you look at truly great people like John Carmack who've more than given back to his community, it makes me feel good inside. Like maybe, to him, it's not all about the money.

    I wish more companies and programmers had such insight.

    --
    You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    1. Re:I'm greatful. by digitalunity · · Score: 1

      Oops. My apologies.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
  61. Re:Great... by ewhac · · Score: 3, Insightful

    Dude, what are you complaining about?

    Looking at a static piece of source code can tell you only so much about a network protocol. You actually have to watch the thing working before you start to see how things interrelate (especially if the commenting was poor). This is why the TCP/IP Illustrated series of books continue to be best-sellers among the networking crowd, even though they've been able to look at the *BSD IP stack source code for years.

    Because you've taken the trouble to do dumps and in-depth analysis of a live connection, you are way ahead of the game. The Q2 networking code will be cake for you to take apart and modify.

    No quest for knowledge is ever wasted.

    Schwab

  62. Thank you, John... by cr0sh · · Score: 2

    I have been waiting for this for a very, very long time. I purchased Q2 for Windows many moons ago, and it is one of the games I miss under Linux. Guess it is time to compile it now.

    BTW - does anybody know whether _everything_ works, like sound, joystick, mouse, etc - or is it just the graphics engine and game code (ie, playable with keyboard and pretty gfx, but no sound or joystick support)? Just curious how well this thing really runs...

    Hmm - now I am wondering if I should try basing my future VR system on this code...

    --
    Reason is the Path to God - Anon
    1. Re:Thank you, John... by mihalis · · Score: 2

      Well, you could have bought a linux copy of the game if it was that important to you!

      Chris

      -completed quake2 under slackware

    2. Re:Thank you, John... by Jacek+Poplawski · · Score: 1

      I have been waiting for this for a very, very long time. I purchased Q2 for Windows many moons ago, and it is one of the games I miss under Linux. Guess it is time to compile it now.

      Quake2 Linux binaries was distributed for a very long time. How it is possible you didn't noticed that?

      I think source code is for hackers who want to make Quake2 better, the only good thing you can do with source code (if you are not programmer) is use -march option to gain some speed.

    3. Re:Thank you, John... by cr0sh · · Score: 2

      Easy response - I am not a gamer, so yeah - I didn't notice it.

      I like to play Q2 - but I am not a frag-fest maniac like some friends of mine. I enjoy most FPS games for the scenery, the engine - more than the game itself. Most of these games are simply "shoot anything that moves", for the most part.

      I have always wanted to know what could be done with the engines themselves - and this engine was no exception...

      --
      Reason is the Path to God - Anon
    4. Re:Thank you, John... by cr0sh · · Score: 2

      It wasn't that important to me - plus, I already had the data files - why pay again? I suppose you could argue "to show the want for the Linux version" but had I (and everyone else, let's say) bought the Linux version - how would that have helped it being GPL'd (ignoring the fact that JC was inevitably going to do this anyhow)?

      JC has shown a way to make money, and still open source your product after it has enjoyed a long success. I hope others follow in his footsteps.

      --
      Reason is the Path to God - Anon
    5. Re:Thank you, John... by cr0sh · · Score: 2

      Oh, re: the joystick, sound, etc...

      While I haven't gotten around to compiling it yet, I did download the source, and saw that there was code for the Linux version for sound and joystick support, among other things. I guess I answered that question myself...

      --
      Reason is the Path to God - Anon
  63. Hidden in the code... by DarkHelmet · · Score: 5, Funny
    And I'm sure somewhere in the code is hidden:

    3d realms and epic megagames are weenies

    :)

    --
    /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
  64. Not really. by digitalunity · · Score: 2

    To sweepingly state that you are greater than your teacher in any class is nearly always a mistake. However, to state that all things must be learned in school is equally as much a fallacy. I don't write graphics engines, but my coding skills are far improved from when I began. To date, my only CS class has been AP Hypercard(oxymoron?) in highschool.

    I've learned to program somewhat proficiently in C/C++/ASP/PHP3&4(a little) and Perl all without taking a single class. It isn't to say that classes don't have their place; only that they aren't required(but helpful).

    --
    You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
  65. Re:optimization or beauty by kreyg · · Score: 2

    Yes, except in this case, nothing odd is happening, and it's not handling an error, it just skips over a single block of code that could be enclosed in a single "else" block. :-)

    Not to show any disrespect to John - I'm a game / rendering programmer myself, and I would by lying if I said I wasn't envious of his skill and drive. I just thought it was funny that the first thing I stumbled across was a classic example of "for the love of God, never do this!"

    Some day, some day I will stop reading /. all day and surpass id... :-)

    --
    sig fault
  66. fast mirror by siliconincdotnet · · Score: 2, Informative

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

    Enjoy, and happy fragging.

    --
    Insert witty .sig here
  67. quake2.conf? by mnordstr · · Score: 1

    When I try to start the compiled binary in it's directory, I get the following error:

    [root@matta debugi386]# ./quake2
    couldn't exec default.cfg
    couldn't exec config.cfg
    Console initialized.

    - sound initialization -
    sound sampling rate: 11025

    - Loading ref_softx.so -
    LoadLibrary("ref_softx.so") failed: can't open /etc/quake2.conf (required for location of ref libraries)
    Refresh failed
    recursive shutdown
    Error: Couldn't fall back to software refresh!

    Any Ideas?

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

  68. Re:No thanks, John. by Anonymous Coward · · Score: 1, Interesting
    The problem is, as an academic exercise, it goes against nearly all the "rules" of having others learn about your code. It was once a lovely 3D engine, now it's akin to releasing the hardware schematics for the TI-99/4A.


    There are a *lot* of things the Q2 engine does extremely well and much that people can learn from it. I'm willing to bet that significant chunks of the Q3 engine aren't that disimilar to Q2 engine. Things like BSP tree and collision algorithms will have been improved a bit, but not that much.

    Those who would argue that they make significant money off licensing the engine are fooling themselves. They are a multimillion dollar company, and every new Quake or Doom game nets them more millions. They're percentages for licensing revenue must be paltry.


    Quake 3 was a big victim of piracy and didn't ship nearly as many copies as you might think. Also, the I believe the licensing fee is something in the region of a million dollars per game. I'm sure they make more money off licensing the engine than on direct sales.
  69. Logo by javilon · · Score: 1

    I miss the old quake3 logo. I don't like the console like controler in the new logo because quake was originally a pc game and most people around here use pcs for gaming!

    --


    When his defense asked, "Which computer has Jon Johansen trespassed upon?" the answer was: "His own."
  70. Information wants to be free! by Anonymous Coward · · Score: 1, Funny

    This is great news! Now I can download all those games based on the Quake 2 engine for free! Open Source rules!

  71. 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.
  72. Re:optimization or beauty by Cryptnotic · · Score: 2

    Doh. My stupid less than signs didn't work.

    Oh well, you get the idea.

    Cryptnotic

    --
    My other first post is car post.
  73. Re:No thanks, John. by Genom · · Score: 2

    when was the last time SquareSoft released the souse for the FF seires.

    Actually, I think it would be hellishly cool if Square released the FF6 engine - it's outdated enough to be useless to their competitors, but cool enough to still have a VERY wide fanbase (plus, releasing under the GPL would make sure that anyone making improvements would have to contribute back - a good thing, IMHO at least). I could see fan-based programming for the SNES emulators skyrocket if they did.

    Of course, right now they wouldn't do it, as the GBA would most probably run the FF6 engine just fine -- and they probably have plans to make a couple games for it...

    ...then again, that's a lot of probably's, and I'm only on my first cup of coffee ;P

  74. Re:No thanks, John. by Scudsucker · · Score: 2, Insightful

    Quake 3 was a big victim of piracy

    I doubt that very much. Quake 3 uses the same online authentication system used by Half-Life; each cd comes with a key and only one copy of that key can play online at any one time. That is a very powerful incentive NOT to "share" the game and your key with others that you just spent $50 on (prolly under $20 now).

  75. Now it CAN be Built! by Zzootnik · · Score: 1

    Woo-Hoo! Thanks a bunch, Mr Carmack!

    Now I can build that 3d computer/internet browser in the style I thought it should have to actually get used!

    I wish I could say I'm as savvy as you at coding, but I'm afraid I'm only a fledgling code monkey...but with plenty of enthusiasm! So Thanks for the leg up, and hopefully I learn some useful things along the way...

    --
    Sig currently under construction. Mind the gap....
  76. They Skipped a Whole Generation of Games... by BigJimSlade · · Score: 5, Funny

    Dear Lord, how will I be able to startup ComanderKeenForge.net without the source code to Comander Keen!?!?!?!?! It's just not fair to leave us hangin' like this!!! :)

  77. Re:No thanks, John. by Auxon · · Score: 1

    I believe the licensing fee is something in the region of a million dollars per game. I'm sure they make more money off licensing the engine than on direct sales.



    If that was true why would anyone ever want to get a license from iD? If iD's own game makes less money than the cost of the license fee, then how could another company make money off of licensing it? The chance of them selling more copies of their game than iD's are slim.

  78. Re:optimization or beauty by SecretAsianMan · · Score: 2

    Oooh, mod parent up! There's a programmer that has no strange religious distaste for the goto statement, one who realizes that it has its uses!

    I'd like to add one: error processing.

    void func(void)
    {
    if (func1())
    goto err;
    /* ... */
    if (func2())
    goto err;
    /* ... */
    if (func3())
    goto err;
    /* ... */
    return;
    err:
    /* error handler */
    }

    --

    Washington, DC: It's like Hollywood for ugly people.

  79. How long until.... by gr8fulnded · · Score: 1

    .... someone sets it up to add Bin Laden's face on every enemy in the game?

    --Dave

    1. Re:How long until.... by gakguk · · Score: 1

      You don't need source code to alter that kinda things in any Quake game. Just make your own PAK file (for Q2, its a .pk2 AFAIK)

  80. Re:optimization or beauty by GregWebb · · Score: 2

    I have to admit that, early serious training being in Pascal I'm no fan of GOTOs ;-) but my instinct would go for three nested do whiles, each with two stopping conditions. I'll only use a FOR loop if I'm certain I want it to execute that particular number of times, anything else always feels a little icky too me :-)

    One thing, though - speed. I remember once getting frustrated with a program's slow performance, so I swapped a critical loop from for .. next to do while out of curiosity. Speed went through the roof.

    Now, I can't believe that's globally applicable but it was curious and I'd be interested to know if anyone else had seen that sort of test.

    --

    Greg

    (Inside a nuclear plant)
    Aaaarrrggh! Run! The canary has mutated!

  81. How widely applicable is this release model? by gonerill · · Score: 4, Interesting
    First, like every other sensible person here I think it's terrific that Carmack and ID have this strategy for releasing older code under the GPL. I've noticed that a lot of comments have argued that this is a strategy that many or all software firms should adopt with the GPL --- develop commercially and profit in the short run, release source to community when development cycle has moved two products down the road.

    I wonder, though, whether ID find it much easier to pursue this strategy because they're in the game market? Games (and *especially* FPS/Multiplayer games) are a market segment where most buyers want the newest engine, best graphics, etc. Could a company that made Wordprocessors or Spreadsheets pursue this model as easily and still make profit like ID? I'm not saying it would be impossible, but it seems to me that many users would have a much higher tolerance for using a free, three-year-old version of their wordprocessor than using a pricely new version (assuming the company didn't do nasty things like change the .doc format, etc). This isn't true of games. So while I like this "Develop-Sell-Wait-GPL" approach, I'd bet that the "Wait" time of a company like ID is amongst the shortest of any software market segment.

  82. To those who sneer. by Ozeh · · Score: 1

    Ever heard of Half-Life? (If not, have you been living in some sort of box?) Well, ISTR it was based on a modded Q2 engine. johnc, if I was a woman, I would want your babies. Well done Id. You just keep us coming back for more.

    --
    Life is thus,
    Death is thus,
    Poem or no poem
    What's the fuss?
  83. Re:No thanks, John. by arkanes · · Score: 1

    *shrug* I was able to pirate q3 pretty darn easy. (I'm not a big fan really, prefer UT, I just wanted to see what the fuss was about. So pirating it, playing a few times, and then getting rid of it seems ethical to me)

  84. Actually you are wrong by Snaller · · Score: 1
    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.


    No you are wrong. Of the people who buy RtCW, how many would be able to compile it? 0.001% probably. And its only the source that is released, none of the graphics,sound, models etc. So even if someone compiled the source, people would only get the game engine legally, if someone game them the graphics files that would be illegal and the cops could kick their butts.
    --
    If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
    1. Re:Actually you are wrong by simm_s · · Score: 1

      True but Id also makes money from licensing the use of their 3D engine. If you GPL it right away, there would be no incentive for other companies to pay for the use of the engine. (remember id also wants to make money)

      This may not be the best for the opensource world but it is a sound business practice. This time release formula is a good practice other software companies should follow.

    2. Re:Actually you are wrong by AbsoluteRelativity · · Score: 1

      Its also to control the competition. You want to make sure no one makes a game like yours, using your own game engine. If you notice there is no fixed licensing fees, or at least up front id and epic dont say how much a license will be or whether you are eligible for a license, they want flexibility and to control this decision. I find most game companies that license their engine, have this same attitude about it.

      --
      disclaimer : My views do not represent those of every one else in slashdot.
    3. Re:Actually you are wrong by Art+Tatum · · Score: 1
      No you are wrong. Of the people who buy RtCW, how many would be able to compile it?

      Precompiled binaries.

      And its only the source that is released, none of the graphics,sound, models etc.

      But they *would* end up being distributed. They would be on thousands of gnutella hosts within hours. And it would be unstoppable. The only thing iD has going for it to render unauthorized copying useless is the master server authentication.

  85. Inside the ID offices: by doublem · · Score: 2, Funny

    "Hey, we're not making much off the Quake II engine anymore now that we've shifted everything to Quake III. Should we mothball it, maybe even lose the source so no one could even compile it anymore, just like every other game company does with their code?"

    "Hell No! That doesn't match my master plan!"

    "Master plan?"

    "You must be new here. I want all programmers to either learn from my masterful code, or bow before me acknowledging my skill."

    "How you gonna do that?"

    "Same way Linus did. GPL it! My code shall never die! I will forever be known as the father of thousands of computer games. My code shall outlive the very civilization in which we live. Through my GPLed code, I shall achieve immortality! Mwhahahahahaha."

    "Yeah. OK. I'll put together a tarball and drop it on the FTP server."

    To himself: "Besides, if I give my brother and sister coders enough samples of my work, sooner or later they'll design the tools necessary fro me to move off of Windows once and for all, and do all my coding under Linux. They'll have to, just so they can continue to hack and improve my own work. Soon, very soon I'll be able to launch Afterstep and compile to Win32 with the click of a button."

    (Dramatic Pause)

    "And then I'll never have to use Windows again! Mwhahahahahahahahahaha!"

    --
    "Live Free or Die." Don't like it? Then keep out of the USA
  86. Re:No thanks, John. by juhaz · · Score: 2, Insightful

    People don't buy game engines. Companies do buy game engines. Derivative games don't sell, you say? Well, think again, guess what for example Valve used for Half-Life? That's right, Quake, and they paid for it, probably quite a bit of money. And it's certainly not the only successfull non-id game using ID's engine, do you think they would've paid for that engine if it was right there under the GPL right after the Quake went out of the press?

    So you really think, ID should just give away it's code for their competitors to use for free?
    What are you guys smoking these days?

  87. How to run fullscreen under Linux (nVidia)? by oznet · · Score: 1

    I remember this from way back when I was playing Q2 under Linux. How do you get it to run fullscreen with the nVidia GLX stuff?

    I set fullscreen to 1 and all the other junk. I went out searching but can't find anything other than Mesa fullscreen info.

    Nothing seems to make it go fullscreen.

    Any ideas?

  88. QUAKE 1 STILL ROCKS! by Tei · · Score: 1

    Test here: qbism.telefragge.com/tei

    Q1 still is a GOOD piece of software. Q2 will ad "goodies" to Q1 source code .. not very much because the active q1 scene has added yet very much ;))))

    Very Thanx JC!

    1 saludo
    Tei

    --

    -Woof woof woof!

  89. Re:Hey, every other company in the world, take not by ChaosDiscord · · Score: 4, Insightful

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

    Of course, RtCW is pretty worthless without levels to play through. The engine without levels is of no value to your average gamer. Just because you open source your engine doesn't mean you need to open source your levels, models, textures, sounds, and other data.

    There are risks of making your engine open source (As you point out, Id makes money selling its engine to other developers, open sourcing their current engine would kill this model. Also, competing companies could take the engine, saving software development time and focus on developing levels, effectively allowing your competition to leach your work.). But the threat that no one would buy your game isn't there. I buy a game for well crafted, fun levels. The engine is just the foundation that those levels are built on.

    I definately agree I'd love to see out of date source made available. I have a number of games I own that I can't play because they're too old (MS-DOS based). I'm perfectly willing to take a stab at updating them, but it's practically impossible to do without the source. There is a risk that this would hurt sales (as I spent time playing old games instead of new games), but I suspect the drop is sales would be minimal (I like shiny new games too much to just stop buying them).

  90. Re:/.ing by MindStalker · · Score: 1

    hehe just try getting into an updated paladin server, set to auto perm ban anyone detected of having any cheats installed period, if and or buts.

  91. Re:optimization or beauty by (void*) · · Score: 2

    That is assuming that nothing takes places between each call to func1(), func2() and func3(). If you have to execute something between them, then putting it in the boolean test makes things VERY ugly.

  92. Thanks by John+Carmack · · Score: 5, Interesting

    Thanks for the kind comments, it helps me brace a bit for some of the really vile hate mail that is already starting to come in from the people worried about cheating.

    Bill Heineman is preparing the mac source code for Q2 for a release.

    We will see about getting the 3.21 changes we missed into an updated release.

    I am also happy to say that another old game's code will be released under the GPL soon. We can always hope that it becomes a trend...

    John Carmack

    1. Re:Thanks by dadragon · · Score: 2, Funny
      I am also happy to say that another old game's code will be released under the GPL soon.

      Please tell me it's Commander Keen... :)

      --
      God save our Queen, and Heaven bless The Maple Leaf Forever!
    2. Re:Thanks by RebelA · · Score: 1

      Please tell me it's Commander Keen... :)
      I was thinking exactly the same thing.

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

    4. Re:Thanks by i_am_nitrogen · · Score: 1

      Me too! Commander keen was one of the finest games I ever played. It was truly an artistic accomplishment to have a game like that run on a 4.77MHz 8088 with decent speed.

      I would really like to see half-life released under the GPL one day, but that's not likely.

    5. Re:Thanks by danberm · · Score: 1

      As a programmer who's spent many, Many, MANY hours going through the quake codebase, I just want you to know that I really appreciate your openness and admire your ability. My programming skills have gone to the next level as a result of the Quake source. Can't wait to see Doom3 (I'm putting off my new computer purchase till then). Thanks Again Dan

    6. Re:Thanks by 1g$man · · Score: 1

      Not likely. Any bets on Daikatana? ; )

    7. Re:Thanks by Art+Tatum · · Score: 2, Insightful

      Ditto. Q2 is cool and all but CK, written for really low end hardware, has to be a tour de force of ingenious coding. Oh, and BTW RtCW rocks, John. ;-) I like the teamwork aspect of the multiplayer a lot and think that taking the FPS genre in a more intellectual direction in the future is a great angle--maybe even integration of Adventure/Role-playing and FPS or adding combat flight-sim/tank-sim components? Could be cool....

    8. Re:Thanks by Simon+Garlick · · Score: 1

      Note - JC did not say another ID GAME would be code-released. He just said "another old game".

    9. Re:Thanks by Art+Tatum · · Score: 1
      Teamplay is an old innovation. Try playing Teamfortress for Quake 1. ID as usual is far behind in the gameplay department.

      Yes, I know. That's what I was trying to say. ID has such nice design ideals that it's nice to see them do some of it (although, they DID pass it off to Nerve but...it has their name on it!)

    10. Re:Thanks by Remco+Komduur · · Score: 1

      I wanted to thank you for releasing sources from your games. The Quake 2 port for the Amiga is underway. It will give the Amiga a great boost again. I have a dual processor Amiga at the moment. A 68040 for the OS and PowerPC 603e 175 MHz for the raw power stuff. Man, is Quake 2 gona rule when OS 4 comes out in the next couple of months with brand new G3/G4 motherboards. Then we're finally PowerPC only. Thanks again!!

  93. What does this exactly mean, help me here by Uncle+Gropey · · Score: 1

    So since it is GPL'd, does that mean that anyone can put it on a cdrom and sell it ala Linux distros? Or is it only to be used if it remains free?

    1. Re:What does this exactly mean, help me here by SuiteSisterMary · · Score: 2

      It's GPLed, so do what you like with the source, so long as you distribute the source and any changes you make yourself. What you CAN'T distribute is art, models, music, or anything that actually makes 'quake 2 the GAME' as opposed to 'the quake 2 ENGINE.'

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    2. Re:What does this exactly mean, help me here by mdw2 · · Score: 1

      What you could do though, is simply hire a skilled artist to do character design and level design, and put together a nice q2 quality game, as it wouldn't be a ripoff of q2, but an actual game running on the q2 engine.

      --
      This sig intentionally left blank.
  94. Re:No thanks, John. by jeremycx · · Score: 1

    Let's all remember that Id was one of the first (if not the first) game company to encourage mods and user-designed add-on levels. Id has had its head screwed on straight from the get-go.

    Without Id, it might still be in vogue for software companies to sue people who distribute total conversions and other hacks.

  95. Re:No thanks, John. by jedidiah · · Score: 1

    That is INFACT how intellectual property was supposed to work in the US. You get a limited monopoly to your work or "secrets" in exchange for your eventual sharing of those "secrets".

    While Carmack's actions are a noble gesture, they are no less than what should be expected of all software vendors.

    Once the code has aged past it's usefulness, it should be public domain... PERIOD.

    BTW, this is a great example of the utility of GPL. Carmack can be nice and noble with little risk of it impacting his business. His competitors can't turn around and use this code against him (like they could if it were straight PD).

    Those software authors that don't contribute back into the public domain are simply thieves, no less reprehensible than the pirates that distribute their work while it's valuable.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  96. Re: Open-sourcing FF6 engine by jswitte · · Score: 1

    I've never played FF6, but this idea does sound hellishly cool. Although I wonder how clean the code to the engine is? Anybody have connections at Square?

  97. Re:No thanks, John. by swv3752 · · Score: 1

    Then Valve would have had to give away half-life, do you really think that would have happened? No, if someone wants to produce a game, they will license from Id. And most likely they will want to use the latest and greatest (namely Q3A).

    This might let some poor game developer design some game and license the code. Or maybe it wil help train the next Carmack. Both are slim but there would be zero chance if it wasn't opened.

    --
    Just a Tuna in the Sea of Life
  98. Sweet Potential by Epoch+of+Entropy · · Score: 1

    I think the release of the source code has some very strong potential for the game development community. Because it's so hard to learn 3D game programming, especially creating an engine from scratch, even giving the community a 3 year old base to work from is still better than having to hack it yourself

    Someone will probably write a script to export from gmax if they haven't yet, giving even more potential to the GPL game development community. Hell, if anything it can't hurt, only make GPL and the basement game hacker community stronger.

    :: Epoch of Entropy
  99. First Port! by Aardappel · · Score: 1

    http://wouter.fov120.com/panq2.jpg
    ;)

  100. Re:Hey, every other company in the world, take not by swv3752 · · Score: 1

    Not really. The risk is that some company would rip them off by developing some game that used the engine and failing to GPL it. If they do GPL the game (and they would have to GPL the whole game, go read the GPL if you doubt this), very few people would buy this GPL game. A few Linux pwoplw who want to support OSS would, and a few Windows guys, and the rest would end up downloading the free version. Doubtful someone would want to go that route.

    The real problem is if someone ignored the GPL and just produced the game. Id would have to prove that they were using thier engine and successfully litigate them. Not easy.

    --
    Just a Tuna in the Sea of Life
  101. Re:No thanks, John. by Micky+the+knife · · Score: 1

    Those software authors that don't contribute back into the public domain are simply thieves, no less reprehensible than the pirates that distribute their work while it's valuable.

    What?
    what planet did you grow up on?

    --
    Go ahead and mod me up. I dare you!
  102. Giving away code != giving away data by yerricde · · Score: 1

    Then Valve would have had to give away half-life

    No. Valve would have had to give away the changes to the Half-Life engine under copyleft, but the GNU General Public License says nothing about the data that the program uses. Data encompasses everything from sounds to textures to models to behaviors, the very things that make Half-Life different from Quake.

    --
    Will I retire or break 10K?
  103. Only if Nintendo's shareholders ditch the CEO by yerricde · · Score: 1

    Of course, right now [Final Fantasy publisher Squaresoft] wouldn't [release the source code the Super NES FF6 engine]

    The engine is written in assembly language, not C, because C doesn't work well on the Super NES. The Super NES has two 6502-family CPUs, 65C816 and SPC700. The 6502, with its three semi-general-purpose registers (heck, the 8086 had seven), gives compilers great difficulty in generating object code that performs the expected operations (i.e. intense graphics) in real-time (i.e. less than 50ms latency).

    as the GBA would most probably run the FF6 engine just fine

    The GBA uses a single ARM7TDMI processor, not any of that 6502 garbage; it runs Thumb instructions, not 65C816 or SPC700 instructions.

    and they probably have plans to make a couple games for it...

    How will they get their plans past Nintendo's hard-@$$ of a CEO? Nintendo's CEO refuses to bring Square on as a GBA software publisher because he hates Square for how Square ditched Nintendo in the FF7 days. Square can only hope that Nintendo's shareholders will recognize that the lack of Square software creates a missed opportunity for building shareholder value and oust the CEO.

    --
    Will I retire or break 10K?
  104. Another Mirror by KalvinB · · Score: 1

    http://therabbithole.redback.inficad.com/tricks/So urceCode/quake2-src.zip

    For those of who don't want to download the whole thing you can browse the unzipped contents at

    http://therabbithole.redback.inficad.com/tricks/ So urceCode/quake2srcb/

    Ben

  105. Re:optimization or beauty by red_gnom · · Score: 1

    How about this?

    void func(void)
    {
    if (func1())
    err();
    /* ... */
    if (func2())
    err();
    /* ... */
    if (func3())
    err();
    /* ... */
    return;
    }

    void err(void)
    /* error handler */
    }
    void err(int errorNumber)
    /* error handler */
    }
    etc...

  106. Re:optimization or beauty by red_gnom · · Score: 1

    Ooops, the braces:


    ...

    void err(void)
    {
    /* error handler | err(0);*/
    }

    void err(int errorNumber)
    {
    /* error handler */
    }

    etc...

  107. Re:optimization or beauty by SecretAsianMan · · Score: 1

    Yeah, that will work.

    --

    Washington, DC: It's like Hollywood for ugly people.

  108. Re:optimization or beauty by Cryptnotic · · Score: 2

    In C, the following for statement:

    for (A; B; C) {
    [body];
    }

    is exactly equivalent to:

    A;
    while (B) {
    [body];
    C;
    }

    I think Pascal does things a little differently, which is why you might have noticed a speed difference.

    Cryptnotic

    --
    My other first post is car post.
  109. Assembly files don't compile by benlanka · · Score: 1

    I've tried to re-build all projects, went good until the software renderer.

    All the .asm files can't be build. It says: 'command or filename incorrect'.

    I think it has something to do with a special assembly compiler ID used to create this dll.

    Any suggestions?

  110. Re:No thanks, John. by juhaz · · Score: 1

    No, Valve would not have had give away whole Half-Life, only the modifications they did to the quake engine (maybe HL was a bad example, because for HL, Valve really did quite a bit of work on the engine too, something that used almost unmodified engine would be better), they could still sell the GAME, data files, just like ID is still not giving away those, even if the source has been opened.

    So, in turn, people who did Gunman Chronicles could've taken HL engine for free, and build their game on top of it.

  111. Nice but.. by ZaneMcAuley · · Score: 1

    Where is the DOCUMENTATION?

    --
    ----- Whats wrong with this picture? http://www.revoh.org:1234/whatswrong
  112. Re:optimization or beauty by pclminion · · Score: 2

    "Screw around with a while loop?" What is so screwy about it? What is so hard to understand about this:

    for(;;) {
    status = select(...);
    if(state != EINTR)
    break;
    }

    Don't bitch about branch optimization. That select() call is trapping into kernel mode. Who cares about a branch in the face of that?

    Your second situation makes more sense. I usually never have loops nested that deep, though. The only time I really use goto is for progressive unrolling after error:

    mem1 = malloc(10);
    if(!mem1) goto fail_mem1;
    mem2 = malloc(10);
    if(!mem2) goto fail_mem2;
    ...
    fail_mem2:
    free(mem1);
    fail_mem1:
    return -1;

    Of course these unrolling sequences can be much longer and more complex. It's really the best you can do in a language that has no exceptions. In C++ you would use exceptions and destructors for this.

  113. a link to Process Killer - but for DOOM by proto · · Score: 1

    I haven't seen a process killer using quake. AFAIK, I know only one using DOOM. If you know of one using Quake please post the link here!!! The DOOM version is located at: http://www.cs.unm.edu/~dlchao/flake/doom/

  114. Re:optimization or beauty by GregWebb · · Score: 1

    Eww, ugly :-)

    I'd been shown that before but thanks for reminding me. And in the mean time, I again register my disgust at a language which mutilates simple constructs like that. Swiss Army Chainsaw, definitely.

    --

    Greg

    (Inside a nuclear plant)
    Aaaarrrggh! Run! The canary has mutated!

  115. Re:Hey, every other company in the world, take not by AbsoluteRelativity · · Score: 1

    > The risk is that some company would rip them off by developing some game that used the engine and failing to GPL it.

    Ooooo, But that would be illegal. When was the last time you saw someone release linux with out releasing the source code or referencing it from some where else? Rarely and the problem is usually corrected immediately. VirtualDub is the only other case I have heard about someone releasing GPL code with out the source code, but even that was settled easily.

    > If they do GPL the game (and they would have to GPL the whole game, go read the GPL if you doubt this), very few people would buy this GPL game.

    "GPL the game", or GPL the game engine? When you say "game" you are defining it way to broadly. You dont seem to understand the GPL, or at least you seem to be transfixed on the FUD that GPL is a virus. GPL can link to proprietary modules/media, but propreitary modules/media can not link to it or use pieces of it with out it becoming GPL as well (if you use GPL code, you must GPL, if your GPL code uses other code it doesnt). The game engine is the one that loads and uses the game media. Also, note that YOU ARE THE LICENSER NOT THE LICENSEE, you can add and make exceptions with in license, that is how trolltech resolved several problems. There was some license incompatibilities with the GPL, so trolltech solved the problem by making exceptions. Also note that even john carmack says, that while the Quake2 source is GPL, the content is not. If you think John Carmack is wrong, start web site and distribute the content and lets see if your right.

    Another thing to think about, is that even if they GPL the whole game (including the media), that would mean any body can *sell* that game to any one else, rather then just giving it away for free. If they were popular enough, distributors may pay a lot of money to be the first to distribute the game (imagine making millions selling a few copies of a game in which the people who bought those copies can also make millions, eventually the price of the price of the game goes down until normal people are buying it and giving it away for free). Anyone can make money selling a game, there is less reason for people to give it away for free (less legal issues holding them back). This doesnt work for linux currently, because its not on par yet with its competitors like Windows for the mass market, versus the niche markets, not that linux is not doing well.

    > The real problem is if someone ignored the GPL and just produced the game. Id would have to prove that they were using thier engine and successfully litigate them. Not easy.

    Its easy to prove. Even the VirtualDub author was able to find it, when they were not using the whole thing, only certain parts in its filtering. Also how far would someone want to go is another issue, if someone copies a small 5 line for loop from your code, is that something you really want to persue? But in such a case you would expect those 5 lines would either be coincidental or even if they were not, they would be a little tuffer to detect. Besides you dont want to sue someone for copying code that is commonly available either, only code that is unique to your design, that is the importance of intellectual property after all. You dont want to copyright, patent, or trademark something that is common and in most cases you can not do that (your intellectual property would be forfeited in a court of law).

    --
    disclaimer : My views do not represent those of every one else in slashdot.
  116. Re:No thanks, John. by Suppafly · · Score: 2

    Since halflife is based off of the Q2 engine, and Counterstrike is a cool free mod for halflife, I wonder how long until we can have a totally free version of counterstrike not requiring the purchase of halflife..

  117. finally by Suppafly · · Score: 2

    Now someone can finally make a version of the sims that allows you to kill your neighbors easily and quickly and that has netplay

  118. Re:No thanks, John. by juhaz · · Score: 1

    Half-Life is actually based on the Q1 engine, not Q2, which has been open sourced for a long time now, but of course Valve, or anyone else using those, is under no obligations to OS their implementations, that have been purchased before this.

    HL is still selling quite well, probably mostly because of CS, so no, I don't think we'll have free version for a while - you just don't kill a goose that lays golden eggs.

    If you are thinking about Open Source hackers evolving the Q2 source so that it is compatible with HL ... well, possible, but certainly not very likely, modifications done to the HL from base Quake source tree are huge, implementing those changes is no way going to be any easy task.

  119. Sony needs to make a PSOne Discman by yerricde · · Score: 1

    then make sequels exclusive to the SonyBoy Advance

    There is no mass-produced handheld PlayStation product (this doesn't count), and Sony has not officially released plans to make one. Sony needs to get off its collective @$$ and produce a PSOne Discman. I'm pretty sure that a PSOne Discman would keep the PSOne platform alive, and it may be Sony's ace in the hole to compete with Nintendo's GBA. (I've read that GBA is twice as powerful as Super NES but half as powerful as PSOne.)

    [Sony] owes its success to it's hard ass CEO. Do you think Sony's CEO is a creampuff?

    "Creampuff" and "hard-ass" are not always mutually exclusive. See also Kirby.

    --
    Will I retire or break 10K?
  120. Thanks by a enginehacker. by Tei · · Score: 1

    JC:

    Thanks for the SRC man!.

    I am hacking the q1src with bits of the q2src. I amazing to see how similar q2src is to q1src ;) I am newbie engine coding. I like you way to code very much ;)
    The scene love you man!

    how client-server balance horsepower will end?
    will horsepower move to client?
    :)

    - - -

    Muy interesante su trabajo. De verdad que uno hablando con usted se siente mas cerca de "dios" ;) Se lo digo en serio. Gracias de verdad por liberar el codigo.. pufff... es muy bueno y nos va a ayudar a la scene de programacion de mods, y creacion de customs engines. Sobretodo portar abilidades del Q2 al Q1, que es lo mas interesante ahora mismo. No todo el mundo tiene un compilador, pero si podian tener un qccwin32.. asi que la energia minima para modear con q1 es muy baja,.. en cambio no veo tantas ventajas con las dlls... al menos para los "principiantes". De todos modos.. sobre todo gracias!.. Y suerte con sus proximos trabajos. Good Luck!

    - - -

    1 saludo
    Tei

    --

    -Woof woof woof!

  121. artificial life game with the quake engine.. by Tei · · Score: 1



    I am modding a ALife game for the Quake engine. This educative game will include:
    - sex*
    - bugs killing other bugs
    - bugs eating is childers
    - dna, radiactiviy and cancer
    - mutants
    - a rocket launcher

    ( 2 )

    Suggestions here:
    421621@ingta.unizar.es (stop biologist! only coders and gamers!!)

    --

    -Woof woof woof!

  122. ArtFinal vs SRC by Tei · · Score: 1

    ARTWORK vs CODE: - artwork can be reused and "old game coded" not. - artwork, like player.mdl file can be used by hollywood.. licensing the "Quake Dude" as a character... for a theorical film "Quake The Film" or "Mr.Quake vs LaraCroft" ;PP ...."pr_exec.c" not. - artwork dont help map makers.. ITS FINAL ART; NOT SOURCE: - artist DONT share IS WORK!, coder do!. I am artist and coder and i knom very good the coders and the designers.. Not the same game,... ARTFINAL / SRC: .fla / .swf .jpg / .ph9 .psd .mdl / .3ds .bsp / .map etc... 1 saludo Tei

    --

    -Woof woof woof!

  123. Re:No thanks, John. by abdulla · · Score: 1

    www.neverax.org
    open source (GPL) and as it happens

  124. LFire & Linux Quake2 servers by Vitharr · · Score: 1

    I hope someone can help me. If I compile the source under Linux and then try to run a LFire Quake2 server, it crashes immediately, saying: droptofloor: ammo_cells startsolid at (800 136 816) I have done some research and this is what I found out up untill now: - It happens with both LFire 1.20 & LFire 2.0 and both the 3.19 & 3.21 source - It only happens under Linux; in Windows everything goes fine - The original 3.19 version of iDsoftware runs great with both LFire's - When I compile the 3.19 source under Linux and compare the size with iD's 3.19, then it is a little bit bigger (about 20 Kbyte, after I used the "strip" command) - I tried something like 4 different distributions of the 3.21 source and it still crashes If someone knows what is going on or is willing to spend a bit of time on this problem, it would be greatly appreciated. I have compiled a mini version of the server, containing one map, the original Quake2 v3.20 executable and the LFire 1.20 gamei386.so. It is 400KB and can be downloaded here: http://www.xs4all.nl/~vithar/download/q2_lfire_tes tserver.tgz Again: any help would be greatly appreciated!