Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 47 reacties
Bron: Planet Quake

John Carmack, de alom bekende programmeur van 3D engines, gebruikt in vele games waaronder Quake, Quake II, Quake III Arena en Return to castle Wolfenstein, heeft in zijn .plan bekend gemaakt dat id Software, het bedrijf van Carmack, de sourcecode van de Quake II engine heeft vrijgegeven. De sourcecode is gelicenseerd onder de Gnu Public License (GPL):

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

De 1.43MB grote file met de C sourcecode kun je hier downloaden.

Moderatie-faq Wijzig weergave

Reacties (47)

ID Software roelt!

Dat ze de source hebben vrijgegeven houdt in dat mensen die het leuk vinden deze source kunnen lezen en ermee prutsen, en er zo van kunnen leren.
Ook kunnen mensen hun uitbreidingen ervoor programmeren, verbeteringen aanbrengen, performance tweaks maken en het resultaat weer delen met andere mensen.

Dat is nou open source software :)
Ja, als Microsoft nu even de source van Windows 95 vrijgeeft, zijn zij ook top ! }>
Nou, ik denk dat je schrikt van de bagger die je aantreft. Zo bleek de code van IIS 4.0 (reverse-engd.) ook niet bepaald netjes in elkaar te zitten (understatement).
En zou dat mischien niet toevallig enigzins verband kunnen houden met het "reversed-engineered" zijn van die code? :+ ;)
Niet erg klein die sourcecode? Maar 1,43 mb.
Niet erg klein :?
Vroeger wisten ze komplete spellen met gigantisch grote plattegronden in een 48k ZX spectrum te duwen. Ik denk met de grafische mogelijkheden van die Sinclair dat ook Quake in die 48k te proppen is (het zou denk ik onder de liefhebbers nog aanslaan ook :) ).In de huidige PC tijdperk vind ik het knap dat de source van het spel maar in een paar Mb zit. Maar vergeet niet dat de huidige formaten van spellen alleen maar zo groot zijn vanwege de grafische en acoustische gedeelte.
Helaas zegt de grootte van een source niets over de grootte van het uiteindelijke programma.
Zeker niet wanneer je in assembly programmeert.
Meridian, een midi-editor voor de MSX die nog geen 128K groot is heeft een (pure assembly) sourcecode van zo'n 3 MB.
Meridian, een midi-editor voor de MSX die nog geen 128K groot is heeft een (pure assembly) sourcecode van zo'n 3 MB.
DAT vind ik knap. Pure assembly source code is namelijk bijna(?) altijd precies even groot als de draaiende code. Of bedoel je een ASCII dump van die source code?
Assembly code is de code in mnemonics, dus bijvoorbeeld 'lda a,#17'.

