Mis on tarkvaramootor?

Tarkvaramootor on arvutiprogramm või arvutiprogrammi osa, mis on suurema tarkvara põhialuseks. Seda terminit kasutatakse sageli mänguarenduses, kus see viitab tavaliselt kas graafikamootorile või mängumootorile, mille ümber ülejäänud videomäng areneb. Kuigi seda terminit saab kasutada ka muudes tarkvaraarenduse valdkondades, võib selle konkreetne tähendus neil juhtudel olla hägusem. Tarkvaramootori võib välja töötada ettevõte, kes seda kasutab, või mõni teine ​​ettevõte ja seejärel litsentsida see teistele arendajatele.

Kui seda kasutatakse arvutitarkvara arendamise üldises kontekstis, viitab tarkvaramootor tavaliselt konkreetse programmi põhielementidele. Tavaliselt ei hõlma see selliseid funktsioone nagu kasutajaliides (UI) ja palju põhimootorile lisatud kunstivarasid. Näiteks operatsioonisüsteemi (OS) puhul võib tarkvaramootor olla lähtekood, mis määrab failihierarhia, sisend- ja väljundmeetodid ning selle, kuidas OS suhtleb muu tarkvara ja riistvaraga. Sellise mootori täpne sisu võib aga programmiti erineda.

Arvuti- ja konsoolimängude arendamisel viitab tarkvaramootor tavaliselt kas mängu graafikamootorile või mängu üldisele mootorile. Mängu graafikamootor on tavaliselt tarkvara, mida kasutatakse mängijate nähtava graafika nõuetekohaseks renderdamiseks. See kasutab sageli teistes programmides loodud kunstivarasid, mis seejärel porditakse mängu ajal kasutamiseks graafikamootorisse. Tarkvaramootori kasutamine mängu graafika jaoks võib muuta renderdamise palju lihtsamaks ning lihtsustada ka tarkvara ja riistvara ühilduvuse tagamise protsessi.

Mängukujunduse tarkvaramootor võib viidata ka mängumootorile, mis on suur programm, mis moodustab mängu tuuma. See mootor käsitleb sageli mängutegelaste tehisintellekti (AI) käsitlemist, mängumaailma füüsikat ja pakub isegi tööriistu kunstivarade sisestamiseks ja mängu kasutajaliidese loomiseks. Mängumootorit kasutades saavad loojad edaspidist arendust oluliselt lihtsamaks muuta, eriti järgede puhul. Seda tüüpi tarkvaramootorid luuakse sageli mängude arendamise esimese osana ja seda saab litsentsida teistele ettevõtetele, et võimaldada neil põhimootorit kasutades kiiremini ja hõlpsamini uusi mänge arendada.