Vad är en spelmotor?
En spelmotor avser mjukvaruutvecklingsmiljöer designade specifikt för generering av videospel. Det innehåller kärnbiblioteket med funktioner som används i ett spel, men det finns oberoende av ett specifikt spelinnehåll. Tillgångar som gör spelet unikt, sådant tema och karaktärer, utgör innehållet. Spelmotorn används för att kontrollera hur tillgångar interagerar för att få spelet till liv. Detta åstadkoms med hjälp av en uppsättning återanvändbara komponenter som kan fungera som en motor för spel av olika genrer och stilar.
Spelmotorns roll är att göra alla bakom kulisserna tunga lyft som gör alla videospel spelbara. Centrala komponenter inkluderar en grafikåtergivningsmotor, en fysikmotor och kollisionsdetektering. Återgivningsmotorn genererar en två- eller tredimensionell bild från en scenfil som definierar element som synvinkel, belysning och struktur. Fysikmotorer uppskattar verklig rörelse på ett sätt som är bekant för spelaren, men också meningsfullt i spelets sammanhang. Kollisionsdetektering involverar hur spelet upptäcker, visar och reagerar på skärningspunkten mellan två eller flera återgivna objekt.
Andra resurser, såsom en nätverksfunktion, artificiell intelligens och ljudskapande är ofta också komponenter i en spelmotor. Vanligtvis är komponenter tillgängliga för utvecklaren genom en visuell integrerad utvecklingsmiljö (IDE) som förenklar spelbyggandet. Scenfiler kan prototypas och testas med renderingsmotorn utan till exempel att lämna IDE. En sådan metod uppmuntrar också återanvändning av komponenter, vilket gör skapelsesprocessen enklare och effektivare.
De flesta tidiga spelmotorer var egenutvecklade konstruktioner, utvecklade för användning vid tillverkning av ett enda spel. Flexibiliteten som gavs genom att välja favoritkomponenter och konstruera ett specialiserat gränssnitt uppskattades. En sådan strategi gav utvecklarna mycket kontroll över utseendet och känslan av spel men förlängde utvecklingscykeln kraftigt. Kostnadsbegränsningar förbjuder vanligtvis användning av en egen spelmotor i de flesta projekt.
Kompletta, färdiga att använda spelutvecklingssviter finns tillgängliga som ger all funktionalitet för egen design. Många är kommersiella produkter, men en öppen källkodsmotor av jämförbar kvalitet är inte svårt att hitta. Dessa är öppna för att justera kod för att rymma favoritprogrammeringsstilar eller -verktyg. En spelproducent kanske inte har flexibiliteten i en egenmotor, men den tid och pengar som sparas i utvecklingen uppväger vanligtvis långt bort från förlusten av stilistisk frihet.