Quake 1 GPL'ed
WarSpite was the first of many to write with the news that id has open-sourced the Quake 1 Source Code. This includes WinQuake, GLQuake, QuakeWorld, and GLQuakeWorld. Yes, it's been released under the GPL [?] . id's ftp site got the goods.
A new and better way to kill processes in your system!
I'm glad that id open sources their games when they have no "value" (read: ability to be sold) anymore.
Go id!
As a student in Computer Science, it's nice to know that we can begin to learn from some well-known games.
I'm sure there are many other students who are beginning to develop games and would like some form of hint in where to start. Well.. now they have a place.
Thanks ID.
Personally I'm not a games person, and I don't have much interest in programming games (I'm more of an OS and server person), but that won't stop me from taking a look at the source to see what I can find.
ftp.idsoftware.com/idstuff/sou rce/q1source.zip ftp.cdrom.com/pub/idgam es/idstuff/source/q1source.zip ftp.3 dgamers.com/pub/3daction/00archives/quake/unsuppor ted/q1source.zip ftp2 .3dgamers.com/pub/3daction/00archives/quake/unsupp orted/q1source.zip
While its slow to happen, the ability of individuals to freely develop 3d games and apps is increasing. A while back Chex had a doom-based cd-rom game on their site, and they had to pay for it.
But the GPLing allows anyone with a slight bit of graphics talent to build their own independant game.
And with Quake now open source, enhancments can be added easier, I.E. the loveable PAIN package (I loved web-swinging like spiderman with the grappling hook and harpoon.)
Think of the possibilities.
XBill 3D would be cool.
Ever seen that episode of the new Jonny Quest where they delete data by shooting it? Make directories into rooms, etc.
And yes, the process killer will have to be ported too.
We could easily have selectable 'levels' signifying file management, process managment, wiping windows, network sniffing, and more!
That's all I want to go on about for now. Hey everyone, please vote for geek number 1 (me!) in the after y2k ( www.nitrozac.com ) look-a-like contest.
...but I wonder if part of their motivation
for doing this is to increase the number of
coders familiar with 3D engines. Seeding the
future labor pool so to speak. But then again...
maybe it's just because they're good guys(and gals).
This great news for every multi-OS quaker out there, but how will this effect the Mac port?
macsoft took time and money to do thier codin, and i really doubt they'll gpl THAT.
Anyone know more then me?
---
or the file itself: /idgames/idstuff/source/q1source.zip
ftp://ftp.cdrom.com/pub
Gates' Law: Every 18 months, the speed of software halves.
-----------
"You can't shake the Devil's hand and say you're only kidding."
I suppose you could say this is building good-will within the free software community without costing them anymore revenue, and that would be completely true, but this decision is even smarter than just that.
The way to get hired by a computer gaming company is to "show them the source" -- in particular, demonstrate that you can write cool games. By GPL'ing Quake I, id Software is increasing their pool of potential employees to include those who can develop a good 3D game if only they had a good 3D engine that's less than four years old.
Christopher A. Bohn
cb
Oooh! What does this button do!?
I believe its actually based on the Quake 2 engine. Does anyone recall any other games using the Quake 1 engine? None leap to mind right now.
And the brethren went away edified.
Quoth Carmack:
All of the Quake 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.
Gates' Law: Every 18 months, the speed of software halves.
I think I will have to buy QuakeIII now just to support a company that is so cool. Doh, Guess I'll have to get a Voodoo3 as well. Come to think of it, this GPL announcement just cost me over 100 bucks.
Have you checked out Zoid.com yet? Zoid.com
Producing a mac version of glquake or glquakeworld should be pretty easy with the existing code now that Apple has real OpenGL support.
Producing a version of the software renderer with decent performance would be VERY HARD. A huge amount of effort went into the assembly optimization for the PPC, and it still didn't quite measure up to the x86 code.
John Carmack
The reason Generations was pulled, was because they directly copied the levels, textures, and models from Quake 1, as well as the sounds from Quake 1, Doom, and Wolfenstein. These are licenced to GTInteractive, Apogee, and a few others I'm sure I've forgotten.
:-( This is also why the two Descents, as well as Doom and Wolfenstein code giveaways were not available with data files.
The engine is John's to give away, but the artwork is not
Luckily, all new models and such created for Generations (like the Doom and Wolfenstein models and level recreations) are relatively safe.
---
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
include any of the many TCs (and the ones to follow, id kicks ass)
This code was worth, what, $10 million 4 years ago? An interesting point in the discussion of determining the "value" of software.
+&x
This is why it's so important to (1) indent properly, (2) use meaningful variable names, and (3) provide adequate comments.
You never know when when your code will be GPL'd and then everyone will know what kind of programmer you really are!
Honesty. Loyalty. Kindness. Laughter. Generosity. Magic!
Valve originally licensed the source for Quake from id Software and they began working on that code around October of 1996. Between that time and the time they finished Half-Life in October of 1998, they modified/removed/created something like 70% of the code. --Taken from the Official FAQ
I see a lot of people already complaining that iD has only released Quake because it wasn't making them money anymore. I find such comments absolutely rude and uncalled-for, iD is doing the open source communitiy a wonderful favor by releasing their code under the GPL. Why don't we concentrate instead on the possibilities opened by this code release...
Now that a fully 3-D rendering engine, which supports 3-D acceleration is available under the GPL, I can only hope that a few aspiring programmers can take all of that code and begin development on some true Virtual Reality software. With high speed access such as cable and dsl becoming available in more and more areas, such an environment is truly becoming feasible.
The way that I see it, all that really needed is a large amount of artwork and new networking code. Imagine that each MetaQuake server is a node in the metaverse, each server acting as either a room, a building, or an entire city (based on available bandwidth), where people logged into one server can interact with one another directly, but you use a "subway" system to transfer your information *between* servers, allowing you to enter new buildings, cities, etc. If all of the servers were interconnected similar to the way the internet itself is connected, it could work. There could even be sub-programs written into the engine in which you can pick up a virtual pay phone, and video conference with someone on another server (or not logged in at all) via a direct connection.
I think that the Quake codebase would certainly be an excellent start, but it's more likely that Quake2 or even Quake3 would act as a better environment to do such programming in. I know that Quake1 modules had to be written in "QuakeC" whereas Quake2 modules could be written in full-blown C, which in my opionion would be better suited to the "videophone applet" or other such modifications. Also, the original Quake networking code wasn't so hot (hence the need for QuakeWorld) whereas Quake2 was much better about it, and Quake3 was actually *designed* for online-only usage.
Perhaps if a small band of programmers started messing around with this sort of stuff right now, we'd all be ready to take advantage of more advanced engines, such as the Quake2 and Quake3 engines one they become available (which they most likely will, the way that iD has been doing things -- Thanks guys!)
Can anyone speak from experience if/how well models and skins, and/or maps created for Quake1 can be ported into Quake2 or Quake3? Is there anyway that level designs for a "metaverse" could be later re-used should iD be so gracious as to release the source to their more recent engines?
--Steven M. Castellotti
Your Brain + EEG + LEGO Robots = Brainstorms
If you're just starting to get the whole "programming" thing into gear, then the Quake engine is not the place to start.
Don't get me wrong, the Quake engine being GPL'd is a great thing, and I applaud Id for it. However, 3D-engines are not a good thing to cut your teeth on. Start small. Code a few 2-D games first (my guess is that you're into game programming). Tetris clones and platformers are always popular (heck, my first game was a taste-challenged Barney-killing simulator back in my high schools Pascal class). Then move on to grander things. You can't build a tool shed in the backyard and then move on to a castle right away. It's the same with coding.
That should be www.westlakeinteractive.com. Sorry about the mixup.
RICHARD STALLMAN IS MISSING
Open Source Superstar "Nowhere To Be Found," Report Police
CAMBRIDGE, MA (AP) - Richard M. Stallman, better known as "RMS" by the open source software (OSS) community, has apparently vanished off the face of the planet. After missing several speaking appointments and coding commitments, many of his fans have begun to ask questions about his whereabouts. Stallman is the founder of the GNU project, which is dedicated to providing free, open source software to the computing world.
Eunice Bleyfeld, Stallman's neighbor, seemed surprised by Stallman's absence. "I hadn't noticed anything out of the ordinary," she commented to the Associated Press. "He wasn't acting strangely or anything like that the last time that I saw him." However, Mrs. Bleyfeld recounted a strange incident that took place in the middle of the night a few days ago. "I woke up and heard what sounded like an altercation at Mr. Stallman's," she said. "He shouted something like 'I'll frag your ass.' Minutes later, I heard him yell something to the effect of 'Eat my pineapple, bitch!'"
Police psychologists were puzzled by Stallman's alleged ravings. In the meantime, Stallman's apartment door remains locked and phone calls are greeted with a constant busy signal. "We think the phone must have gotten knocked off the hook," explained Cambridge police chief Samuel Breckenridge. "That explains the busy signals. Beyond that, we're not quite sure what to do," continued Breckenridge. "The guy is quite literally nowhere to be found. We're sure that he's not at home, because if he was, you'd think that he would answer the door."
Police have placed Stallman's picture on the side of cartons of CD-Rs and DIMMs nationwide, along with the caption "Have You Seen This Coder?" The hope is that somebody will recognize the missing open source icon and report a sighting to the authorities.
Stallman is famous for his refusal to use anything except free software. In particular, Stallman is a fan of his GPL license, which provides for unrestricted modification and distribution of software.
John Carmack contributed to this story.
We're going down, in a spiral to the ground
You better make gibs, you better get frags
You better shoot grunts, zombies and scrags
Santa Carmack G-P... L'd Quake
He's written some code, debugged it all twice
Then made it all free, isn't that nice
Santa Carmack G-P... L'd Quake
He knows when you've been fragging
He knows when you've got quad
He knows when you've just rocket jumped
'Cause Carmack is Quake God
So don't you be lame, don't you not play
Join a net game, I'll frag you today
Santa Carmack G-P... L'd Quake
Kudos for id and Carmack for setting an example of Open Sourcing game and engine source.
3
h tml
Because of this example, we also have source from many other developers.
A fine Open HW and SW engine from Genesis :
http://www.wildtangent.com/genesis/download.php
Outrage and Toschlog also opened their Desecent 2 source :
http://descent2.com/ddn/sources/descent2/legal.
Do support Outrage and Descent 3. It is a fine product.
Corrinne Yu
3D Game Engine Programmer
3D Realms/Apogee
Corrinne Yu
3D Game Engine Programmer
This is the complete source code for winquake, glquake, quakeworld, and
glquakeworld.
The projects have been tested with visual C++ 6.0, but masm is also required
to build the assembly language files. It is possible to change a #define and
build with only C code, but the software rendering versions lose almost half
its speed. The OpenGL versions will not be effected very much. The
gas2masm tool was created to allow us to use the same source for the dos,
linux, and windows versions, but I don't really recommend anyone mess
with the asm code.
The original dos version of Quake should also be buildable from these
sources, but we didn't bother trying.
The code is all licensed under the terms of the GPL (gnu public license).
You should read the entire license, but the gist of it is that you can do
anything you want with the code, including sell your new version. The catch
is that if you distribute new binary versions, you are required to make the
entire source code available for free to everyone.
Our previous code releases have been under licenses that preclude
commercial exploitation, but have no clause forcing sharing of source code.
There have been some unfortunate losses to the community as a result of
mod teams keeping their sources closed (and sometimes losing them). If
you are going to publicly release modified versions of this code, you must
also make source code available. I would encourage teams to even go a step
farther and investigate using public CVS servers for development where
possible.
The primary intent of this release is for entertainment and educational
purposes, but the GPL does allow commercial exploitation if you obey the
full license. If you want to do something commercial and you just can't bear
to have your source changes released, we could still negotiate a separate
license agreement (for $$$), but I would encourage you to just live with the
GPL.
All of the Quake 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.
I will see about having the license changed on the shareware episode of
quake to allow it to be duplicated more freely (for linux distributions, for
example), but I can't give a timeframe for it. You can still download one of
the original quake demos and use that data with the code, but there are
restrictions on the redistribution of the demo data.
If you never actually bought a complete version of Quake, you might want
to rummage around in a local software bargain bin for one of the originals,
or perhaps find a copy of the "Quake: the offering" boxed set with both
mission packs.
Thanks to Dave "Zoid" Kirsh and Robert Duffy for doing the grunt work of
building this release.
John Carmack
Id Software
Your Brain + EEG + LEGO Robots = Brainstorms
I think John Carmack is by far one of the most talented programmers in gaming (or perhaps anywhere else) today. This code release only confirms how cool he is, and possibly, what a good marketer he is as well. Consider the following:
Geeks love games.
Quake makes Id no more money.
Geeks respect John Carmack.
John Carmack GPL's Quake.
Geeks respect John Carmack and Id 10-fold.
Geeks watch Id more closely.
Id releases Quake III.
Geeks are more likely to buy Id products.
Id's profits go up.
Smart move, smart move...
Ye gods..
Data files are NOT code.
The GPL is also only enforced on the licensee, the licenser is free to GPL or not parts of the original code, if they do not themselves distribute them togeather.
For example, I could write a program that says, "Hello, world!" and also says "How are you?".
It would be my perogative to release only the "Hello, world!" function under GPL, and a version under a completely different license with both functions. I am the copyright holder for all the code, and can license it in all ways that I want..
Whatever codebase I merge other peoples GPL'd code into must all be opened, however, because I am not the copyright holder and cannot relicense the code.
Blessed are the pessimists, for they have made backups.
1. Versions compiled for glibc20 and glibc21.
2. Support for 24 and 32 bpp modes in the X version.
3. Support for fbcon instead of the ancient svgalib.
4. Make the X version change resolution and center the screen before it grabs the mouse.
5. Use scroll-lock to grab the mouse, ungrab the mouse on pause.
6. Support for wheel mice.
7. Sound support using ALSA.
They licenced the Quake 1 engine, originally. I read an interview with Romero. He said it was hard on the team when Q2 was released because it was code he wasn't familiar with from his id software work, and so they had to start from scratch again (almost). Eitherway, I think Half-Life is more fun ;-) Perhaps we'll see some interesting Quake 1 TFC related work.
---
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
Maybe I'm missing something, but if Quake 1's source code is only just being released, then what's here?
http://bluesnews.g ameaholic.com/idgames.d/idstuff/quake2/source/
Now, the files look quite small, but what are they if not the Quake 2 source code?
Simon.Nope. We are the copyright holder of all works, and we can release any part of it under any license we choose.
Completely aside from that, I think it is still unclear exactly where the GPL wants the separation of code and content.
Few would argue that every document read by a GPL word processor would be covered by the GPL, and most would place maps entered by quake into that catagory, but things can quickly get murky.
Quake game mods are written in QC, but turned into data to be processed by the main code. I think the spirit of the GPL would want that code to be released, but it is only a small step from there to saying that every program loaded by a GPL operating system must be GPL, which is clearly not the case.
John Carmack
If you've been programming for 10 years, just buy Steven's Advanced Programming in the Unix Environment to learn how to do basic OS stuff in unix, and get Computer Graphics, Principles and Practice, by Foley, van dam, et al. to learn how to do the graphics. Finally, the OpenGL redbook will round you out as far as graphics APIs go. For sound, go find the Open Sound System tutorial on the web.
That and some elbow grease (experimenting is the only way to learn) will have you writing games as quickly as is possible.
For Immediate Release
Garland, TX - In the age of free software releases, president of Apogee Software, Scott Miller, has just announced that he will release the source code for one of his most successful shareware title to date, The Adventures of Kroz.
"People only knows how to make 3D games today", said Miller. "By releasing The Adventures of Kroz to everyone, I hope to share the knowledge of moving ASCII characters around", he said.
We have been in contact with some very reliable sources from Apogee/3D Realms that there is already some groups working on an updated version of The Adventures of Kroz, supporting Direct3D, OpenGL, and Glide. "This will be an enormous contribution to the open source community", he said.
The Kroz series is one of the most successful of all times.
I have seen a lot of whining about quake1 data file here(an dumb arguement), but no one has addresed the issue of GPL'd quake1 + mods.
I believe quake1 doesn't directly link with mod code, but has a sort of c interpreter built in.
The mod code must then be parsed and run on that interpreter.
Is it legal to:
1) Use GPL'd quake1 with non-open mods?
2) Distribue quake1 with non-open mod code files?
Blessed are the pessimists, for they have made backups.
OK, now that the whole source code is released, I can forsee quite a few more bot problems. Would it be a good idea to implement another master server list that uses the "blessed binaries" system much like netrek does?
For those not familiar, anyone can get source and mess with their own code, but to play on most servers, you must use one of the binaries that are certified and contain an encrypted key. There would have to be a team that would spend time checking modified code for cheats.. Is this worthwhile, or should I get used to playing with more bot-enhanced lamerz?
Blessed are the pessimists, for they have made backups.
Not going to say a word....
Or is this something specific I just haven't read/seen/grokked?
In terms of recreating reality, I'd much rather go through reality; learning how to fletch, rock climb, rollerblade, make swords, etc, than have an avatar do so. If the metaverse is about doing the impossible, then it isn't much more than a more advanced blending of video games, RPGs, and movies, I think. Life is hard enough, without retreating into an alternate reality to escape our own when our own is already so rich, so beautiful, so powerful.
Perhaps I'm just missing the point?
-AS
-AS
*Pikachu*
The creation of "large amounts of artwork" (I just have to laugh every time I read that) is far from trivial. Artists like myself like to get paid for their efforts and don't like their work getting passed around, occasionally being "defiled" by some well meaning person with MS Paint (This happens more than you'd think). Even with extra time on their hands (something artists don't have much of), why would we want to do art for Q1?
I understand and appriciate your point, but I do however feel that you are wrong. I would consider a project such as the Metaverse a non-trivial attempt at revolutionizing how people interact in an online environment, and that such at project would have to be largly fueled by the work of Open efforts on not only the software level, but the artistic as well. I am in no way attempting to trivialize work of artists, but I am suggesting that many artists would likely be interesting in participating in such a project, and for largely the same reasons - ego boost and sense of accomplishment.
In order to get such a project off the ground, a near-trivial amount of artwork would have to be done, at least in the short term. In order to test the interaction between servers, one would merely need a simple player model w/skin, and a simple room with a few objects that can be interacted with. I could whip up the interior of my apartment with a Quake Level Editor in just a few hours, and I believe that there are many others that could do a far better job in far less time. The same goes for a simple player model and skin (and I mean *simple*)
Once a working system could be implemented in which players can meet in one area, travel to other areas, communicate within and across areas, etc. the foundations would be laid for further progress. More attractive models, skins, areas/maps, interactive objects, and communications mechanisms could integrated and expanded upon.
New users to the system would have to be outfitted with a default room, model, and skin, and I would imagine the artist responsible for those items would feel a certain sense of pride when seeing it used frequently. Also, home-made models, skins, and areas would offer other artists oppurtunities to flaunt their artistic skills.
Of course, this is all merely my own opinions. (c:
--Steven M. Castellotti
Your Brain + EEG + LEGO Robots = Brainstorms
It usually isn't wise to trivialize the art department (unfortunately something that feeds my stereotype of programmers not realizing how much work it really is)
;)
I agree. I work with artists all the time. They know their G4s pretty damn well. I've seen some amazing stuff, but it does take a lot of work. What would interest artists in a GPL project? Does the credit and (hopefully) widespread distrubution interest you? You get to do whatever you want, basically. Do you guys do "art" in your spare time? (please, feel free to generalize for an entire profession
+&x
Here's my question/solution from another post I made:
OK, now that the whole source code is released, I can forsee quite a few more bot problems. Would it be a good idea to implement another master server list that uses the "blessed binaries" system much like netrek does?
For those not familiar, anyone can get source and mess with their own code, but to play on most servers, you must use one of the binaries that are certified to be cheat free and contain an encrypted key. There would have to be a team that would spend time checking modified code for cheats.. Is this worthwhile, or should I get used to playing with more
bot-enhanced lamerz?
Blessed are the pessimists, for they have made backups.
Wrong, wrong, and wrong again.
Id released their own code. As such, they aren't bound by the terms of the license, only the users are.
This means that they could GPL every second line of the code, and release the rest under a look-but-don't-use license, and it wouldn't become GPL. Only things you linked to the GPLed bits would be GPL.
Also, the GPL only applies to the application source. The levels, graphics, and sounds aren't included. They aren't needed to have the application. This is like GPLing a word processor and expecting that any documents produced with it would be GPLed.
ID just released the Quake 1 Source code. That may mean nothing to some of you, but I'd like to point a few things out.
I'm sure some of you are familiar with the GPL, while some may not be. The GPL is the license which most Linux or GNU software are released under. The whole principal behind this license is to guarantee that the GNU suite of software REMAIN open source. Once Open Source, always Open Source (sure, the maintainer may decide one day to take a later version off of the GPL, but the earlier versions would still be covered by the GPL). I won't get too technical here, I'm not a lawyer, but to further illustrate this point I'll quote the readme file that comes with the Quake1 Source code:
"The code is all licensed under the terms of the GPL (gnu public license). You should read the entire license, but the gist of it is that you can do anything you want with the code, including sell your new version. The catch is that if you distribute new binary versions, you are required to make the entire source code available for free to everyone."
That last sentence is what hurts us as a community. If you thought EQ had a bad effect on TF, well you ain't seen nothing yet.
Right now, as we speak, I'm 100% positive somebody out there is trying to compile a version of QuakeWorld with some special features to give him an advantage (cheating). It's inescapable now. Cheating is now easy and simple. No more hex editing or debugging binary code, no more proxies that use some flaws in the way the game works to give you an advantage. No, now people can create real cheats, powerful cheats, cheats we can't detect and they can do it easily. Wall hacks that work everywhere regardless of the map, real autoaim, workarounds for Concs and Gas grens. The possibilities are endless.
What really sucks, however, is that because Quake is now GPL, we can't create a special version, controlled by a 3rd party that we can all use and know that nobody out there is hacking it. They by virtue of the fact that Quake is now under the GPL are required to release any modifications they make for Quake to the general public, and guess what that means? There version will be just as easily hacked as regular quake. Not to even mention the logistics of getting a 3rd party working on the game, and getting everybody behind this one version of quake.
The ONLY possible solution is if somebody were to get special permission from ID software itself to release a version of Quake w/o having to release the code. I find this highly unlikely, however, the GPL has it's purpose and I am fully behind open sourcing Quake. There is a lot that can be learned from the game code, and it will benefit people far more this way.
TF has been on life support for a while now, but ID just pulled the plug. gg ID. gg TF. It's been fun. Time to move onto a new game however.
Dalroth
Formerly of
Dark Shadows
Formerly of
Predatorz
Formerly of
The ShaoLIN Brotherhood
Formerly of
The Ministry of Pain
Formerly of
Tempest
See you guys in UT and Quake 3.
=======
To further expound on that, some people have said that there are people out there who don't cheat, and the majority of players will continue to play honorable.
I do NOT disagree with that. You see, that's not the problem. It's the social implications that will arise as a result of this. You now know that the person on the other side of the internet has unlimited potential to cheat. Any time you get your ass reamed, you're going to be supicious, wether that person really cheated or not. The few people who do cheat, will cheat like bitches and will only further justify this suspicioun. Soon it'll grow to hostility as everybody distrusts everybody and the scene is torn apart at the seams. You say your clan will play honorable, you say your clan won't cheat. But how do you know player (X) isn't cheating? How do you know player (Y) isn't cheating? You WILL be suspicious. It's hard enough to NOT be suspicious as it is.
That is going to be our deathknell. We all saw how we reacted to eV. That was mild compared to what can happen with this one.
Dalroth
==========
If you REALLY care that much, the best thing you can do is send a nice pleasant email to them asking them to allow an exception for somebody to do a closed version of the game with the sole purpose of allowing the community to survive. Spamming them, threatening them, yelling at them and accusing them is the last thing in the world you need to do. That will only shut them off from teh community completely.
Personally, I think in the short run this really sucks. But indirectly, in the long run, what they have done by releasing the code will far outweigh the death of the Quake community. The projects that grow from teh quake source, and the knowlege people learn by using it and studying it will have an impact down the road, however indirectly it may be. I for one am thankfull ID did this. The game code will benefit me later in life (and boy do I ever intend on studying it and learning things work) than a few more months of TF will.
HendriX-uNF wrote:
> while some people might consider this as a ground
> braking present from ID, its also the death bell of
> the community that we played TF with. This move that
> ID just did was nothing more than to push people to
> play Quake 3, in other words they killed a community
> to create another one.
>
> I will never think in any way that John Carmack did
> not know this. He knew quite well that if he killed
> TF, he would gain unbelivable amounts of money while
> pushing people towards the Quake 3 scene. Although
> this "push" is not that obvious to some, to our TF
> community, its going to strike like lightning in the
> next couple of weeks.
>
> Thx ID for creating this community, no thanks for
> killing it.
>
> HendriX-uNF
>know why seti@home and distributed.net don't
>release their source code? It is because the chance
>of people hacking the code and wrecking the
>system outway the benefits of letting people have
>access to the code.
No.
It is one of the basic rules of producing a secure system that you assume that your code and model is and will be open for anybody to look at. You have to make it secure with this assumption. Things are too easy to reverse engineer for it to be worth your time pretending you have some sort of 'secret' approach.
Believe with me, my saplings.
Now that would be cool.
:)
someone needs to make an X window manager based on the quake engine giving a true OpenGL 3D desktop environment
For many years, in fact ever since I installed amitcp and learned how to Goraud-shade on my lil ol Amiga, I've been working on various implementations and designs for useful 3D interaction.
:)
/ ac3d.html) but it isn't open-source and I can't add stuff to output to formats I need or new features (script attachment, physics definitions etc)
:)
There are a number of people working on projects related to these goals, a short search of freshmeat will reveal a good percentage of them. I have my own code, and I'm sure a fair number of programmers out there have code on this particular ideal at one stage or another.
From all this time, heres some insights I'd like to share:
1. OpenGL. Bloody genius. Made my life a hell of a lot easier. Trying to work out complex network protocols as well as keep up with the latest high-speed rendering techniques and maintaining some semblence of cross-platform code was impossible.
2. Linux. While I'm sure many won't agree, and they're welcome to their opinion, the sheer accessibility of Linux' networking and system functions has made things a lot easier. gcc and Mesa don't hurt
3. Libraries. Lots of them have been useful at one point or another in my planning, specifically Mesa and linuxthreads, and less specifically all the people (Including the GNU guys and various universities) writing embedded language libs (see below)
We are out of the chaos of bandwidth limitations and CPU limitations that hampered me when I first tried this kind of thing. It wasn't possible to draw much more than 30 triangles/sec without using assembler, and only the very best of the demo scene were doing anything decent in 3D. Now days 20 lines of C will get you a fully lighted, spinning cube with textures, in realtime, and not a hell of a lot more will get you a landscape engine, a model loader and some physics.
Bandwidth as well, is not as bad is as maintained. You don't need the kind of bandwidth necessary to keep every object and every user in sync, even in big-visibility situations. The simple rule is to only have to sync those items controlled by a human, we're the only unpredictable ones.
The inclusion of embedded languages allows every object, even those appearing to behave in a random fashion, to be deterministic. At this point, we have the CPU to manage such interactions and processing, and we have more than enough bandwidth available to maintain the state of all the humans, even in a fairly busy scene.
Obviously I'm glossing over some details, latency being the biggy, and if I knew how to solve 'em all I'd be busy writing the damn thing, but I think that the point is more not whether its possible, but what the hell are we to do with it should we make it?
As many have pointed out, and I agree, creating 3D chat is worthless. IRC is a far more effective medium for such things, and without VR headgear and voice transmission, the 3D would just get in the way. On the other hand, 3D collaborative environments are already here, at the high end with people like SGI etc. They've found good uses for them, collaborative visual design etc, and such things could scale down nicely into internet applications.
The one closest to my heart is mapping systems to visual entities, essentially expert-system style bots that control networking and monitoring on machines on a network. Here the bandwidth and latency issues disappear (100mbs is pretty common) and the visual mapping is effective (a single-glance can convey the status of the network).
There are many other similar concepts which certainly deserve investigation, so I say unto you programmers out there, busy conjouring up RPG worlds the net can access:
"Not yet. But that don't mean there aint some good stuff to do".
And to those who haven't tried it yet, get your teeth into OpenGL, it rocks.
Tools I believe we need before an Open Source effort can be truely effective:
1. A good, open source, 3d modeller. I love AC3D (http://www.comp.lancs.ac.uk/computing/users/andy
2. A platform independant, embeddable, extensible, interpreted language with a bytecode compiler for size, a good method of removing all filesystem/memory access components, regex, and a fast executor. Guile (http://www.gnu.org/software/guile/guile.html) is good, but it doesn't do all of that.
3. An effective, fast, secure, broadcast-capable combination packet/stream networking library with priority (send this msg NOW, send this message when the queue is clear, this message MUST arrive this message doesn't have to). Should be a fairly easy build on top of udp (with tcp possibly for reliable messages) and a bit of encryption.
If anyone knows any good implementations of solutions to the above, I'd love to hear it
I've got a lot more to say but I'm far enough off topic as it is, and a long dissertion on expert-system AI would not really be appropriate.
You can't win a fight.
If microsfot was a "cool" company, like id (and thats a loong stick to measure by), they would release their old "useless code". It's the best way not to have to support it. Maybe that should be a law? If you won't support your own software, you have to GPL it, or at least open the source.
Opening the 5/8 year old Office95/Win3.11 code could be tremendously helpful to (new) developers. At the very least they make great case studies for student courses.
If these are the "greatest engineering task(s) in human history" then perhaps we should learn how they got there..blah, blah, just pissed at M$ stuff for eating some email.
+&x
I've managed to compile it under FreeBSD in X11 mode, without sound or cdrom support (yet). All you have to do is edit the Makefile so that only X11 binaries are created, modify cd_linux.c and snd_linux.c so that they don't do anything and now you have a native FreeBSD version. No more Linux Emulation.
I'm really setting myself up as a target for massive flames here, but this latest development has made a tough personal choice even tougher.
As you all know, Quake 3 incorporates a new form of copy protection. Each copy of Quake 3 comes with a unique CD key. Basically, when you attempt to play a networked game, your CD key is sent to id Software's authentication server. If it's good, and not already in use by someone else, the server allows you to play. This scheme is to combat unsanctioned copying of their game.
I have several philosophical problems with this:
id Software published Quake and Quake 2 without onerous copy protection in place (Quake 2 would check if the CD was in the drive, but that was it), and id Software made a lot of money. Now here we are at Quake 3, and we are suddenly informed that, "software piracy [sic] has become an enormous problem," without any hard data to back it up. To combat this alleged problem, hard-core cryptographic authentication techniques have been devised and implemented, presumably at significant cost to id...
For a game.
Moreover, id has been encouraging people to treat their Quake 3 CD keys as a secret as closely held as your credit card number. This analogy is grossly flawed in that the two numbers protect two very different things. Accidental disclosure of your credit card number could compromise your account and credit rating. However, accidental disclosure of your CD key probably won't compromise your copy of Quake 3. Rather, it compromises id's ability to sell more copies. Thus, with this flawed analogy, id attempts to conflate sales projections with personal property and reputation.
Are we to presume that, if this particular form of copy protection hadn't been implemented, it would have been impossible for id to turn a healthy profit? I find this very difficult to believe.
For primarily these reasons, I have elected not to purchase a copy of Quake 3. I find copy protection, on general principles, to be an unnecessary inconvenience, and smacks of an attitude of selfishness that has very little place in a Universe where scarcity does not -- and I contend should not -- exist.
Lest you think I am some kind of W4R3Z M0NK3Y, let me, a legitimate purchaser and owner of Quake and Quake 2, state very clearly and <STRONG>ly that John Carmack and everyone at id Software deserve every last penny they receive from sales of their software, plus more besides. Carmack is an absolutely brilliant man, far above my station and ability, and deserves every Ferrari he can lay his hands on. Same with the artists. They have done an absolutely incredible job of creating compelling new worlds for us to explore. All of them have worked unbelievably hard, and earned all the rewards we might wish for ourselves, were we in their shoes.
That's why this release of the Quake source code makes it so much harder for me to stick to my decision. By doing this, Carmack, Zoid, and everyone else at id have reinforced their astonishing coolness and deservedness of my support. I have been enriched by this release, which has only strengthened my respect for them. Against all "common business sense" (which is frequently common but rarely sense), these guys dropped one of the best known jewels of gaming history into the Digital Commons and said, "Here ya go." id Software have done virtually everything right.
...Except for the Quake 3 copy protection.
The infinite copyability of digital bits at zero cost forces a new kind of economic model, one that is fundamentally incompatible with the market-based ecomony we know today (which depends on scarcity/inconvenience to survive). I prefer to acknowledge this new economic model, and try to find ways to live and survive in it. Copy protection, on the other hand, is an attempt to deny this reality and impose artificial scarcity/inconvenience. This is, to a very limited extent, necessary if we're going to continue to be able to develop and enjoy monsterously complex games like Quake 3 (I know I couldn't draw all those textures myself). But the fundamental nature of digital media makes this an extremely brittle solution, as any publisher beleaguered by "piracy" will tell you. Once your protection scheme is cracked, natural forces take over.
I don't even pretend to have a solution to this chasm between our current market-based economy and The (Real) New Economy heralded by digital media. We as a society are still coming to grips with these new capabilities, and have only just started to form new social rules about them. This process of exploration isn't anywhere close to complete yet, so now is definitely not the time to try to bend digital bits into an economically expedient pretzel. (This is true not only for id Software, but also for the RIAA, MPAA, and all the other content providers trying to impose copy protection on the entire digital stream.) If nothing else, it will only make the social shock all the worse when Star Trek-style replicators finally turn up.
id Software: Please pledge to, at some point, drop the copy protection. It is contrary to the nature of digital media, and your unique position in the industry makes me confident you don't need it, anyway.
Schwab
Editor, A1-AAA AmeriCaptions
Comment removed based on user account deletion
They were the real Santa Claus as I recall. I made a quick scan of the article headers and I don't see any mention of them.
Back when Quake was new, crack dot com had the source on one of their servers. Someone happened to lift it from them.
Would Carmack still be giving us this official source release today, if that event had never taken place? He seems like the type who would, but you have to wonder if this subject ever came over at id, before releasing this.
Best regards,
SEAL
Your actual software license is not the text of the GPL, but:
This point is moot, however, because the quake map and pseudocode compiler (the Quake engine) and the data it works on (the precompiled quake-c and the maps) are separate entities.
A Quote from the GPL:
--------
"I already have all the latest software."
My understanding of the GPL is that it has virus like qualities in that all derived works of a GPL'd code base are also 'infected' with the GPL.
Does this mean that Quake 2/3 are now also GPL?
I find it hard to believe that there is NO shared/derived code from one version to the next.
Or does the GPL allow for cases exactly like this where a derived work (Q2) exists prior to the GPL being attached to the precursor (Q1) means that the derived work is exempt?
The difference between Theory and Practice is greater in Practice than in Theory.
This would make a great "budget disc". Loki could put the Quake 1 data + soundtrack on a CD along with Quake 1 for Linux (compiled for several architectures) and the source code. Maybe even toss in a level editor or three. For a reasonable price (~$15 ?) I'd pick it up.
Ita erat quando hic adveni.
I totally agree.
And instant karma is also unnecessary because the real good stuff usually gets moderated up very fast. I'm always amazed that there must (?) be so many folks with moderation points so that insightful links etc. are going up to five only minutes after the message was posted. How many Slashdot readers with accounts are there?
To the original poster: If you're interested in all that JC had to say in this forum, simply click on his user info and you get a list of his statements.
I have applied for a project at sourceforge. Should get comfirmation within 24 hours.. ;-)
In lieu of coming up with a good name, I called it GNUquake.
Blessed are the pessimists, for they have made backups.
I have started a project at sourceforge.net called GNUquake that will be aiming to GNUify quake, make building for multiple platforms easier, improve the sound code so it works with ALSA, and whatever else you all want to add.
The project will remain compatible with the binary quake release, but eventually I would like to add more features that can be used with other GNUquake servers and clients such as a "blessed binary" system to minimize cheats, perhaps protocal improvements, and again whatever is concidered needful.
I am curently looking for a few people who want to help administer. Email me at "spinkham at users.sourceforge.net" if you are interested.
Note that CVS hasn't been updated, as the domain isn't quite active yet.. It should be up in the next 4-6 hours...
Blessed are the pessimists, for they have made backups.
Anyway, I talked to Zoid about releasing it, but he was very unhappy that I had gotten the source, so I thought it was against my best interest to release it (at the time, I thought the source was legal because I had found it on a regular FTP site). But IBM was still distributing Quake 1 v.98 on their Demo disks (which i'm sure they still are).
Anyway, maybe i'll see if I can port it again, as my original copies are prolly lost on an old 43P.
Gonzo Granzeau
"Nothing the god of biomechanics wouldn't let you into heaven for.." -Roy Batty
I don't see any reason why not. It would make a very nice addition to a linux distro.
My question is: are the pak files also GPL'ed, or just the engine?
Well, either way, thangs goes to id for the great work they've done. Q1 is still the greatest game of all time! I still remember all of the fun we had my freshman year in college loading it on all of the machines in the computer lab. Ahh, the memories.
This sig is false.
My understanding is that they can't because Microsoft owns part of it too. And, as you can imagine, it would not be in Microsoft's interest for OS/2 to go Open Source. It would make OS/2 more viable and increase the users' number of choices. From Microsoft's point of view, Choice is Bad Thing, so this simply cannot be allowed to happen.
OS/2 will never be freed from its owners, and therefore is permanently dead, unless IBM changes their mind about marketing it. (BTW, I am typing this on an OS/2 box.)
---
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Quake game mods are written in QC, but turned into data to be processed by the main code. I think the spirit of the GPL would want that code to be released, but it is only a small step from there to saying that every program loaded by a GPL operating system must be GPL, which is clearly not the case.
No, Quake game mods are not required to be under the GPL, at least not if my understanding of the way they work is correct. It's either an interpreter or a JIT compiler, correct? Well, just because an interpreter (like bash) is under the GPL doesn't mean that all the scripts it interprets have to be under the same license. Just because the GCC compiler suite is GPL'ed doesn't mean that the code you compile with it has to be.
The GPL does apply to both statically and dynamically linked binaries, however, so Quake 2 game modifications would have to be GPL'ed if Quake 2 itself was released under only the GPL. If you released Quake 2 in the future under the LGPL then binary-only modules would be fine.
The Quake 2 case is interesting, though, since it's already released under a license that (if not explicitly, than by years of practice) allows binary-only DLLs to be released; and rereleasing it under the GPL wouldn't take away that right for people who purchased the original license. So would people who *hadn't* purchased the original game be allowed to write binary-only modules for a GPL'ed Quake 2? I haven't a clue. Ask RMS.
Under Redhat 6.1, I compiled qwsv and qwcl. I found that at runtime, I get an error like this:
Fatal Error: Pak file has 507261234 files
(or something similar).
There's a problem in QW/client/common.c when it reads the pak file header. Could be a signed/unsigned issue. I wonder if anyone actually tried running the output after compilation at id.
It can think it counts checksums, but you can spoof it all the way. Ever notice? You can do anything with a program by using the ptrace() function call and/or the LD_LIBRARY_PATH environment variable. You can make the loader think it's checksuming one file whereas in fact it's checksuming another, and all sorts of weeeeird things like that.
Even without getting into ptrace(), there's an obvious race condition in this ``read the binary, checksum and execute only if correct checksum'', since the exec() system call demands a filename and afaik there is no fexec() call which would take an already open fd to exec.