Wat is een software-engine?
Een software-engine is een computerprogramma of onderdeel van een computerprogramma dat dient als de basis voor een groter stuk software. Deze term wordt vaak gebruikt bij de ontwikkeling van games, waarbij deze meestal verwijst naar een grafische engine of een game-engine waaromheen de rest van een videogame is ontwikkeld. Hoewel de term ook kan worden gebruikt in andere gebieden van softwareontwikkeling, kan de specifieke betekenis in die gevallen vager zijn. Een software-engine kan worden ontwikkeld door een bedrijf dat deze gebruikt, of kan worden ontwikkeld door een ander bedrijf en vervolgens in licentie worden gegeven aan andere ontwikkelaars.
Wanneer het wordt gebruikt in de algemene context van de ontwikkeling van computersoftware, verwijst een software-engine meestal naar de kernelementen van een bepaald programma. Dit omvat meestal geen functies zoals de gebruikersinterface (UI) en tal van art-assets die aan de kernmotor zelf zijn toegevoegd. Voor een besturingssysteem (OS) kan de software-engine bijvoorbeeld de broncode zijn die de bestandshiërarchie, invoer- en uitvoermethoden vaststelt en hoe het besturingssysteem communiceert met andere software en hardware. De exacte inhoud van een dergelijke motor kan echter van programma tot programma verschillen.
Bij het ontwikkelen van computers en consoles verwijst een software-engine meestal naar de grafische engine van een game of naar de algemene game-engine. De grafische engine voor een game is meestal de software die wordt gebruikt om de grafische weergave van spelers correct weer te geven. Dit maakt vaak gebruik van kunstmiddelen die in andere programma's zijn gemaakt en die vervolgens in de grafische engine worden geporteerd voor gebruik tijdens het spelen. Het gebruik van een software-engine voor de grafische weergave van een game kan het renderen veel eenvoudiger maken en kan ook het proces vereenvoudigen om ervoor te zorgen dat de software en hardware compatibel zijn.
Een software-engine in game-ontwerp kan ook verwijzen naar een game-engine, een groot programma dat de kern van een game vormt. Deze engine verwerkt vaak de manier waarop kunstmatige intelligentie (AI) voor gamekarakters wordt verwerkt, de fysica in de gamewereld, en biedt zelfs hulpmiddelen voor de invoer van kunstactiva en het creëren van een gebruikersinterface voor een game. Door een game-engine te gebruiken, kunnen de makers de toekomstige ontwikkeling veel gemakkelijker maken, vooral voor vervolg. Dit type software-engine wordt vaak gemaakt als het eerste deel van de game-ontwikkeling en kan in licentie worden gegeven aan andere bedrijven zodat ze sneller en gemakkelijker nieuwe games kunnen ontwikkelen met behulp van de basis-engine.