Broncode Quake 3 te downloaden onder GPL-licentie

Zoals John Carmack al op QuakeCon had aangekondigd, is de broncode van het ruim vijf jaar oude Quake 3 Arena vrijgegeven. De broncode van het populaire shoot-em-up-spel is grotendeels onder de GPL-licentie gepubliceerd; voor een paar libraries van derden gelden andere bepalingen. Volgens de bijgesloten readme is de source zowel op Mac-, Linux- als Win32-platforms te compileren. Naast de source van versie 1.32 van Quake 3 Arena bevat het archief ook de broncode van versie 200f van Q3Radiant, een editor waarmee Quake 3-levels gemaakt en gewijzigd kunnen worden. De voor Quake 3 Arena gebruikte maps en textures zijn overigens niet vrijgegeven, alleen de vijfenhalf megabyte grote engine is gepubliceerd. Wie het originele spel wil spelen zal dus alsnog naar de winkel moeten.

Quake 3 Arena Logo De gewoonte van id Software om oudere code vrij te geven is uiteraard gunstig voor het bedrijf, dat met eerdere publicaties bijvoorbeeld voor een barrage van mods en maps voor Doom zorgde. Dat leverde het bedrijf niet alleen veel naamsbekendheid en goodwill op, maar heeft ook in niet geringe mate aan de populariteit van het spel bijgedragen. Maar al is deze actie niet belangeloos, id Software doet de open-sourcecommunity wel degelijk weer een technische en creatieve impuls cadeau, en heel wat developers zullen dan ook onder luid gejuich met de 'nieuwe' code aan de slag gaan.

Quake 3 Arena Screenshot

Door René Wichers

Eindredacteur

21-08-2005 • 23:06

59

Submitter: G33rt

Bron: ShackNews

Reacties (59)

59
58
29
7
1
21
Wijzig sortering
Dit is ook goed nieuws voor de wetenschap. De Quake engine wordt niet alleen voor games gebruikt maar ook voor simulaties van bijvoorbeeld een situatie waarbij brand uitbreekt hoe mensen reageren.
Ook andere projecten worden met de quake engine gemaakt:
http://news.bbc.co.uk/1/hi/education/982346.stm
http://www.archimuse.com/mw2002/papers/calef/calef.html
Ik ben benieuwd hoeveel cheats dit gaat opleveren op de volgende LANparty :'(
Maar ik ben ook wel benieuwd wat dit gaat opleveren i.c.m nieuwe, frisse textures, zoals al eerder aangegeven ook hier al wat van te zien is.....(maar dan voor Quake)
Het is op zich niet zo moeilijk om een DLL her te compileren zodat er extra functies toegevoegd kunnen worden voor de gebruiker.

Maar zeg nu zelf cheaten bij een multi-player spel dat doen toch alleen lozers die niet kunnen winnen zonder cheat. (niet dat ik kan winnen met een FPS)
Personlijk vind ik realistische spellen (Amerika's Army, Rainbow Six,etc) wel leuk en daarbij vind ik het juist leuk dat je MET mensen kan spelen.

En quake op een LAN is altijd leuk om mensen neer te knallen die je kent.. vooral als ze beter zijn.. die ene frag tegen iemand die kei goed is, is toch veel leuker dan een cheat gebruiken voor unlimited ammo en alle wapens etc.
Tijdens de eerst volgende LAN gewoon lekker kick en ban en zien wie de lozer is :Y)
De Punkbuster code is eruit gehaald, dus waarschijnlijk hoeven we ons geen zorgen te maken.
Hoe duur zijn de licenties eigenlijk? En doe is een vergelijking met de UnrealEngine 1/2.
@Atlantis 95

Ik meen ooit eens gelezen te hebben dat men $90000 betaalde voor de Quake 3 engine, maar dat was denk ik al vrij lang nadat Quake 3 uitgekomen was, dus die $90000 daar zitten al misschien heel wat prijsdalingen in.

De unreal 2 engine:
Unreal Engine License + 2 years support: $950,000.

Gelukkig zijn er ook goedkopere engines van bijvoorbeeld rond de $100 en dan heb je een commercial licencse.
De engine van Tribes is daar een voorbeeld van.
Grafisch vind ik de de engine van Tribes niet echt spectaculair, maar dat is subjectief en tevens hangt het ook af waarvoor je een game engine wilt gebruiken.
Valt een mogelijke opvolger die ID-software uitbrengt dan ook gelijk onder GPL?
Vooropgesteld dat ze dus deels gebruik maken van de engine van Quake 3.
Als je code die onder de GPL is uitgebracht gebruikt in je eigen code dan ben je verplicht om jou code ook onder GPL vrij te geven, anders schend je het contract en dan krijg je van die SCO dingen :)

edit:
maar iid wat dtech al zegt, ik had het verkeerd gelezen, de volgende software moet niet onder dezelfde licentie uitgebracht worden omdat de eigenaar volgens mij altijd de licentie nog mag veranderen.

maar als JIJ de code gebruikt moet je het wel onder GPL weer uitgeven, maar voor de eigenaar boeit het niet.
ID heeft zelf het copyright voor de code. Dat veranderd niet als de iets met de GPL uitgeeft. Dus ze mogen zelf kiezen wat ze ermee doen, ze zouden dus ook kunnen kiezen het onder nog meer andere licenties uit te brengen.

Zelf een nieuwe engine maken die helemaal niet onder de GPL valt op basis van hun eigen code mag dus natuurlijk ook. Maar als jij (onder de GPL) wijzigingen aanbrengt in de Q3 code, dan mag ID die niet zomaar overnemen (daarvan heb jij immers het copyright). ID zou je wel evt kunnen benaderen om het copyright van jou te kopen, of er een licentie op te nemen zodat ze het in hun closed source versie van de engine kunnen gebruiken.
Je ziet het zo vaak dat gamedevelopers engines vrijgeven onder meerdere licenties. Deze beperken je dan tot wat je er mee mag doen.

In het geval van Quake 3 mag je de code gebruiken zolang je de complete source van je programma maar meeleverd.

Bij hun commerciele licentie hoeft dat niet en mag je geld voor het product vragen.

Maar goed... ik heb weer wat te doen de komende weken :Y)
Dat mag: als ik code eerst onder een closed-licence maak en die daarna openbaar maak mag ik nog steeds de code 'closed-licence' gebruiken, ook al is de openbare GPL code hetzelfde.
En andersom mag het ook... ID is copyright houder.
Nee, je kunt nog steeds een closed-source licentie kopen en de q4 is gebaseerd op de doom3 engine, er zit nauwelijks/geen Q3 code in (ongeveer net zoveel als er van windows 3.1 in xp zit, maw 99% :Y) )
Nee sirieus, er is mischien wat code "afegekeken" , maar dat mag gewoon, net zoals je best een boek uit de biep mag pakken om te gebruiken in je werkstuk.
ik dacht inderdaad dat er in de GPL staat dat software die gebruik maakt van die code ook onder de GPL moet vrijgegeven worden ja ....

maar ik ben er ook niet 100% zeker van ...

edit: te laat
is dus inderdaad zo
maar jah, een professioneel ontwikkelaar die een (commercieel) spel wil uitbrengen op basis van deze engine kan idd nog wel een closed source licentie kopen ...
ID software de ontwikkelaar zelf kan alles doen wat ze zelf willen met deze broncode ook al zitten grote delen in een "opvolger". De enige die ID software een stro in de weg kan leggen is ID software zelf.
De voor Quake 3 Arena gebruikte maps en textures zijn overigens niet vrijgegeven, alleen de vijfenhalf megabyte grote engine is gepubliceerd.
De engine is niet 5,5 MB, dat is de grootte van de zip file waar het in zit.
Uitgepakt zijn de .c source files en .h header files samen zo'n 23 MB groot.

