1 / 18

Peliohjelmointia Jypelillä

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

hedya
Download Presentation

Peliohjelmointia Jypelillä

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Peliohjelmointia Jypelillä Tero Jäntti Tomi Karppinen Vesa Lappalainen Jonne Itkonen Jyväskylän yliopisto/Tietotekniikan laitos Helsinki 27.10.2009

  2. Taustaa • Kesällä 2009 tietotekniikan laitos järjesti kaksi peliohjelmointikurssia yläasteikäisille • Kursseja varten kehitettiin kirjasto 2D-peleille nimeltä Jypeli • Hauskaa oli 

  3. 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

  4. 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

  5. Kurssin ohjelma • Alkuinfo

  6. Toteutuksesta • Toteutettu C#-kielellä käyttäen XNA-kirjastoa • Toimii vain Windowsilla  • Pelit pyörii myös XBox 360:llä

  7. 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

  8. Nettisivut • https://trac.cc.jyu.fi/projects/npo09 • https://trac.cc.jyu.fi/projects/npo09_pelit

  9. 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ää, …

  10. Fysiikka • Jypeli sisältää fysiikkamoottorin (Physics2D.NET) • Olioilla massa, nopeus, … • Törmäyksille voi asettaa tapahtumia (mitä tapahtuu kun ammus osuu pelaajaan…)

  11. Valmiita luokkia (1/3) • RealTimeGame – pyörittää peliä • PhysicsGame – fysiikka mukana • GameObject – olio pelissä • PhysicsObject – tottelee fysiikan lakeja

  12. Valmiita luokkia (2/3) • Level – sisältää oliot, taustan, ym. • Meter<T> - voi laskea vaikka autoja  • ValueDisplay – näyttää laskurin arvon • Weapon – kantaluokka aseille • Tank – panssarivaunu • HighScoreList

  13. 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.

  14. Komponentti-esimerkkejä • Valikot • Lentokone • Laskuvarjo • Strategiapelipohja/hahmo (hiiriohjattava) • Minigolf-radan osat (kalteva pinta)

  15. Esimerkkipeli • Aletaan koodaamaan… • Saa ehdottaa ominaisuuksia!

More Related