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

Slides:



Advertisements
Samankaltaiset esitykset
Vuorovaikutuksesta voimaan ja edelleen liikkeeseen
Advertisements

Nopeudesta ja kiihtyvyydestä
Vuorovaikutus.
Vuorovaikutus.
Peliohjelmointia Jypelillä
Vuorovaikutuksesta voimaan
Työ (W) Voima tekee työtä kun se vaikuttaa liikkuvaan kappaleeseen liikkeen suunnassa Työn suuruus saadaan pistetulon avulla: W on voiman F tekemä työ.
3 TYÖ MUUTTAA MEKAANISTA ENERGIAA
Voimista liikeilmiöihin ja Newtonin lakeihin
Kurssilla käytettävät työkalut
Nopeus s t v nopeus = matka: aika v = s :t
Pelin suunnittelu Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 /
Nuorten peliohjelmointi 2011
Voima työ teho Laske oman suorituksen käytetyn voiman, työn ja tehon pöytäkirjan perustella.
Esim. työstä Auto lähtee levosta liikkeelle nousemaan mäkeä ylöspäin. Keskimääräinen liikettä vastustava voima on vakio. Mäen päällä autolla on tietty.
Iitin yläkoulu 9. Luokka Antti Halme
Dynamiikkaa Newtonin lait Kitkavoima Keskipakovoima , ympyräliike
Geometria MA 03 Läsnäolovelvollisuus Poissaolojen selvitys
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Kurssilla käytettävät työkalut
Antti-Jussi Lakanen Jyväskylän yliopisto. Tervetuloa ohjelmoimaan pelejä Kurssin esittely Kurssipäivien ohjelma Ohjaajat esittäytyvät Osallistujat esittäytyvät.
pieni kokoelma mekaniikan suurejärjestelmästä Mikko Rahikka 2001
Suoraviivainen liike Esim. sinimuotoinen liike (K03/10)
Kinematiikka Newtonin lait: Voima Statiikka Mikko Rahikka 2000
matematiikan ja luonnontieteiden pedagogiikan professori, OKL, JY
XNA peliohjelmointi. XNA Perustuu Microsoftin kehittämään.NET- arkkitehtuuriin ja C#-kieleen. XNA:lla tehdyt pelit toimivat Windows ja XBOX360-alustoilla.
Peliohjelmointia Jypelillä Tero Jäntti Tomi Karppinen Syksy 2009.
KLASSINEN FYSIIKKA Aikaisemmat kurssit olivat klassista fysiikkaa.
Kappaleiden hajottaminen, animaatio
Voima.
Voima.
Voima.
Komponenttikaavio Lehtonen Iiro, Janne Liikka
Tekstitiedostoon kirjoittaminen tMyn1 Tekstitiedostoon kirjoittaminen Tiedostoja käsitellään ohjelmassa tiedosto-olion avulla. Tiedosto-olion luokka sisältää.
Liike Nopeus ja kiihtyvyys.
Graafinen käyttöliittymä, osa 1
22. Kiihtyvä liike  .
Vuorovaikutuksesta voimaan ja edelleen liikkeeseen
Antti-Jussi Lakanen Jyväskylän yliopisto. Tervetuloa ohjelmoimaan pelejä Kurssin esittely Kurssipäivien ohjelma Ohjaajat esittäytyvät Osallistujat esittäytyvät.
Newtonin ensimmäinen laki
VOIMIEN LAKEJA.
KITKA.
Voima liikkeen muutoksen aiheuttajana
Peliohjelmointikurssi koululaisille
Kiihtyvyys Kuvaa nopeuden muutosta.
Muuttuva suoraviivainen liike
Keskinopeus.
13. Nopeus kuvaa liikettä Nopeus on suure, joka kertoo kuinka kappaleen paikka muuttuu ajan suhteen. Nopeus on vektorisuure. Vektorisuureen arvoon liittyy.
Fysiikassa kaikkia aineellisia olioita sanotaan kappaleiksi Kappaleita voivat olla.
Voimavektorit Kaikki voimatehtävät pohjautuvat Newtonin II lakiin: Tiivistelmä ja tehtäviä voimavektorien yhdistämisestä m on tarkasteltavan kappaleen.
MATEMATIIKKA.
20. Paikka, nopeus, kiihtyvyys
Tiivistelmä 2. Vuorovaikutus ja voima
Syventävä matematiikka 2. kurssi
1. Energia liikeilmiöissä
21. Tasainen etenemisliike on liikettä, jossa kappaleen nopeus ei muutu  
Määritä vaunun potentiaali- ja liike-energia
Tiivistelmä 3. Liike Nopeus kuvaa aikayksikössä kuljettua matkaa.
19. Liikettä vastustavat voimat
Mekaniikan peruslait (Newtonin lait)
Vaunun liike kaltevalla tasolla
Kokonaisvoiman laskeminen
Voima.
TYÖ JA ENERGIA Voima tekee työtä siirtäessään kappaletta yleensä jotain voimaa vastaan. Esim. Kitkaa vastaan  siirtotyö Painovoimaa vastaan  nostotyö.
Kuutio 2. Geometrisia kuvioita
Tasaisen liikeen malli
Tasaisesti kiihtyvä liike
7 Tasaisesti kiihtyvän liikkeen malli
Kappale etenee samassa ajassa aina yhtä pitkän matkan.
Vuorovaikutus.
Esityksen transkriptio:

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

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

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 Ekan kurssin top-2-3… Tokan kurssin top-2-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.

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

Esimerkkipeli Aletaan koodaamaan… Saa ehdottaa ominaisuuksia!