Waar jij het over hebt is de geassemblede code, de runtime module (of gewoon 'runtime') dus.
Code voorbeeldtje
class veldje
{
protected:
typedef struct
{
__int8 backtile;
BOOL b_Backobj[2];
__int8 I8B_obj[2];
__int8 backtiletype;
__int8 objecttype;
} cell;
cell veld [1023] [1023];
Dit past niet in 48K
En heeft wel niks met 3D te maken maar toch.
Als je kijk naar atari ST game console 4K of sinclaire 3D games waren toen zo kaal alleen wireframes en geen miljoenen vertices maar enkele en ook zeldzaam .

Het is de Game data/art dat groot is, 'n 3D mesh bij voorbeeld game character heeft 1000 vertices dat zijn minimaal 3 floats per vetices dan heb je de 3D wereld nog stel je voor wat Quakes memory footprint is .

De sinclair Z80 lijkt mij geen 3D reken wonder zit geen 3D hardware in is 8bits en wat heeft die wel 'n FPU

Die komplete spellen van toen waren vooral 2D en niet vergelijk baar met die van nu.

De OS kernel en 3D hardware drivers passen al niet in 48K aangezie Quake op 'n hogere OS draaid die kaal al niet zou passen denk aan Windows CE en die sinclaire heeft er de hardware niet voor en rekenkracht niet voor zoiets als quake.

Quake is 'n gevolg van de hardware technologie evolutie en de Quake engine is al zwaar geoptimaliseerd voor de target systemen van toen Quake uitkwam. met aanzienlijk veel assembly optimalisatie.

die 32K komplete game voor die 48K sinclaire is ook 'n complete game voor die platform van toen.
Maar is een hemelsbreed verschil met de huidige games met 'n memory footprint van 100MB intern geheugen en 'n 30MB videomemory gebruik en 500MB complete game op de Harddisk.

He hoe groot is de sinclair video memory ? toen was er geen openGL/DirectX voor de sinclare dus die Code moet de game zelf in software hebben want er is ook nog es geen hardware voor 3D functionaliteit

D'r zijn wel trukjes voor zogenaamde gigantische velden te maken bijvoorbeeld space game met 'n scrolende leegte waar je eigenlijk geen veld hebt maar scrollende game objecten. met repeterend eachtergrond pixels(stars) of
in 3D enkele lijntjes in een heel groot zwarte leegte.
Maar zal er niet uitzien in vergelijking met de huidige games.

Meer memory meer game data meer features en meer detaile.
Als je kijk naar atari ST game console
De atari ST was geen game console, jij bedoelt de Atari 2600, de atari ST was een desktop machine (kompleet met GUI, en dat in de tijd dat de PC's nog met MS-DOS werkten)
Het was ook zo lang geleden ;)
Onder sourcecode valt niet data, zoals plattegronden, plaatjes en muziek. Juist die data is vaak erg groot, maar kan wel goed gecomprimeerd worden.
1.43mb is de .zip file. met een compressie van 74% ja.

wat wel raar is :
This is the complete source code for Quake 2, version 3.19, buildable with visual C++ 6.0. The linux version should be buildable, but we haven't tested it for the release.
m.a.v. ze weten niet eens of het wel werkt met VC++6. waarschijnlijk gebruiken ze dus zelf ook een andere compiler. en hebben ze misschien stukken code toch weggelaten. ik zou bijvoorbeeld het netwerk stuk weglaten om hacks te voorkomen.
Als er staat "buildable with visual c++ 6" dan wil dat volgens mij zeggen dat het WEL werkt met msvc6 hoor...

En waarom zouden de moeite nemen om stukken source weg te laten? Hacks heb je toch al genoeg, bovendien is security through obfuscation, dus zoveel mogelijk geheim houden, nooit een goed idee. Dat is juist één van de redenen waarom Linux als veiliger kan aangemerkt worden bijvoorbeeld.
Niet erg klein die sourcecode? Maar 1,43 mb
Vergeet niet dat dit alleen (de ingepakte source van) het programma zelf is, niet de data files.
The product is gemaakt voor 64KB, Q2 is gemaakt als spel. De geometrie, textures en muziek in The Product zijn gegenereerd dmv functies. De code die er inzit is voornamelijk code dat spul genereert, meer niet. Al wat je verder ziet is camera's die vliegen door de geometrie op basis van splines, die je met zeer weinig stuurdata kunt berekenen. Ze hebben een editor gebruikt voor het in elkaar zetten van de visuals, zodat alles getimed met de muziek loopt. Maar alles is erop gericht geweest om zoveel mogelijk te proppen in 64KB.

Verder zit er in deze sourcecode wel even wat meer dan in the product :) (waar overigens ook een half jaar aan gewerkt is (de editor voornamelijk)).
Ho er zit een groot verschil tussen zo'n demotje en een spel. Een spel is namelijk interactief. Je hebt een AI engine nodig voor je bots die best wel goed moet zijn, je moet een 3D geluidsdriver hebben, je hebt procedures nodig die vanallerhande dingen met textures kunnen doen. Je moet een menu maken dat ook nog eens leuk geanimeerd moet worden etc...
Daar komt toch best veel bij kijken, dus zo gek is het niet...
en ik vind .the product nog nie eens zo mooi
wel indrukwekkend staaltje van 64k demo, maar mooi kan ik em nie noemen.
nee geef mij dan maar die nieuwe van farb-rausch, die uitnodiging voor the party 2001.
die ziet er gewoon grappig uit, visueel vind ik em aantrekkelijker.
oke, demotechnisch is ie niet zo bijzonder, maar mooi is ie wel
Aan de ene kant mooi voor mappers en MOD'ers. Maar voor de mensen die een beetje willen lamen is dit de ideale situatie. Ze kunnen zo de allerbeste cheats maken. Een beetje programmeur maakt hier een menu met alle cheats van. Ach goed, heb nooit Quake 2 gespeeld, dus mij maakt het eigenlijk niet uit ;).
Nou, dit gaat wel een stukkie verder dan MOD's hor... het vrij geven van de engine geeft totale vrijheid, en dat is inclusief je eigen SPEL maken, niet MOD meer. Zit dus een niveautje hoger... en voor cheats hoef je niet echt bang te zijn, want de quake2 netwerk protocol is zodanig, dat het vrij lastig is daar iets voor te maken, ONDANKS dat je de source hebt :)