Als je heel grof 10000 regels code per 600KB rekent dan is de engine in totaal zo'n 380000 regels code, daar zal wel wat vanaf gaan omdat er ook andere files in de zip zitten dus heel grof geschat gaat het om misschien 300000 regels C code.
Voordat je iets met de engine wilt beginnen denk ik dat je dan wel enige studie zult moeten doen...de code bestuderen dus voordat je er wat mee kan.(net als met de meeste open source projecten)
wel enige studie zult moeten doen...de code bestuderen dus voordat je er wat mee kan
Als de code goed in elkaar zit hoef je niet de hele code (diepgaand) te bestuderen om toch iets ermee te kunnen doen. Je kunt je concentreren op bepaalde onderdelen en daar wijzigingen in aanbrengen. Bijvoorbeeld alleen de toetsenbord aansturing of alleen watereffecten etc. Zo kun je stap voor stap de code leren kennen en tegelijkertijd toch een bijdrage kunnen leveren, zonder de hele code bestudeerd te hebben.

Je moet natuurlijk wel zoeken waar wat zit.
De gameplay van Q3A vind ik nog steeds ongeëvenaard. Ik ben benieuwd of er met het vrijgeven van de Quake3 engine sourcecode een rivaal kan ontstaan van het langverwachte Quake4 op basis van de Doom3 engine.
Het is dus eigenlijk niet de code van Quake3 die vrijgegeven is, maar de code van de engine van quake3.

Als de Quake3 broncode vrijgegeven zou zijn, lijkt het mij logisch dat na compilen je Q3 kunt gaan spelen. Aangezien dat dit niet mogelijk is concludeer ik dat de broncode van Quake3 niet (helemaal) is vrijgegeven...

Wat ik me wel afvraag is of dit ook niet schadelijk kan zijn voor ID Software. De netcode van Quake3 is gigantisch goed, en bijv. de netcode van de UT series staat een stuk minder goed bekend in de community. Aangezien dat UT nooit open source word gemaakt zouden de makers hiervan dus gewoon technieken uit de Q3 source kunnen halen zonder dat iemand hier ooit achter komt...
Het is wél de volledige broncode.
Broncode is het deel dat, na compilatie, het programma vormt.

Het artwork is echter niet vrijgegeven. Dit is dan ook geen broncode. Dit zijn de afbeeldingen, models en maps die door de engine gerenderd worden.

Daarom ook dat, ondanks je nu gratis de broncode kan downloaden, je nog altijd het spel moet kopen voordat je kan spelen.

Bij de GNU/Linux versie was het al vanaf het begin zo dat de programma's vrij te downloaden waren van de site van iD software (de gecompileerde versie dan), maar je nog altijd het artwork vanaf de CD moest kopieren voor je kon spelen.

Je kan het vergelijken met een website: de HTML-code is vrijgegeven, maar de afbeeldingen niet.
Ik dacht dat broncode die onder GPL-licentie is vrijgegeven, niet gebruikt mag worden voor commerciele doeleinden. Linux is onder die zelfde licentie uitgegeven dacht ik.

Dus als bedrijven de code gebruiken om hun eigen, bestaande code te verbeteren, en het produkt daarna verkopen, mag dat eigenlijk niet. Gebeurt het wel, kan de eigenaar van de broncode daar toch een rechtzaak tegen de uitvoerende aanspannen ofzo ?
GPL mag zeker wel voor commerciele doeleinden gebruikt worden! Anders had ik nu geen baan gehad.

Bedrijven mogen wel degelijk veranderingen in de code aanbrengen en vervolgens dat produkt verkopen, mits het bedrijf de gewijzigde code ook onder de GPL licentie vrijgeeft.

Met (L)GPL of andere Open Source varianten is gewoon geld te verdienen en je voelt je er nog goed bij ook. Kennis hoort niet opgesloten te zitten bij een kleine groep, dat moet je delen en overbrengen.

