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: Extreme Tech

De meeste spellen uit de echte oude doos bestaan uit één brok code, maar ongeveer tegelijk met het verschijnen van de eerste 3D games, waarvoor zeer gespecialiseerde stukken code werden gemaakt, ontstond de behoefte om delen van deze spellen makkelijk opnieuw te kunnen gebruiken. Daarom werd het kloppende grafische hart van het spel al snel ondergebracht in een 'engine', die qua opbouw en code helemaal werd losgekoppeld van het daadwerkelijke spel.

Daardoor kon de - vaak complexe - achterliggende techniek niet alleen makkelijk aangepast worden voor eventuele opvolgers, maar konden zelfs compleet andere genres van spellen gebouwd worden rond dezelfde kern. Een goed voorbeeld hiervan is een voetbalspel dat gebruik maakt van de engine die John Carmack oorsprongelijk voor Quake ontwikkelde. Extreme Tech gaat een serie van elf artikelen produceren waarin ze de basis van een moderne 3D game engine in begrijpelijke taal uitleggen. In het eerste deel gaan ze in op de basis van de renderer, een onmisbaar onderdeel van iedere engine voor het aansturen van de videokaart. Hieronder een greep uit de tekst over BSP:

I'm sure you've heard the term BSP used when talking about Doom or Quake. It stands for Binary Space Partitioning. This is a way of dividing up the world into small sections, and organizing the world polygons such that it's easy to determine what's visible and what's not -- handy for software based renderers that don't want to be doing too much overdrawing. It also has the effect of telling you where you are in the world in a very efficient fashion.

A Portal based engine (first really brought to the gaming world by the defunct project Prey from 3D Realms) is one where each area (or room) is built as its own model, with doors (or portals) in each section that can view another section. The renderer renders each section individually as separate scenes. At least that's the theory. Suffice to say this is a required part of any renderer and is more often than not of great importance. Some of these techniques fall under the heading of "occlusion culling", but all of them have the same intent: eliminate unnecessary work early.

BSP plaatje
Moderatie-faq Wijzig weergave

Reacties (47)

Wat ook een voordeel is van een aparte engine tegenover een hele brok code met het hele spel erin is dat als de engine eenmaal geport is naar een ander platform (Linux, Mac OS etc.) het veel makkelijker (lees: goedkoper) word om alle spellen die op die engine gebaseerd zijn te porten.

Dit heeft dus tot gevolg dat er veel meer programma's uitkomen voor die andere systemen, iets wat alleen maar goed is en vroeger met die compleet aan elkaar vastgelijmde spellen niet kon.
Dat kan dus alleen als de engine niet gebruik maakt van systeem-specifieke hardware of als er een laagje zoals DirectX tussen hardware en engine zit... :)
Dan zou je dus ook alleen een engine hoeven te ontwikkelen waaruit de directx code is verwijdert en de rest van de code zou dan wel eenvoudig geport kunnen worden.
Al is een 3d engine nog zo goed, het is de gameplay die het spel maakt...

Voorbeeldje: Counterstrike draait op een opgevoerde versie van de Quake II engine en is nogsteeds razend populair...
Natuurlijk is de gameplay het belangrijkst, maar een goede 3D engine is ook heel wat waard. De oude Quake engine was trouwens ook niet slecht hoor. Maar Half Life op de Quake3 engine zou nog veel gaver zijn. Dan krijg je hetzelfde effect als OpenGL Doom :D
Counterstrike=half-life
Half-life was toch gebouwd op een zwaar getweakte Q1 engine?

edit:
Weg met die veel te lange edits
klopt.. h-l is een zwaar gemodde q1 engine al snap ik de verwarring wel.. hij is zeer goed gemod en lijkt i.e.i. op de q2 engine.. inderdaad een behulpzaam ;) voor de q2-engine konden ze geen license krijgen

edit: OT :? dan zouden alle wel-of-niet-q1-of-q2 replies ot moeten zijn
men wou eerst teamfortress2 op de quake2 engine laten draaien omdat deze wat beter te gebruiken zou zijn voor mensen met een mindere pc.
Hier is toch vanaf gezien aangezien polls hebben uitgewezen dat het aantal mindere pc's laag is.

Voor wat plaatjes uit de bejaarde doos moet je eens op www.planethalflife.com/nostalgia kijken, daar zijn wat plaatjes van Halflife beta's te vinden.
Hierop is het toch duidelijk te zien dat het om de quake1 engine gaat
valve is indertijd begonnen met q1, later hebben ze ook delen van q2 code gebruikt. inmiddels is die engine voor 80% herschreven met eigen code van valve.
Neuh, Quake2 dacht ik. Net zoals Soldier of Fortune. het gebruik van deze oudere engines heeft trouwens wel het grote voordeel dat de systeemvereisten niet bijster hoog hoeft te zijn, en dat de uit-ontwikkeling er van een stabiel draaiend spel oplevert. het zelfde zie je nu ook weer met de (ook al weer 3 jaar oude) Quake3 engine, die in zwaar ge-optimaliseerde vorm Medal of Honor doet verschijnen op m'n scherm.
Kijk, en hier lullen (flamen meestal) dus al duizenden gamers jarenlang over...