Maar dit ruled verder wel :) Eens effe kijken hoe hun een aantal problemen hebben aangepakt........ :)
daarover zegt JC:
" I'm sure I will catch some flack about increased cheating after the source release, but there are plenty of Q2 cheats already out there, so you are already in the position of having to trust the other players to a degree. The problem is really only solvable by relying on the community to police itself, because it is a fundamentally unwinnable technical battle to make a completely cheat proof game of this type. Play with your friends."
zal wel weer een hoop slechte 3dshooters opleveren die goedkoop aan een engine kunnen komen en dan met ondoordachte gameplay een spel uitbrengen. Ala davilex kwaliteit. 2 uur lekker spelen en het spel uitgespeeld hebben
De q2 engine is imho inmiddels zo achterhaald dat het waarschijnlijk alleen door de beginnende hobbyist word gebruikt als basis van een nieuw spel, en dat zal waarschijnlijk dan niet groot genoeg worden om echt bekend te zijn.. Op z'n hoogst een plaatsje op de CD van PC Zone in de map inzenders.

Lijkt mij dus.
kweenie hoor, maar halflife is nog steeds aardig groot (zeker als je CS meetelt) en is dus gebaseerd op de Q2 engine. Weliswaar een verbeterde Q2 engine, maar dat zouden "vrijetijd" programmeurs nu dus ook zelf kunnen doen. En Ion Storm heeft laatst nog een game uitgebracht die op de Q2 engine draait, al ziet dat er idd. wel redelijk gedateerd uit. Toch draait het ook om gameplay, goeie gameplay doet je de graphics heel snel vergeten, andersom moet ik dat nog zien gebeuren. Verder vindt ik dit een leuke ontwikkeling voor een open source platform als Linux, met een beetje mazzel kunnen ze weer wat leuke spellen tegemoet zien (niet dat die er niet zijn, maar de keuze blijft beperkt).
dat bleek ander bij doom en quake1 wel mee te vallen.

(de slechte doom clones zijn van voor het vrijgeven vd source, sindsdien is dat opgelost door strengere selectie bij verstrekken v licenties door id-software)
Had op school een Quake2 versie die was 8 meg ongeveer, inclusief geluid alles erbij. Er was 1 multiplayer level. Q2DM1 :) Enige wat nodig was dus :)
Je kan hem strippen tot ongeveer 1,2mb (compressed) zodat hij op een flpppy past (geen gleuid gelof ik) en q2dm1
FF over formaten:

deze demo: http://www.farb-rausch.de/fr08_final.zip
(DIE JE SOWIESO MOET ZIEN!!!)

is slechts 64k. Daarvoor krijg je een 3d engine, loads of textures, muziek... the works.

Uit deze 64k komt in totaal 1,9 Gb aan data (30000 op 1 compressie :))

Ok, die 64k is niet de source (heb geen idee hoe groot die was) maar het bewijst wel, dat uit hele kleine dingen hele grote dingen kunnen komen...

Check it out, is echt cool :)
???
Kan em niet runnen: ik schijn een dll te missen (d3d8.dll) :'(
Iemand een oplossing (draai Wtweenulnulnul)?

Wel cool dat ze die code vrij hebben gegeven. Ga wel ff kijken, zal er alleen niet veel van snappen, vrees ik...
Gewoon even DirectX 8.1 installeren, zit ie bij :Z
w00t!!! :9 :9~

die's zo cool!!!
WTF? Wat die gasten voor elkaar hebben gekregen jongens, dat is ONGELOVELIJK! Damn... kan bijna niet! :) Als nou zo ELKE spel was he :p :) HELE goeie grafisch, en HEEL erg klein :) Nice!
:o ZOOO DAN! Dit werkt beter dan viagra! :o
Dit wordt weer drie weken moeilijk zitten en lopen!! :D
een 64k demo is wel weer van een ander niveau dan een game. (zoals ook eerder in de reacties van dit spel zijn genoemd). dit zijn echt 2 verschillende dingen met elkaar vergelijken.
ff ontopic als je dus een betaald spel wil maken met de qII engine moet je nog steeds betalen...wel "afgeprijsd" kgeloof dat ie nu $10.000 was, vraag me af wat dan de QIII wel niet moet kosten |:(
Maarruh.. het is toch GPL?
Volgens mij mag je dus gewoon jatten en gebruiken, met als voorwaarde dat alle software waar je GPL-Source voor gebruikt dat dat ook GPL moet worden.
Moah ermee prutsen gaat niet echt lekker.. (of notepad gebruikt het unix nextline commando) dit is onwerkbaar zo.. Als je hier wat in wil rondprutsen, moet je eerst elke regel weer goed zetten met inspring en alles..

Maarre op zich wel leuk om eens uit te gaan pluizen als je zelf iets met 3d wil gaan doen..
Met Wordpad ziet er wel goed uit, probeer dat maar 's :)

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True