Engine: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Xqbot (overleg | bijdragen)
k robot Erbij: ms:Enjin permainan; cosmetische veranderingen
Regel 1:
{{zie dp}}
Een '''engine''' is de [[software]]matige basis van een [[computerprogramma]]. Het genereert de werking van het programma. Bij [[computerspel|computerspellen]]len wordt het meestal de 'game engine' genoemd. Het woord ''engine'' is [[Engels]] voor ''motor'', en dit is erg toepasselijk aangezien de game engine letterlijk de motor voor het spel is.
 
== Techniek ==
{{wrapper}}
|-
| [[AfbeeldingBestand:NexuizBloom.jpg|thumb|De ''rendering engine'' bevat allerlei technieken; getoond is het ''bloom'' effect in ''[[Nexuiz]]''.]]
|-
| [[AfbeeldingBestand:ODE crash.png|thumb|De beweging van objecten wordt geregeld door de ''physics engine''.]]
|-
|}
De gemiddelde game engine is onder te verdelen in een aantal modules die elk een specifieke taak hebben. Deze modules zijn in theorie onafhankelijk van elkaar en kunnen los van elkaar geschreven, gekocht of verkocht worden door een producent. Enkele voorbeelden van zulke modules:
 
* De '''rendering engine''': De module die berekent wat er op het scherm moet komen. De rendering engine bepaalt de positie van de 3D-modellen en plaatst de ''texture'' erop. De lichtbronnen worden bepaald en daarmee dus ook de belichting van de omgeving. Vervolgens worden er allerlei technologische trucs uitgehaald om het geheel er zo goed mogelijk uit te laten zien. Hierbij valt te denken aan ''anti-aliasing'', ''trilinear filtering'', ''bump-mapping'', etc. De rendering engine communiceert sterk met de [[videokaart]] van de [[computer]]. In het geval van [[Microsoft Windows|Windows]] systemen gebeurt dit meestal via het programma [[DirectX]] dat fungeert als vertaler tussen de engine en de videokaart. Een open source variant van DirectX is OpenGL. OpenGL wordt het meest toegepast op het [[Linux]] platform, maar kan ook op Windows gebruikt worden.
 
* De '''physics engine''': Deze module moet ervoor zorgen dat de objecten in de spelwereld zich realistisch gedragen. De physics engine berekent welke krachten een object beïnvloeden en beweegt het object overeenkomstig met deze krachten. Te denken valt bijvoorbeeld aan [[zwaartekracht]]. Wanneer een model zich in de 'lucht' van de spelwereld bevindt en er sprake is van [[zwaartekracht]], zal de physics engine het object naar beneden verplaatsen met de in de spelwereld aanwezige [[valversnelling]].
 
* De '''scripting engine''': Dit is de module die alle in scène gezette acties reguleert. Waar vroeger deze scènes werden getoond aan de speler door middel van videobeelden ([[cutscenes]]), worden nu de computergestuurde karakters en hun omgeving door de scripting engine gemanipuleerd volgens een vooraf bepaald [[computerprogramma|script]]. Hierdoor wordt bij de speler de indruk gewekt dat hij niet alleen is in de spelwereld, maar dat hij deel uitmaakt van een groter geheel.
 
Een voor de hand liggend misverstand is dat er voor de [[kunstmatige intelligentie]] ([[Kunstmatige intelligentie|AI]]) in het spel ook een engine is, maar dit is meestal niet het geval. Hoewel AI een belangrijk onderdeel van hedendaagse spellen is en het moeilijk is om een goede kunstmatige intelligentie te schrijven, is er geen globale spelmodule die de AI aanstuurt.
Regel 23:
== Financiën ==
 
