Haku

Android-peliohjelmointi

QR-koodi

Android-peliohjelmointi

Android on viimeisen muutaman vuoden aikana kasvanut uusi käyttöjärjestelmä, joka on suunnattu pääasiassa sulautetuille laitteille kuten älypuhelimille. Tämä työ tarkastelee Androidin soveltuvuutta ohjelmistokehitykseen erityisesti peliohjelmoinnin näkökulmasta. Työ tarkastelee erityisesti Androidista asioita, jotka eroavat siitä mihin normaali PC-puolen Java-ohjelmoija on mahdollisesti tottunut. Käydään läpi taaksepäin yhteensopivuutta rikkovia ongelmia ja miksi kannattaa käyttää Androidin omia kirjastoja Sunin Java-kirjastojen sijaan.

Peliohjelmoinnin läpikäynti aloitetaan kertaamalla perusteet sekä vertaamalla sitä muihin ohjelmoinnin osa-alueisiin. Käydään läpi kuinka pelisilmukka kannattaa mahdollisesti rakentaa peliin sekä kuinka alustus- ja latausoperaatioita kannattaa käsitellä. Perehdytään hieman Androidin tarjoamaan kahteen eri grafiikkakirjastoon: xml-pohjaiseen käyttöliittymäkirjastoon sekä alemman tason OpenGL ES -kirjastoon, joka on pelejä varten ehdottomasti parempi kirjasto. Kirjastojen lisäksi käsitellään yleisimpiä graafisia käsitteitä, kuten ruudun päivitystä, piirto-luokkia, tekstuureja ja UV-koordinaatteja. Lopuksi käsitellään muutamaa Androidin tarjoamaa äänikirjastoa ja kuinka niitä kaikkia voidaan soveltaa pelissä erillaisiin tilanteisiin.

Pohjustuksen jälkeen keskitytään hieman Android-pelin optimointiin ja syihin, miksi se saattaa kärsiä suorituskykyongelmista. Selvitetään, mitä eroa on automaatti- ja manuaali -optimoinnilla sekä esitetään kummastakin esimerkkejä. Automaattioptimoinnissa tutustutaan Zipalign- ja Proguard-työkaluihin, jotka Androidin Eclipseen lisättävä lisäpalikka tarjoaa. Näiden lisäksi tutustutaan muutamaan eri manuaalioptimoinnin menetelmään. Java puolella ehdotetaan mahdollista ratkaisua Javan roskienkerääjää vastaan. Myös grafiikka puolella käydään läpi ohjeita piirtorutiinien nopeuttamiseksi. Lopuksi tutustutaan työtä varten tehtyyn Android-peliin. Peli on yksinkertainen 2D-avaruusreaaliaikastrategiapeli, jossa on tarkoituksena suojella omia avaruusaluksia väistelemällä kohti tulevia asteroideja. Käydään läpi pelin rakennetta sekä tutustutaan sen tärkeimpiin luokkarakenteisiin, kuten suuntapiste-järjestelmään.

Tallennettuna: