Kokeilumielessä lähtenyt tutkimus kuinka helppo MonoGame olisi korvata jollain toisella alustalla.
Uudet ominaisuudet/parannukset
ParticleSystem luokasta peritytyvien efektien piirto on nyt huomattavasti tehokkaampaa.
Partikkelit ovat aina suht samanlaisia, joten ne voidaan piirtää tehokkaasti käyttäen OpenGL:n Instancingia.
Valot taas toimivat useamman vuoden toimimattomuuden jälkeen.
Globaali taustavalo on oletuksena täysin valkoinen, voidaan asettaa mihin tahansa (tummaan) väriin.
Valojen määrää ei ole rajattu (koodissa on kyllä vielä hatusta heitetty 1000 "rajana"), todellinen maksimimäärä riippuu tietokoneen tehoista. Minun kone pyörittää noin 200 valoa kerrallaan.
Nyt vielä valot piirretään jokaisella päivityksellä uudestaan. Tätä voisi tulevaisuudessa optimoida niin, että on erikseen "liikkuvat valot" ja "liikkumattomat valot". Ainoastaan liikkuvat valot pitäisi piirtää uudestaan, joka parantaisi suorituskykyä merkittävästi.
Vain käyttöliittymäkomponentit jättävät valot huomiotta, "IgnoresLighting" ei toistaiseksi tee mitään.
Android tuki on nyt tällä samalla Jypeli-paketilla.
Todennäköisesti onnistuisi kohtalaisella vaivalla myös omenalaitteille.
Kuvien käsittely hoidetaan nyt käyttäen ImageSharpia.
Sen kuvankäsittelyfunktioita on hyvin vähän paljastettu vielä käyttäjälle.
Omia shadereita pystyy nyt tekemään "helposti".
Kaipaa vielä jonkun verran tarkempaa pohdintaa toteutusta ajatellen, mutta pohja on olemassa.
Työtä vaativat asiat
Erityisen suuria ominaisuuspuutteita ei enää ole, mutta hienosäätöä kaipaavat:
Samaan aikaan toistettavien äänien määrällä on laitteistokohtaisia rajoituksia. Tätä ei toistaiseksi käsitellä mitenkään.
Image luokan kaikkia kuvankäsittelymetodeja ei ole testattu.
Esiintyy myös joitain puutteita, kuten DrawTextOnImage.
Käytännössä kaikki grafiikkaan liittyvät asiat kaipaavat testausta. Piirtorutiinit tuli uusittua hyvin suurelta osin, joten bugeja esiintyy aivan varmasti.
Omien piirtorutiinien teko vaatii vielä jonkin verran abstraktiota. Ideaalitapauksessa ainoastaan GraphicsDevice tietää mikä renderöintialusta on käytössä. Nyt tätä rikotaan mm. ParticleSystem ja BasicLight -luokissa aika pahasti.
Toiveena olisi, että mahdollisimman pienin muutoksin olemassa olevaan koodiin, olisi mahdollista toteuttaa eri renderöintialusta, esimerkiksi Metal. Apple kun joskus tulee pudottamaan OpenGL tuen kokonaan...
Mobiililla ääniä ei vielä voi toistaa (Silkin rajoitus tällä hetkellä)
Kosketusnäytössä vasta vain yhden sormen tuki (esiintyy virtuaalisena hiirenä).
Mobiilin PhoneBackButton
Mobiilin VirtualKeyboard.
Shaderit pitää vielä tehdä erikseen mobiilille ja desktopille. Todellisuudessa näillä ei ole montaa riviä eroavaisuuksia. OpenGLES shaderit voitaisiin ajon aikana muodostaa OenGL shadereista.
Kunhan Silkiin tulee WebGL tuki, sen lisäys Jypeliin.
Kokeilumielessä lähtenyt tutkimus kuinka helppo MonoGame olisi korvata jollain toisella alustalla.
Uudet ominaisuudet/parannukset
ParticleSystem
luokasta peritytyvien efektien piirto on nyt huomattavasti tehokkaampaa.Työtä vaativat asiat
Erityisen suuria ominaisuuspuutteita ei enää ole, mutta hienosäätöä kaipaavat:
Image
luokan kaikkia kuvankäsittelymetodeja ei ole testattu.GraphicsDevice
tietää mikä renderöintialusta on käytössä. Nyt tätä rikotaan mm.ParticleSystem
jaBasicLight
-luokissa aika pahasti.PhoneBackButton
VirtualKeyboard
.