Tavoite
Oppia laatimaan kaksiulotteisia Indie-peliohjelmia Androidin Dalvik-pohjaisilla työkaluilla eli käytännössä Androidin javan kaltaisella ohjelmointikielellä. 

Kohderyhmä
Henkilöille, jotka ohjelmoivat sujuvasti Javalla tai/ja C++:lla, mutta jotka eivät vielä tunne 2D-peliohjelmointia Android-ympäristössä.

Kurssin sisältö
Päivä 1

  • Android kehitystyökalut Android-pelin tekemisen näkökulmasta
    • SDK/NDK
    • Eclipse IDE
    • ADB
    • LogCat
    • Debuggaus laitteessa ja emulaattorissa
    • Resurssit
    • Grafiikan ja äänen lisääminen peliin
    • Lokalisointi

  • Android-laitteiden ominaisuudet Android-pelin tekemisen näkökulmasta
    • CPU
    • Muisti
    • Näyttö
    • Laitteistokiihdytys
    • Sensorit
    • Muut laitteet
    • Bluetooth ja WiFi
    • Mihin nykylaitteet pystyvät
    • Mille laitteelle peli tulisi kirjoittaa ja miksi

  • Android-peruskäsitteet Android-pelin tekemisen näkökulmasta
    • Activity
    • Content Provider
    • Service
    • Intent
    • Broadcast
    • Notification

Päivä 2

  • Pelimaailman mallintaminen
    • Oliomallin laatiminen
    • Pelitilan pysyvyysvaatimukset ja niiden toteuttaminen
  • Pelin älykkyys
    • Yksinkertaisen tekoälyn lisääminen peliin
    • Törmäysten käsittely
  • Oikean grafiikkarajapinnan valinta peliin
    • View
    • SurfaceView
    • Piirtopinnan hallinta
    • Orientaation valinta
  • Animaatioiden käyttäminen pelissä
  • Käyttäjän syötteiden käsittely
    • Kosketustapahtumien käsittely
    • Näppäintapahtumien käsittely
    • Sensoritapahtumat
    • Muiden tapahtumien käsittely

Päivä 3

  • Peliluupin pyörittäminen
    • Android aktiviteetin tilakone
    • Säikeiden käyttö ja oikean säikeistysstrategian valinta
    • Resurssien jakaminen säikeiden kesken
    • Ajastukset
    • Satunnaisuus
    • Pelimaailman tilan muuttaminen
    • Pelimaailman piirtäminen
    • Äänimaailman toteuttaminen peliin
      • Androidin äänentoistorajapinnat ja niiden tarkoituksenmukainen käyttö
    • Android-laitteen suorituskyvyn optimointi Java-ympäristössä
    • LibGDX ja Unity Android-pelin tekemisen näkökulmasta
      • Lyhyt johdatus mahdollisuuksiin käyttää kolmannen osapuolen kirjastoja ja työkaluja Android-pelien tekemiseen
    • Google Play Services –palvelut pelintekijän näkökulmasta
    • Pelin julkaiseminen Google Play -kaupassa

Kurssin kesto
3 päivää

Kurssin luonne
30% luentoja ja 70% harjoituksia

Esitiedot
Android kehittämisen perustaidot