Peliohjelmointia Jypelillä Tero Jäntti Tomi Karppinen Syksy 2009
Taustaa Kesällä 2009 tietotekniikan laitos järjesti kaksi peliohjelmointikurssia yläasteikäisille Kursseja varten kehitettiin kirjasto 2D- peleille nimeltä Jypeli Hauskaa oli
Toteutuksesta Toteutettu C#-kielellä käyttäen XNA- kirjastoa Toimii vain Windowsilla Pelit pyörii myös XBox 360:llä
Esimerkkejä Ekan kurssin top-3… Tokan kurssin top-3…
Nettisivut trac.cc.jyu.fi/projects/npo09/
Yleisiä periaatteita Jypeli on sovelluskehys (framework) ”Dont call us, we call you” Kirjasto ajaa pelisilmukkaa, hoitaa piirtämisen, yms… Ohjelmoija määrittelee mitä tapahtuu kun peli käynnistyy, kappaleet törmää, …
Fysiikka Jypeli sisältää fysiikkamoottorin (Physics2D.NET) Olioilla massa, nopeus, … Törmäyksille voi asettaa tapahtumia (mitä tapahtuu kun ammus osuu pelaajaan…)
Valmiita luokkia (1/3) RealTimeGame – pyörittää peliä PhysicsGame – fysiikka mukana GameObject – olio pelissä PhysicsObject – tottelee fysiikan lakeja
Valmiita luokkia (2/3) Level – sisältää oliot, taustan, ym. Meter - voi laskea vaikka autoja ValueDisplay – näyttää laskurin arvon Weapon – kantaluokka aseille Tank – panssarivaunu HighScoreList
Valmiita luokkia (3/3) ScreenObject – näyttökoordinaatteja käyttäviä olioita (ikkunat, mittarit ym.) RTGWindow – kantaluokka käyttöliittymän ikkunoille, ScreenObjectin jälkeläinen AlertWindow – yksinkertainen viesti-ikkuna ListSelectionWindow – listavalintaikkuna yms.
Harjoitustyöstä Tehdään ainakin yksi luokka, jossa –Ainakin yksi tapahtuma –Ainakin yksi ominaisuus (property) Tehdään yksi tai mielellään kaksi peliä, jotka käyttävät luokkaa. Tai projektimalli ja peli Aihe vapaa
Komponentti-esimerkkejä Valikot Lentokone Laskuvarjo Strategiapelipohja/hahmo (hiiriohjattava) Minigolf-radan osat (kalteva pinta)
Esimerkkipeli Aletaan koodaamaan… Jatketaan seuraavalla luennolla Saa ehdottaa ominaisuuksia!