:+ :)
Onderschat Counter-Strike niet, je kan elke GeForce4 mee kapot tweaken (3fps sucks). Als je CS standaard draait, draait het op een GeForce256 redelijk (hoogste resoluties zitten onder 30fps), draait het op een GeForce2Ultra goed (altijd boven 30fps).

Je kan fusion pack op installeren, zalige skins voor CS, super realistische gunssounds en extrem quality realistische skins, de AK klinkt alsof je in Afghanistan woont, niiiiceee. Maar de minimumsysteemeisen zijn officieel p3 600Mhz + 128MB + grafische kaart met 32MB, daarmee krijgt je net wat grafix op 640*480, als je betere resoluties wilt, meer systeemeisen. Dan kan je op een GeForce4 met moeite 30fps op de hoogste resolutie halen.

Dan kan je nog altijd met paar regeltjes in console CS-grafix nog wat verzwaren.

Je kan met opgetweakte CS-grafix zelfs Quake 3 Arena verslaan. Zeer nice systeemeisen.
Is het niet zo dat de 3D engine een onderdeel is van de gameplay?! Zonder 3D engine geen gameplay, in een 3D game that is. Bovendien bepaalt de 3D engine volgens mij een deel van de gameplay... denk bijvoorbeeld aan Quake t.o.v. Black and White.
Nee dat is een methode om de game weer te geven.
En bij 3d First person shooter 'n vereiste.
Maar bij 'n RTS game niet is het optioneel.
Heel veel 2D games die 'n 3Dfolowup hebben zijn heel vaak geflopt.
2D games die 2D zijn gebleven zijn deden het vaak ook goed mits de gameplay in orde is.
'n Balance game met goeie gameplay zodat de de gamer het spel langer blijft spelen is veel belangrijker dan 'n whouw 3dengine.
Stel je een game voor met weinig gameplay en een goede next gen tech engine.

SeriousSam
Quake1
Incoming

Het whouw effect is zeer groot maar de duur play is er niet omdat het veel te gauw verveelt.

De folowup heeft hier minder last van omdat de 3Dengine er al is en er veel meer aandacht over is voor de gameplay waar niet altijd van gebruiktwordt gemaakt.
De meeste 3d RTS zijn geflopt door valse 3d.

Homeworld is de enige serie RTS'sen met full 3D, maar is wel wat moeilijk (vijanden komen niet alleen van de 4 windstreken maar ook van boven en beneden)
Force Commander is ook een RTS met full 3D.
Om voor mij onverklaarbare redenen grotendeels genegeerd door de review sites.

Zal wel komen omdat er geen spice (of vervanger van spice) in geharvest wordt. Als je niet op de al-oude bekende methode de RTS kan spelen is het niet leuk meer. Dan moeten ze ineens gaan nadenken en zo.
De Quake 2 engine is de Quake 1 engine met coloured lights en nog wat snufjes... je kan idd wel zeggen dat Counterstrike op de Quake 1 engine draait :)
De half-life engine is gebaseerd op de Quake 1 engine. Niet op de Quake 2 engine.
Goeie ouwe tijd zonder t&l dus... :P

edit:

Damn mag ik ook een keer stoned zijn.. jezus..
uhm, t&l staat voor transform & lighting, en ik zie niet in hoe wat dat met het artikel te maken heeft. Als je doelt op hardware rendereing: bsp trees en portals worden nog steeds gebruikt

.edit: :D @ osiris
typo removed (maar lightning geeft ook belichting ;) )
...en ik maar denken dat de l bij t&l voor lighting (belichting) stond, en niet voor lightNing (bliksem)... :o
Als reactie op die edit: goeie zaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaak :P
pondje crystal anyone? }>
Precies wat ik nodig had. Moet voor school een profielwerkstuk doen, 3D Engine is het onderwerp, dit artikel is zeker weten het antwoord :D

Nu maar ff lezen, en hopen dat het artikel een beetje goed in elkaar zit, want als het in elf delen word gemaakt (las net ff eerste pagina :D) lijkt het mij best moeilijk om alles goed in te delen etc...
Als je nog véél uitgebreidere beschrijvingen etc. wilt vinden, moet je eens gaan rondneuzen op www.gamedev.net (articles & resources), of op www.gamasutra.com . :7
Hmm ja..

Hlaf-Life en Quake waren denk ik de eerste die dit echt deden..

