Hva er en programvaremotor?
En programvaremotor er et dataprogram, eller en del av et dataprogram, som fungerer som kjernen for et større programvare. Dette uttrykket brukes ofte i spillutvikling, der det vanligvis refererer til en grafikkmotor eller en spillmotor som resten av et videospill er utviklet rundt. Selv om begrepet også kan brukes i andre områder av programvareutvikling, kan dets spesielle betydning være mer nebulous i disse tilfellene. En programvaremotor kan utvikles av et selskap som bruker den, eller kan utvikles av et annet selskap og deretter lisensieres til andre utviklere.
Når den brukes i den generelle sammenhengen med utvikling av dataprogramvare, refererer en programvaremotor vanligvis til kjerneelementene i et bestemt program. Dette inkluderer vanligvis ikke funksjoner som brukergrensesnittet (UI) og en rekke kunstverdier lagt til selve kjernemotoren. For et operativsystem (OS), for eksempel, kan programvaremotoren være kildekoden som oppretter filhierarki, inngangs- og utgangsmetoder, og hvordan operativsystemet kommuniserer med annen programvare og maskinvare. Det nøyaktige innholdet i en slik motor kan imidlertid variere fra program til program.
I datamaskin- og konsollspillutvikling refererer en programvaremotor vanligvis til et spills grafikkmotor eller den generelle spillmotoren. Grafikkmotoren for et spill er vanligvis programvaren som brukes til å gjengi grafikken korrekt sett av spillerne. Dette bruker ofte kunstgoder som er opprettet i andre programmer, som deretter blir portet inn i grafikkmotoren for bruk under spill. Bruk av en programvaremotor for grafikken til et spill kan gjøre gjengivelsen mye enklere, og kan også forenkle prosessen med å sikre programvare og maskinvarekompatibilitet.
En programvaremotor i spilldesign kan også referere til en spillmotor, som er et stort program som utgjør kjernen i et spill. Denne motoren håndterer ofte hvordan kunstig intelligens (AI) for spillfigurer blir håndtert, fysikken i spillverdenen, og til og med gir verktøy for tilførsel av kunstverdier og opprettelsen av et brukergrensesnitt for et spill. Ved å bruke en spillmotor kan skaperne gjøre fremtidig utvikling mye enklere, spesielt for oppfølgere. Denne typen programvaremotorer lages ofte som den første delen av spillutviklingen, og kan lisensieres til andre selskaper for å la dem raskere og enklere utvikle nye spill ved å bruke den grunnleggende motoren.