Dus petje af voor id-software.
Wat ik me wel afvraag is of dit ook niet schadelijk kan zijn voor ID Software. De netcode van Quake3 is gigantisch goed, en bijv. de netcode van de UT series staat een stuk minder goed bekend in de community
Aangezien dat UT nooit open source word gemaakt zouden de makers hiervan dus gewoon technieken uit de Q3 source kunnen halen zonder dat iemand hier ooit achter komt...
Dat kan bij alle open-source projecten maar het lijkt me teveel risico voor epic als ze voor een oud spel code gaat gebruiken tegen de licensie in..
Daarnaast is het imho niet eens nodig omdat de netcode prima is, ik heb iig in al de jaren dat ik UT gespeeld heb nooit gehoord en gemerkt van problemen met de netcode, maar ja, dat zal dan wel vnml bekend zijn geweest in de q3 community ;)
Brengt mij op de vraag hoe het eigenlijk met de netcode van quake4 zit... Doom3 staat niet bepaalt bekens om goede netcode, en q4 is gebaseerd op doom3..
Ik ben het compleet met je eens. Q3 gameplay en engine zijn idd nogsteeds ongeëvenaard. Speel het vanaf het begin ook nogsteeds elke dag ;-)
Ja ik denk ook dat q4 geweldig wordt. Vast iets met donkere gangen en monsters neerschieten die op je af komen of zo.. :Z
Je maakt duidelijk een verweer richting Doom 3, maar als je D3 ziet als een game met donkere gangen waarin monster op je af komen, dan heb jij niet goed opgelet. Bovendien zorgt een engine niet voor een bepaalde manier van spelen, noch voor de AI (die overigens briljant is in D3).
Deze thread is toch weggemodereerd dus what de f***. Ik heb commander keen gespeeld, wolfenstein, doom en quake, stuk voor stuk creatieve hoogstandjes.
Doom 3 is volgens mij een uitbestede uitmelking van een oude topper met kraak nog smaak. Maar ik geef toe dat ik deze post zag als een aanleiding om mijn ongenoegen daarover te uiten ondanks het off-topic zijn. Best wel stout dus..
Het feit dat de graphics ongeevenaard waren, de AI meesterlijk was en de levels gewoon heel goed ingedeeld waren, doet je niets?
Ben ik nou gek, of zijn de bedrijven die de laatste maanden nog licenties voor het gebruik van de Q3 engine in hun eigen producten kochten, nu flink genaait? Of is dat eigenlijk niet meer voorgekomen de laatste tijd, omdat je net zo goed een UnrealEngine 1/2 licentie kon nemen? Werd de Q3 engine überhaupt nog verkocht?
Ben ik nou gek, of zijn de bedrijven die de laatste maanden nog licenties voor het gebruik van de Q3 engine in hun eigen producten kochten, nu flink genaait?
Lijkt me niet.

Wanneer je als softwarehuis een licentie neemt op het gebruik van de Q3 engine dan doe je dat over het algemeen om er commercieel gezien beter van te worden. Oftewel je neemt de engine in licentie en brengt een closed source commercieel pakket/spel op basis van de engine op de markt.
Met de GPL licentie mag dat nog steeds niet.
Let wel, deze commerciële releases wordt dan op basis van een "dual licensing" constructie gedaan. Het is voor de copyrighthouden van source prima legaal om de source zowel onder GPL als een andere licentie uit te brengen, dus zolang er geen wijzigingen van derden op de GPL versie van de sourcecode worden meegenomen in die commerciële release, is er niks aan de hand.
Óf ze releasen het spel commerciëel en geven er de broncode bij; die is tenslotte tóch al vrijgegeven.
Als de engine (een library) niet onder de LGPL wordt uitgegeven (maar onder zijn grote broertje, de GPL) moet je je gehele app die er gebruik van maakt ook onder GPL uitbrengen.

