Peliohjelmointia Jypelillä Tero Jäntti
Tomi Karppinen
Vesa Lappalainen
Jonne Itkonen
Jyväskylän yliopisto/Tietotekniikan laitosHelsinki 27.10.2009
Peliohjelmointia Jypelillä Tero Jäntti
Tomi Karppinen
Vesa Lappalainen
Jonne Itkonen
Jyväskylän yliopisto/Tietotekniikan laitos
Helsinki 27.10.2009
Taustaa
Kesällä 2009 tietotekniikan laitos järjesti kaksi peliohjelmointikurssia yläasteikäisille
Kursseja varten kehitettiin kirjasto 2D-peleille nimeltä Jypeli
Hauskaa oli
Motivaatio kurssin pitämiseen
Luonnontieteet eivät suosiossa koulussa
Mikä kiinnostaa nuoria? PELAAMINEN!
1. Motivointi fysiikan käsitteisiin:
syy-seuraussuhteet ja kappaleiden väliset riippuvuudet
fysiikan käsitteitä, kuten Maan vetovoima, kitka sekä voimista aiheutuvat liike- ja tasapainoilmiöt, erilaiset liikkeet ja voimien vaikutukset liikkeeseen
kappaleen massa ja sen vaikutukset
tasainen ja tasaisesti kiihtyvä liike
suureita, kuten aika, matka, nopeus, kiihtyvyys ja voima
2. Motivointi matematiikan käsitteisiin:
funktion käsite
lukuparin esittäminen koordinaatistossa
yksinkertaisten funktioiden tulkitseminen ja niiden kuvaajien piirtäminen koordinaatistoon
geometriasta suorat, suurennokset, pienennökset ja mittakaava sekä erilaiset muodot, esim. kolmiot, nelikulmiot, monikulmiot ja ympyrä
yhtälöt ja niiden ratkaiseminen
todennäköisyys ja satunnaisuus
loogisia elementtejä ja totuusarvoja
tapausten yhtäläisyyksiä ja säännönmukaisuuksia
ongelmanratkaisua
vektorit ja niiden esittäminen lukuparina tai napakoordinaatistossa
asteet ja radiaanit
Kurssin ohjelma
Alkuinfo
Toteutuksesta
Toteutettu C#-kielellä käyttäen XNA-kirjastoa
Toimii vain Windowsilla
Pelit pyörii myös XBox 360:llä
Esimerkkejä
Malli– ja esimerkkiohjelmia:
Tankkipeli 3, Avaruuslentely, Biljardi, Tasohyppelypeli
Ekan kurssin top-3:
Hyppija.exe, Last Tanks.exe, Rampege.exe
Tokan kurssin top-3:
Palikkatesti.exe, Square Defence beta.exe, SuuriKynttila.exe
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
Comments