hotness 0
News

Column: Praten over game engines

Gepost door

De laatste tijd verschijnen er weer diverse berichten omtrent game engines. Zo werd bijvoorbeeld bekend dat de nieuwe actie-RPG Asterigos gebruik gaat maken van de Unreal Engine 4 en dat ontwikkelaar BioWare overweegt om eveneens deze engine te gaan gebruiken in plaats van EA’s eigen Frostbite Engine. Dit zorgt bij mij voor de vraag: “Wat houden al deze engines in en wat zijn de verschillen”. Deze interesse is waarschijnlijk mede gevoed door mijn achtergrond als developer. Ik ging eens op onderzoek uit.

Er zijn enorm veel verschillende game engines en deze verschillen op diverse vlakken. De verschillen beginnen al bij de gekozen programmeertaal. Talen die hierbij de revue passeren zijn onder andere C#, C++, Java, Visual Basic, Python, JavaScript en tal van anderen. De eerstgenoemde zijn hierbij degene die het meest gebruikt worden onder de zwaargewichten. De keuzes die hierbij zijn gemaakt, hangen af van het doel en het platform van de ontwikkelde engine. Voor een webbased game is het gebruikelijker om voor bijvoorbeeld JavaScript te kiezen dan voor een game die vooral grafische pracht en praal moet tonen op consoles en PC.  

De ontwikkelaars van de spellen kiezen de voor hen beste engine uiteraard niet alleen op basis van programmeertaal, maar ook op wat de daadwerkelijke kracht van de engine is en hoe compleet deze is. Niet elke engine bevat dezelfde mogelijkheden en componenten. Net als dat niet iedere engine even makkelijk uitbreidingen en aanpassingen toestaat. Een ontwikkelaar zal dus de mogelijkheden van de diverse engines in de overweging meenemen. Heeft de game vooral rekenkracht nodig of gaat het voor de nog te ontwikkelen game met name om andere aspecten. Stuk voor stuk afwegingen die de ontwikkelaar zal maken bij het kiezen van een engine. Uiteraard spelen geld en belangen hierbij ook een rol.

Dat brengt ons bij het volgende stuk, welke engines zijn er allemaal en wat zijn dan deze verschillen. Het is onmogelijk om hierbij alle engines te behandelen, daarom een greep uit het arsenaal aan mogelijkheden.

Frostbite

De Frostbite engine is ontwikkeld door DICE en daardoor populair onder de games die zijn uitgegeven door EA. Sterker nog: enkel studio’s onder de EA-vlag mogen gebruik maken van deze engine. De engine kende haar debuut in 2008 en bevindt zich inmiddels in de derde generatie, welke sinds 2013 in gebruik is. De engine is hierdoor gebruikt voor onder andere PlayStation 3- en Xbox 360-games, maar wordt tegenwoordig gebruikt voor games op PlayStation 4, PlayStation 5, Xbox One, Xbox Series, PC en Nintendo Switch.

De Battlefield-reeks, diverse Star Wars-titels, titels uit de NFL-serie, verschillende Need for Speed’s en NHL 22 zijn een aantal voorbeelden van games die draaien op de Frostbite engine.

De kracht van Frostbite zit vooral in het tonen van realistische graphics, daarnaast is deze engine uitermate geschikt voor het ontwikkelen van grote multiplayers. Denk hierbij aan de grootte van maps en spelersaantallen in bijvoorbeeld Battlefield. Tevens zijn de zogeheten ‘workflows’ en ‘runtimes’ uitgebreid configureerbaar, zoals onder andere audio, cinematics, physics en rendering. Een minpunt aan de engine is dat deze niet heel sterk is wanneer het niet om een first-person shooter gaat.

Unreal Engine

De Unreal Engine is ontwikkeld door Epic Games. Deze engine kende haar eerste iteratie al in 1998 en werd gebruikt voor de game Unreal. Later zijn ook games als Unreal Tournament, Tom Clancy's Rainbow Six: Raven Shield en BioShock op deze engine gebouwd. Inmiddels is Epic Games al bij de vijfde versie van de Unreal Engine aangekomen. Het geheel is gebouwd in C++; dit zorgt ervoor dat de engine gebruikt kan worden voor zo’n beetje alle platformen. Denk aan PC, waaronder Windows, Linux en Mac, maar ook aan de consoles van PlayStation, Xbox en Nintendo. Deze engine kan zelfs gebruikt worden voor Android en iOS.

Deze engine kunnen ontwikkelaars gebruiken op basis van een licentie die gepaard gaat met royalties. Hierdoor hoeft er vooraf geen grote som geld overgemaakt te worden, waardoor het voor kleinere studio's interessant kan zijn om voor de Unreal Engine te kiezen.

De kracht ligt in de diversiteit aan games die ontwikkeld kunnen worden op deze engine. Dit beperkt zich niet tot enkel first-person shooters, zoals bijvoorbeeld Frostbite. Het is ook gelijk een negatieve kant, want de Unreal Engine is niet geoptimaliseerd voor een specifiek type game. Daarnaast stelt de engine van Epic Games ontwikkelaars in staan enorm realistische beelden op het scherm te tonen en dit kan, zoals eerder vermeld, cross-platform.

CryEngine

De CryEngine is de engine ontwikkeld door het Duitse bedrijf CryTek. Deze engine maakte haar opwachting in 2006. Onder andere Ubisoft maakt hier gebruik van. Eén van de titels die gebruik maakte van de eerste versie is Far Cry. Verder is CryEngine gebruikt voor games als Crysis, Sniper: Ghost Warrior 2 en Star Citizen. Sinds 2016 is CryEngine V beschikbaar.

CryEngine is wederom cross-platform in te zetten voor zowel PC als consoles. Ook deze engine staat bekend om het leveren van realistische graphics en haar ‘Dynamic water rendering’. De real-time lighting engine is een andere feature die het goed doet bij ontwikkelaars. De engine biedt verder ondersteuning voor VR en heeft ingebouwde features voor AI. Een minpunt is dat de engine geen ondersteuning biedt voor Mac.

Conclusie

We kunnen concluderen dat het kiezen van de juiste engine afhankelijk is van veel factoren. Naast de reeds genoemde factoren speelt de zak met geld die ermee gepaard gaat uiteraard ook een grote rol. Nu is dit slechts een kleine selectie uit het aanbod aan engines, maar het is onmogelijk om ze allemaal te behandelen. Er zijn nog veel andere grote namen in deze wereld, denk hierbij aan de REDengine, Unity of RAGE (onder andere gebruikt voor GTA). Wellicht dat ik een andere keer nog een stuk schrijf over een aantal andere engines.  

0 reacties op "Column: Praten over game engines"