Vad är en programvarumotor?
En mjukvarumotor är ett datorprogram, eller del av ett datorprogram, som fungerar som grunden för en större programvara. Detta begrepp används ofta i spelutveckling, där det vanligtvis avser antingen en grafikmotor eller en spelmotor som resten av ett videospel utvecklas. Även om termen också kan användas inom andra områden inom mjukvaruutveckling, kan dess speciella betydelse vara mer fina i dessa fall. En programvarumotor kan utvecklas av ett företag som använder den, eller kan utvecklas av ett annat företag och sedan licensieras till andra utvecklare.
När den används i det allmänna sammanhanget för utveckling av datorprogramvara avser en programvaramotor vanligtvis kärnelementen i ett visst program. Detta inkluderar vanligtvis inte funktioner som användargränssnittet (UI) och många konsttillgångar som läggs till själva kärnmotorn. För ett operativsystem (OS), till exempel, kan programvaramotorn vara källkoden som skapar filhierarki, inmatnings- och utgångsmetoder och hur operativsystemet kommunicerar med annan programvara och hårdvara. Det exakta innehållet i en sådan motor kan dock variera från program till program.
Vid spelutveckling av datorer och konsoler refererar en mjukvarumotor vanligtvis till antingen ett spel grafikmotor eller den totala spelmotorn. Grafikmotorn för ett spel är vanligtvis den mjukvara som används för att korrekt presentera den grafik som spelarna har sett. Detta använder ofta konsttillgångar som skapats i andra program, som sedan överförs till grafikmotorn för användning under spel. Användningen av en programvarumotor för grafik i ett spel kan göra rendering mycket enklare och kan också förenkla processen för att säkerställa mjukvara och hårdvarukompatibilitet.
En mjukvarumotor i speldesign kan också hänvisa till en spelmotor, som är ett stort program som utgör kärnan i ett spel. Denna motor hanterar ofta hur artificiell intelligens (AI) för spelkaraktärer hanteras, fysiken i spelvärlden och till och med tillhandahåller verktyg för inmatning av konsttillgångar och skapandet av ett användargränssnitt för ett spel. Genom att använda en spelmotor kan skaparna göra framtida utveckling mycket enklare, särskilt för uppföljare. Denna typ av programvarumotor skapas ofta som den första delen av spelutvecklingen och kan licensieras till andra företag för att de snabbare och lättare kan utveckla nya spel med hjälp av basmotorn.