Mikä on ohjelmistomoottori?

Ohjelmistomoottori on tietokoneohjelma tai osa tietokoneohjelmaa, joka toimii isomman ohjelmiston ytimenä. Tätä termiä käytetään usein pelikehityksessä, jossa se tyypillisesti viittaa joko grafiikkamoottoriin tai pelimoottoriin, jonka ympärille muu videopeli on kehitetty. Termiä voidaan käyttää myös muilla ohjelmistokehityksen aloilla, mutta sen erityinen merkitys voi näissä tapauksissa olla epäselvämpi. Ohjelmistomoottorin voi kehittää sitä käyttävä yritys, tai toinen yritys voi kehittää sen ja lisensoida sen sitten muille kehittäjille.

Käytettäessä tietokoneohjelmistojen yleisessä kehityksessä ohjelmistomoottori viittaa tyypillisesti tietyn ohjelman ytimeen. Tämä ei yleensä sisällä ominaisuuksia, kuten käyttöliittymää (UI) ja lukuisia taideresursseja, jotka on lisätty itse ydinmoottoriin. Esimerkiksi käyttöjärjestelmässä ohjelmistokone voi olla lähdekoodi, joka määrittää tiedostohierarkian, syöttö- ja tulostusmenetelmät sekä sen, miten käyttöjärjestelmä kommunikoi muiden ohjelmistojen ja laitteistojen kanssa. Tällaisen moottorin tarkka sisältö voi kuitenkin vaihdella ohjelmasta toiseen.

Tietokone- ja konsolipelien kehittämisessä ohjelmistomoottori viittaa tyypillisesti joko pelin grafiikkamoottoriin tai koko pelimoottoriin. Pelin grafiikkamoottori on tyypillisesti ohjelmisto, jota käytetään pelaajien näkemän grafiikan esittämiseen oikein. Tässä käytetään usein muissa ohjelmissa luotuja taideresursseja, jotka sitten siirretään grafiikkamoottoriin käytettäväksi pelin aikana. Ohjelmistomoottorin käyttö pelin grafiikkaan voi tehdä renderoinnista paljon helpompaa ja myös yksinkertaistaa ohjelmistojen ja laitteiden yhteensopivuuden varmistamisprosessia.

Pelisuunnittelun ohjelmistomoottori voi viitata myös pelimoottoriin, joka on suuri ohjelma, joka muodostaa pelin ytimen. Tämä moottori käsittelee usein pelihahmojen tekoälyn (AI) käsittelyä, pelimaailman fysiikkaa ja tarjoaa jopa työkaluja taideresurssien syöttämiseen ja pelin käyttöliittymän luomiseen. Pelimoottorin avulla luojat voivat helpottaa tulevaa kehitystä, etenkin jatko -osien osalta. Tämäntyyppinen ohjelmistomoottori luodaan usein pelin kehittämisen ensimmäisenä osana, ja se voidaan lisensoida muille yrityksille, jotta he voivat kehittää uusia pelejä nopeammin ja helpommin perusmoottorin avulla.