Ik heb tenminste nooit bij een spel gezien:
"Build on the doom engine"

:+
hehe dat denk jij, doom had de eerste (bij mijn weten) 3d raytrace engine die niet haakse hoeken ondersteunde
(ik heb denk ik bij een van die doom leveleditors nog wel een volledige uitleg over de doom 3d engine als imeand geintereseerd is-mits ik het nog kan vinden...)
zoals bij de voorganger wolfenstein 3d daar had je alleen maar 90graden hoeken. overigens is de doom 3d engine een 2d engine met enkelvoudige hoogte, dit houdt in dat er op elk punt in de kaart geen 2e punt er boven kan liggen, doom is als het ware een platte bouwtekening waar muurtjes op zijn geplaatst en op het hoogste punt een plafonnetje texture is tegen aangeplakt. de opvolger, duke nukem 3d was op het zelfde principe gebaseerd met de uitzondering dat je in dn3d OP een _sprite_ kon staan en die kon wel ergens boven zweven zodat het af en toe leek dat je over een bruggetje kon lopen waar je ook onder door kon lopen (iets wat in doom dus absoluut NIET kon)
Het is (zoals verderop gemeld) een rayCASTING engine.

Hier wordt per verticale beeldlijn een straal geschoten todat dez eeen muur raakt.. Hoe verder deze straal gaat hoe dichter bij de horizon de onderkant van de muur zit.

* 786562 Janoz
hehe dat denk jij, doom had de eerste (bij mijn weten) 3d raytrace engine die niet haakse hoeken ondersteunde
real-time raytracing?? ik denk het niet.
Je loopt een aantal jaren vooruit op de feiten.
ehm ja vergeet niet dat doom maar een beperkt aantal puntjes (64000) en kleurtjes had het was weliswaar een erg beperkte raytracing maar het ging wel volgens het principe van raytracing, hier ben ik best wel zeker van (tenzij die gast die 12 jaar geleden de werking van de doom "3d"engine uitlegde wreed zat te liegen) als je wil kannik het nog wel eens opzoeken das geen probleem
[nostalgiamodus]
ik hoop alleen dat ik die dingetjes van zo lang geleden nog heb *snik*
[/nostalgiamodus]
Dan is Duke Nukem 3D toch net iets eerder. Op die 'engine' (hij ondersteunt alleen software rendering) zijn meerdere spellen uitgebracht (o.a. Shadow Warrior).
Heretic gebruikte een aangepaste Doom engine.

En het spel Tekwar (naar die boeken van William Shatner) gebruikte als eerste de Build engine (wat volgens mij ook weer een voortbouwsel op de Doom engine was maar don't flame me als het fout is), welke later weer werd gebruikt in Duke3D en Shadow Warrior en nog een aantal spellen.

De Quake engine was wel de eerste waarbij duidelijk werd VERMELD dat het spel die gebruikte, maar dat was omdat dat de eerste engine was die echt bekend was en voor kwaliteit stond bij mensen.
Bepaald de Engine dan ook de systeem eisen ?? Of denk ik nou gewoon helemaal vaag op een maandagochtend. :z
Maar voor een klein deel. Systeemeisen worden voor het grootste gedeelte door de gerenderde levels bepaald. Daarom gaan 3D engine's ook lang mee. Doordat de computers steeds krachtiger worden kun je complexere levels laten renderen waardoor en spel met dezelfde engine er beter uit ziet dan een ander.
Nee.....een aangepaste versie van de Q1 engine met stukjes van de netcode van Q2
De meeste spellen uit de echte oude doos bestaan uit één brok code, maar ongeveer tegelijk met het verschijnen van de eerste 3D games, waarvoor zeer gespecialiseerde stukken code werden gemaakt, ontstond de behoefte om delen van deze spellen makkelijk opnieuw te kunnen gebruiken
Hebben ze het hier niet over modulair
programmeren?
Maar idd daarvan is de engine denk ik wel 't interessants.
k'Ga maar eens met interesse dit lezen.
Ehmz... even kleine verbetering:

Ik ken ook:
- tile engines (heeeel oud ;-))
- sound engines (sb pro whappaaa!!)

Dus ik dacht niet dat 3d-engines de eerste engines waren, dan doe je geen recht aan dingen als MIDAS sound system :)

Dis een flamebaitje denk ik :)
tis bij voorbaat al heel lomp om alle sub-engines op 1 hoop te gooien :)

een game engine bestaat uit meerdere engines.. waaronder een 3d engine, maar zo ook een voor geluid bijvoorbeeld... wrom op 1 hoop gooien ?
Mensen die nu nog een 3D engine maken op basis van BSP zijn fout bezig. DOOM III, de nieuwe Unreal Warfare engine, allemaal zijn ze geen BSP engine, maar portal-based.

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