't is maar een kleinigheid, maar toch.
Er zijn gewoon geen bedrijven meer die recentelijk een licentie hebben genomen. Normaal gesproken zou John Carmack afgelopen kerst de Q3 source hebben vrijgegeven (het is inmiddels zo'n beetje gebruikelijk dat ID de source van een engine vrijgeeft op kerst 5 jaar na de release), maar juist omdat er toen nog vrij recent licenties gekocht waren, zag hij er vanaf. Nu is dit blijkbaar niet meer aan de orde, en acht hij het correct om de source vrij te geven.
Geen idee. Misschien kunnen ze aanspraak maken op bepaalde support. Hoe duur zijn de licenties eigenlijk? En doe is een vergelijking met de UnrealEngine 1/2.
Persoonlijk denk ik dat Quake een historische naam is. Unreal is iets wat momenteel meer tot de verbeelding spreekt.
Neen, die zijn niet genaaid. Als je een commerciele licensie neemt op de Q3A engine, kun je hier commerciele games mee maken. Dat mag met deze source code niet. Om iets commercieels te maken zul je alsnog een licensie moeten afnemen.
met de GPL-licentie mag je wel commercieel gaan, alleen moet je de broncode vrij beschikbaar maken voor de kopers.

Een manier om toch commercieel te gaan is bijvoorbeeld om de maps en textures niet vrijgeven
De commerciele licentie geeft je ook recht op support, ik geloof zelfs dat een ID medewerker een week naar je bedrijf komt om samen te werken.
Bovendien is dit de Qake 3 arena source code. De laatste jaren gebruiken games natuurlijk de Quake 3 team area source, die wat nieuwer en beter is. Daar zit onder andere support voor terrain in, games als RTCW, Call of Duty, Medal of Honor etc. gebruiken veel terrain, die zouden niet gemaakt kunnen zijn met gewoon Q3A.
ben benieuwd of er nog sappige comments tussen staan eigenlijk :)

Dat zal ongetwijfeld in de échte source het geval zijn... maar ik vrees dat ID sommige dingen toch wat naar grote-mensen-taal heeft gemodereerd voordat ze dit archief hebben aangemaakt ;)

edit: wat ik vreesde klopt volgens mij wel, op het eerste gezicht alleen maar zakelijke comments. Netjes natuurlijk, maar niet zo spannend :P
Maar ik kan het mis hebben, heb niet de hele code doorgespit op zoek naar leuke dingen ;)
D'r staat nog altijd wel een mooie 'what the fuck?' in q_math.c op regel 561. 't Is ook wel een erg aparte manier van worteltrekken die ze daar toepassen. Maar dit zat ook al in de game source van Q3 die 5 jaar geleden is vrijgegeven.
Volgens slashdot wel. Er staan tientallen 'fuck's in commentaren, plus een paar honderd keer 'hack', 'fix' en 'todo'.
Ik dacht ooit op x-fire te lezen dat op Quake 3 gebaseerde spellen gebruik maakt van de basic win32 window routines om muisinformatie op te halen in plaats van direct input. Verder had iemand (recent) een programma heeft gemaakt om direct-input in te schakelen voor je muis. Dat was meer een runtime hack waarbij het nog vreemd was dat dat niet als mogelijke cheat door punkbuster werd opgemerkt.

Nu zie ik echter in de broncode in code\win32\win_input.c toch duidelijk staan dat zowel direct input als the old-fashioned way ingepakken zijn.

Nu weet ik eerlijk gezegt niet wat voor voordelen direct input heeft. Misschien dat het wat effect heeft op zaken als mouse smoothing en mouse acceleration of dat bijv. logitech game detection er wat mee kan doen. Het zou op zich wel interessant zijn om het in te schakelen - als het al uit staat - maar in een oogopslag kon ik dat niet zien. Als het gebruikt wordt zou in je client logfile een melding moeten staan wanneer de direct input dll ingeladen wordt.
Dit zag toevallig de 19e al.

http://www.liberatedgames.com/gamelisting.php

Hier staat een hele lijst van andere games die vrij zijn gegeven.

Op dit item kan niet meer gereageerd worden.