Mis on avatud lähtekoodiga mängumootorid?

Avatud lähtekoodiga mängumootorid on raamistikud, mida kasutatakse mängude loomiseks arvutitele, konsoolidele ja muudele seadmetele. Mängu põhimootori pakkumine võib aidata programmeerijatel keskenduda rohkem mänguloogikale ja vähem põhiaspektidele, nagu graafika kuvamine, heli esitamine või võrgu loomine. Saadaval on mitmeid avatud lähtekoodiga mängumootoreid, millest igaüks on mõeldud kindlat tüüpi mängu loomiseks. Mõned mootorid võimaldavad tohutuid kolmemõõtmelisi (3D) maailmu, samas kui teised keskenduvad optimeeritud kahemõõtmelisele (2D) graafikale, mida saab esitada pihuarvutites või mobiilseadmetes. Kui mootoreid arendatakse avatud lähtekoodiga, on eeliseks see, et entusiastlik mängijate kogukond saab aidata mootorit arendada ja testida.

Mängumootor erineb lõpetatud mängust, kuna see sisaldab ainult programmi koodi abstraktseid põhielemente, näiteks graafika kuvamise võimalust. Mootor ei sisalda mänguandmeid ega mänguloogikat. See tähendab, et enamik mootoreid nõuavad rohkem programmeerimist ja arendust lisaks sellele, mida pakutakse valmis mängu loomiseks. On väike hulk avatud lähtekoodiga mängumootoreid, mis võimaldavad arendamisel kasutada näpunäiteid ja klõpsamist, kuid need on haruldased ja nende võimsus on piiratud.

Avatud lähtekoodiga mängumootoreid on erinevat tüüpi, mis on loodud mängu erinevate aspektide käsitlemiseks. Mõned neist on loodud käsitlema kõiki mängu aspekte, alates graafikast kuni sisendini, samas kui teised on mõeldud teatud alade (nt heli) käsitlemiseks. Erinevalt mõnest mängumootorist, mis pole avatud lähtekoodiga, sisaldavad need alati lähtekoodi, mis võimaldab neid sujuvalt lõpetatud mängu integreerida. See tähendab ka seda, et koodi saab muuta, et see vastaks programmeerija vajadustele.

Enamik saadaolevatest avatud lähtekoodiga mängumootoritest toetab spetsiaalseid skriptikeeli. Neid keeli saab kasutada mängumootori jõudluse kohandamiseks, ilma et oleks vaja lähtekoodi uuesti kompileerida. Neid skriptikeeli saab mõnikord kasutada ka mänguloogika või mängu mängimise määratlemiseks, ilma et oleks vaja kirjutada ja kompileerida tegelikke koodifaile.

Mängu arendamine avatud lähtekoodiga mängumootoritega võib aidata vähendada aega, mis kulub funktsioonide kodeerimiseks, mida paljud teised on juba teinud, kuid see võib põhjustada ka probleeme. Esiteks võib igaüks pääseda juurde mängumootori koodile ning võib-olla suudab mängus eelise saamiseks kasutada vigu ja tõrkeid. Teiseks probleemiks võivad olla mootorikoodi sisemised vead, mida võib olla väga raske leida, kuna koodi on kirjutanud kolmas osapool. Avatud lähtekoodiga mängumootoreid ei saa litsentsi tõttu üldiselt kasutada ka kommertsmängude arendamiseks, seega ei saa nendega loodud mänge müüa.