Wat zijn open source game-motoren?
Open source game-engines zijn frameworks die worden gebruikt om games te maken voor computers, consoles en andere apparaten. Door de kerngame-engine te bieden, kunnen programmeurs zich meer concentreren op de spellogica en minder op basisaspecten zoals het weergeven van afbeeldingen, het afspelen van geluid of netwerken. Er zijn een aantal open source game-engines beschikbaar, elk gericht op het maken van een specifiek type game. Sommige motoren maken enorme driedimensionale (3D) werelden mogelijk, terwijl andere zich richten op geoptimaliseerde tweedimensionale (2D) grafische afbeeldingen die kunnen worden afgespeeld op draagbare of mobiele apparaten. Wanneer motoren als open source worden ontwikkeld, is het voordeel dat een enthousiaste spelersgemeenschap kan helpen de motor te ontwikkelen en te testen.
Een game-engine verschilt van een voltooide game, omdat deze alleen de geabstraheerde, kernelementen van de programmacode bevat, zoals de mogelijkheid om afbeeldingen weer te geven. De engine bevat geen gamegegevens of gamelogica. Dit betekent dat de meeste motoren meer programmering en ontwikkeling vereisen bovenop wat er wordt geboden als een voltooid spel moet worden gemaakt. Er is een klein aantal open source game-engines die een point-and-click benadering van ontwikkeling mogelijk maken, maar deze zijn zeldzaam en beperkt in hun kracht.
Er zijn verschillende soorten open source game-engines die zijn ontworpen om verschillende aspecten van een game aan te kunnen. Sommige zijn ontworpen om alle aspecten van een game aan te kunnen, van afbeeldingen tot invoer, terwijl andere zijn ontworpen om bepaalde gebieden, zoals audio, aan te kunnen. In tegenstelling tot sommige game-engines die niet open source zijn, bevatten deze altijd de broncode, zodat ze naadloos kunnen worden geïntegreerd in het voltooide spel. Het betekent ook dat de code kan worden aangepast aan de behoeften van de programmeur.
De meeste open source game-engines die beschikbaar zijn, ondersteunen speciale scripttalen. Deze talen kunnen worden gebruikt om de prestaties van de game-engine aan te passen zonder de broncode opnieuw te moeten compileren. Deze scripttalen kunnen soms ook worden gebruikt om de logica van het spel te definiëren, of hoe het spel wordt gespeeld, zonder dat het nodig is om echte codebestanden te schrijven en te compileren.
Het ontwikkelen van een game met open source game-engines kan helpen de hoeveelheid tijd te verminderen die nodig is om functies te coderen die vele anderen al hebben uitgevoerd, maar het kan ook tot enkele problemen leiden. Ten eerste kan iedereen toegang hebben tot de game-enginecode en mogelijk gebruikmaken van bugs en glitches om voordeel te behalen in de game. Een ander probleem kan inherente fouten in de motorcode zijn die erg moeilijk te vinden kunnen zijn omdat de code door een derde is geschreven. Open source game-engines kunnen in het algemeen ook niet worden gebruikt voor commerciële game-ontwikkeling vanwege de licentie, dus de games die ermee zijn gemaakt, kunnen niet worden verkocht.