Peliohjelmointia Jypelill Tero Jntti Tomi Karppinen Vesa Lappalainen
- Slides: 18
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 2 Dpeleille 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 XNAkirjastoa • 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, Suuri. Kynttila. exe
Nettisivut • https: //trac. cc. jyu. fi/projects/npo 09_pelit
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 (Physics 2 D. NET) • Olioilla massa, nopeus, … • Törmäyksille voi asettaa tapahtumia (mitä tapahtuu kun ammus osuu pelaajaan…)
Valmiita luokkia (1/3) • • Real. Time. Game – pyörittää peliä Physics. Game – fysiikka mukana Game. Object – olio pelissä Physics. Object – tottelee fysiikan lakeja
Valmiita luokkia (2/3) • • • Level – sisältää oliot, taustan, ym. Meter<T> - voi laskea vaikka autoja Value. Display – näyttää laskurin arvon Weapon – kantaluokka aseille Tank – panssarivaunu High. Score. List
Valmiita luokkia (3/3) • Screen. Object – näyttökoordinaatteja käyttäviä olioita (ikkunat, mittarit ym. ) • RTGWindow – kantaluokka käyttöliittymän ikkunoille, Screen. Objectin jälkeläinen • Alert. Window – yksinkertainen viesti-ikkuna • List. Selection. Window – listavalintaikkuna • yms.
Komponentti-esimerkkejä • • • Valikot Lentokone Laskuvarjo Strategiapelipohja/hahmo (hiiriohjattava) Minigolf-radan osat (kalteva pinta)
Esimerkkipeli • Aletaan koodaamaan… • Saa ehdottaa ominaisuuksia!
- Tankkipeli
- Antti-jussi lakanen
- Antti-jussi lakanen
- Que es sustantivo uniforme
- Mikko karppinen
- Seikkailukasvatus ja elämyspedagogiikka
- Mikko lappalainen
- Aboatox
- Paul lappalainen
- Vesa haapala
- Vesa virtanen turku
- Vesa pellinen
- Vesa korpelainen
- Vesa tenhunen
- Vesa graphics
- Vesa tiitinen
- Vesa sarmia
- Vesa flat panel display measurements standard
- Vesa martikkala