Game engines zijn een groot goed in de gamesindustrie. Een goede game engine is een complex product en erg duur om te produceren. Vaak moet, om zo'n dure engine [[rendement (energie)| rendabel]] te laten zijn, de engine meermaals gebruikt worden (of onderdelen hiervan). Dit kan de producent zelf doen door meerdere games op deze engine uit te brengen, of door andere games producenten de engine onder [[licentie]] te laten gebruiken. Dit heeft ook grote voordelen voor de andere producent aangezien deze een game kan ontwikkelen op een goede engine zonder de ontwikkelingstijd en ontwikkelingskosten die met zo'n engine gepaard gaan. Hierbij dient wel rekening gehouden te worden met het feit dat hoe nieuwer een engine is, hoe duurder het is om er een licentie op te nemen. Oudere engines zijn goedkoper, maar het gebruik van een oudere engine kan resulteren in minder afzet. Het blijft dus een afweging.
 
== Voorbeelden ==
 
* De [[Quake engine]]. Deze engine van [[id Software]] was zijn tijd ver vooruit en de verschillende incarnaties van deze engine hebben de basis gevormd voor een groot aantal games. Naast Quake is deze engine gebruikt voor bijvoorbeeld [[Hexen II]] van [[Raven Software]] en, in sterk aangepaste vorm, voor [[Half-Life]] van [[Valve Software]]. De engines van [[id Software]] worden altijd geschreven door één persoon, te weten [[John Carmack]]. Inmiddels heeft Carmack een dusdanige status op het gebied van computergraphics dat producenten van videokaarten e.d. naar hem luisteren als het gaat om de toekomst van grafische technologie.
 
* De [[Unreal Engine]] van [[Epic Games]]. Van deze engine, waarvan ook al meerdere versies bestaan, is een sterke concurrent van de Quake engine met als sterke punt dat de engine beter in staat is om met grote ruimtes om te gaan.
 
* De [[Source engine]] van [[Valve Software]]. Na het succes van [[Half-Life]], gebaseerd op de Quake engine, heeft Valve de tijd genomen om met een goede eigen engine te komen. Na 6 jaar werk (wat goed illustreert hoe kostbaar zo'n engine kan zijn) kwam Valve met de Source engine. Deze engine weet zelfs op middelmatige [[personal computer| PC's]] complexe en gedetailleerde omgevingen weer te geven zonder dat er (al te veel) haperingen optreden. Deze engine is een mooi voorbeeld van hoe modulair een engine kan zijn; De (overigens zeer goede) physics engine van de Source engine is door derden ontwikkeld ([http://www.havok.com Havok]) en onder licentie verstrekt aan Valve. Op deze engine zijn inmiddels een aantal games gebouwd, waaronder [[Half Life 2]], [[Half-Life 2: Episode One|Half Life 2 Episode One]] en [[Counter-Strike | Counter-Strike: Source]] helaas loopt deze engine tegen zijn einde aan, en wordt er o.a. gespeculeerd dat de een nieuwe engine van Valve wordt gepresenteerd tijdens de aankomende e3. Oftewel Source Engine 2, deze zal dan onder meer worden gebruikt voor Half Life 3 en eventueel Half Life 2 Episode 3.
 
* De [[CryENGINE 2]] van [[Crytek]]. Deze engine is zijn tijd weer een stuk vooruit, met als showcase [[Crysis]]. Er zijn ook andere spellen voor gemaakt, zoals [[Entropia Universe]] en dergelijke, aangezien deze engine meer geschikt is om mooie gebieden te maken, dan om actie weer te geven, omdat hij te zwaar is voor zijn tijd.
 
* De [[Quest3D]] engine. Deze engine is van Nederlandse makelij en onderdeel van het Quest3D ontwikkelplatform. Voorbeelden van games die ontwikkeld zijn met Quest3D zijn [[Ship Simulator]] en [[Audiosurf]].
 
== Zie ook ==
* [[:Categorie:Game engine|Game engine]] (categorie)
 
[[Categorie:Software]]
Regel 60:
[[ko:게임 엔진]]
[[mk:Погон за видеоигри]]
[[ms:Enjin permainan]]
[[no:Spillmotor]]
[[pl:Silnik gry]]