maanantai 21. tammikuuta 2013

1. Näytön harjoittelua

NAPpk12

Ensimmäinen näyttö annetaan 11. 3. - 15. 3. 2013, jolla viikolla ma - to ovat työskentelypäiviä ja pe on arviointipäivä. Arvioijina Mauri Mäkitalo ja Harri Sarri.

Tämä osuus koskee Flashiä:

Yhteiset/Tasoloikka-kansiosta löytyy kommentoitua esimerkkimateriaalia tasoloikan tekemisestä Flashillä, mm. Perussetti.fla niminen tiedosto. Siinä on koodattuna liikutussysteemi, jolla voi ohjata omaa hahmoaan oikealle ja vasemmalle ja hypätä. Mukana on myös törmäyksentunnistus ja painovoima.

Uutuutena Yhteiset/Tasoloikka-kansiosta löytyy esimerkkipeli NatureCalls.fla, joka sisältää konsepteja lukuunottamatta kaikki 1. näytössä vaadittavat asiat kommentoituina.

Yleisiä tasoloikkaohjeita löytyy esimerkiksi täältä:

http://www.gotoandplay.it/_articles/2007/02/game_tutorial_part1.php

http://www.flashgametuts.com/

Hyödyllisiä koodinpätkiä Flashiin löytyy esimerkiksi täältä:

www.actionscript.org


Tehtävä 1:

Suunnittele itsellesi tasoloikkahahmo. Tee konsepteja.

Tee Flashissä MovieClip-symboli, anna sille nimi, ja piirrä editointitilassa sen sisään kaksi kuvaa hahmostasi, hahmo paikallaan (frame 1) ja hyppäämässä (frame 2).

Tee vielä uusi MovieClip-symboli, jonka sisään piirrät animaatioloopin hahmosi juoksusta tai kävelystä. Anna symbolille nimi. Laita tämä uusi MovieClip-symboli ensimmäisen sisään, kolmanteen kuvapaikkaan. Anna kuvapaikoille nimet kirjoittamalla niille Labelit Properties-ikkunassa, esimerkiksi "idle", "jump" ja "walk"/"run". Palaa takaisin scenen puolelle klikkaamalla sen nimeä vasemmassa ylänurkassa. Anna ensimmäiselle MoviClipille myös instanssinimi Properties-ikkunassa.

Tämä on pelihahmosi.

Tee uusi Layer, anna sille nimi ja piirrä sille taso, jonka päällä pelihahmosi voi kävellä. Muuta taso MovieClipiksi, anna sille nimi ja instanssinimi.

Tee uusi Layer, anna sille nimi ja piirrä jonkinlainen palkki, jolla voit testata pelihahmosi putoamista. Siirrä palkki työskentelyalueen alle. Muuta palkki MovieClipiksi, anna sille nimi ja myös instanssinimi.

Käytä Yhteiset/Tasoloikka-kansiosta löytyvän Perussetti.fla-tiedoston koodia omaan pelihahmoosi.

Tee uusi scene, jonne siirrytään jos pelihahmosi putoaa ja kuolee. Tee sinne loppuanimaatio tai kirjoita tekstiä.


perjantai 11. tammikuuta 2013

Pelihistoria

NAPpk10


* Tämä kurssi on verkkokurssi, eikä siis edellytä läsnäoloa Villilässä *

Tällä kurssilla tutustutaan videopelien historiaan ja pelitutkimukseen eli ludologiaan. Tehtävät voi tehdä missä järjestyksessä itse haluaa.


Tehtävä 1:

Videopelaamisen historiaa

Käy katsomassa videopelaamisen historian aikajanaa seuraavasta linkistä:

http://prezi.com/olihyz7-iea4/pelihistoria/


Tehtävä 2:

Pelitutkimus (ludologia)

Pelitutkimus alkoi itsenäistyä 1990-luvun lopussa, kun ludologia teki pesäeron narratologiasta.
Narrativistit halusivat rinnastaa pelit tarinoita kertoviin välineisiin, kuten kirjallisuus, elokuvat ja teatteri.
Ludologien mielestä pelejä pitää tutkia peleinä, eli sääntöihin, käyttöjärjestelmiin ja pelaamiseen perustuvina järjestelminä.

Mene soitteeseen www.pelitutkimus.fi

Sivun oikeasta reunasta löydät linkit pelitutkimuksen vuosikirjoihin 2009-2012. Valitse vuosikirjoista yksi artikkeli tai katsaus. Tee siitä tiivistetty sähköinen esitys esim. Prezillä. Älä käytä artikkelin tai katsauksen valmista tiivistelmää, vaan tiivistä itse.

Palauta esitys tai linkki esitykseen sähköpostilla Harrille.


Tehtävä 3:

Nostalgiaa

Valitse haluamasi tietokone- tai videopeli 1980- tai 90-luvulta. Tee siitä ja sen historiasta sähköinen esittely esim. Prezillä.

Palauta esittely tai linkki esittelyyn sähköpostilla Harrille.


Tehtävä 4:

Japanin pelikulttuuri

Kirjoita 2 A4-pituinen essee Japanin pelikulttuurista ja –historiasta.

Tässä vähän pohjustusta:

Machiko Kusaharan artikkelissa ”Japanin pelikulttuuri” pohditaan varsinkin konsolipelaamisen suosion syitä Japanissa. Käsitys siitä, että vain lapset pelaavat tietokone- ja konsolipelejä, juontaa juurensa meidän länsimaisen yhteiskuntamme suhtautumisesta pelaamiseen, tai oikeammin leikkimiseen: leikki on lasten työtä. Kusaharan mukaan Japanissa, jossa varsinkin konsolipelaaminen kukoistaa, ei tällaista ajattelutapaa ole. Siellä kaikki pelaavat. Pelaamisen suosiota voisi verrata Mangan, japanilaisen sarjakuvan suosioon, joka ylittää kaikki ikään, sukupuoleen, tai sosiaaliseen asemaan liittyvät rajat. Mistä tämä suosio sitten johtuu? Jo 1100-luvun japanilaisessa runoudessa esiintyy leikkimistä arvostavia säkeitä. Leikkimistä ja pelaamista on siis varsin pitkään pidetty normaalina inhimillisen elämän osana. Perheiden yhteiseen ajanviettoon on vuosisatoja kuulunut pelien pelaaminen, ja 1900-luvun loppupuoliskolla myös intohimoinen television katselu. Nämä molemmat kulttuuriset tekijät yhdistyivät sitten sujuvasti konsolipelien pelaamiseen 1980- ja 1990-luvuilla (Huhtamo & Kangas, 2002, s. 269-272).

Palauta essee sähköpostilla Harrille.


Tehtävä 5:

Ilmiöt ja genret

Tee sähköinen esittely jostain pelikulttuurin ilmiöstä tai genrestä, esimerkiksi:

MMO / MMORPG
LARP
Arcade-hallit
Play-by-Mail / Play-by-Email / Play-by-Web
Kilpapelaaminen
Casual gaming
Ammattipelaaminen
Magic The Gathering

Jos ei näistä löydy kiinnostavaa aihetta, niin keksi oma ja esittele se.

Palauta esittely tai linkki esittelyyn sähköpostilla Harrille.


Tehtävä 6:

Minä pelaajana

Kirjoita 1 A4 pituinen essee omasta pelihistoriastasi. Koska aloitit pelaamisen? Mitä pelejä olet pelannut?

Palauta essee sähköpostilla Harrille.



keskiviikko 12. joulukuuta 2012

SKRIPTAUS 2: Viittausmuuttujat

Viittaausmuuttujat ovat muuttujia, joiden arvot ovat viittauksia pelissä oleviin objekteihin.

Unityssä viittaumuuttujia voidaan luoda suodaan editorissa, tyypittämällä muuttuja johonkin luokkaan, ja sitten raahamalla inspectorissa luokan edustaja muuttujan päälle.
Esim:

var Pallo : GameObject;

Viittauksia voidaan ketjuttaa, esimerkkinä pallon materiaalin vaihtaminen, jossa viitataan pallon renderer-komponentin material-muuttujaan:

var Pallo : GameObject;
var UusiMateriaali : Material;

Pallo.renderer.material = UusiMateriaali;

SKRIPTAUS 2: Olio-ohjelmointi


tiistai 11. joulukuuta 2012

SKRIPTAUS 2: IF-lauseke, kommentit, puolipisteet

1. IF-lausekeella voidaan ehdollistaa koodipätkiä. Ehto tulee if-avainsanan jälkeen suluissa. If-lausekkeen jälkeen hakasulkujen avulla voidaan määritellä, mitä ehtojen täyttyessä tapahtuu.
 Esimerkki:

 // jos OnkoNappiPainettu-muuttujan arvo on true, ajetaan PoistaKuutio()-funktio
if (OnkoNappiPainettu == true)
    {
    PoistaKuutio();
    }

if-lauseiden ehdoissa käytettävät merkit:

== yhtäsuuri
!= erisuuri
&& usempi ehto
|| joko tai


2. Kommentit. Kahdella kenoviivalla voidaan kertoa, että rivin sisältö on kommenttia, eikä sitä tarvitse kääntää konekieleksi.
Esimerkki:

// Tätä ei käännetä

3. Puolipisteet. Jokaisen statementin, eli komennon jälkeen tulee riville puolipiste, esimerkiksi muuttujien määrittely, funktioiden kutsuminen, arvojen antaminen. Puolipistettä ei tule mm. if-lausekkeiden ja funktioiden esittelyrivien perään.







SKRIPTAUS 2:  Eventtifunktiot vs käyttäjän kirjoittamat funktiot vs staattiset funktiot

Update, Start, MouseOver jne. ovat eventtifunktioita. Näitä funktioita järjestelmä kutsuu automaattisesti.

Update = ajetaan automaattisesti jokaisella framella
Start = Ajetaan, kun GameObject tulee peliin
OnMouseEnter = kutsutaan, kun hiiri viedään objektin päälle
jne jne.

Käyttäjän pitää itse määritellä, mistä hänen itsensä kirjoittamia funktiota kutsutaan.

Staattiset funktiot ovat unityn kirjastosta löytyviä funktiota, jota voidaan kutsua koodista.

Eventtifunktiot: järjestelmä kutsuu, käyttäjä kirjoittaa sisällöt
Käyttäjän kirjoittamat funktiot: käyttäjä kutsuu ja kirjoittaa sisällöt
Staattiset funktiot: käyttäjä kutsuu valmiita funktioita Unityn kirjastosta

maanantai 10. joulukuuta 2012

SKRIPTAUS 2: Muuttuja, funktio, parametri

1. Muuttuja:  paikka tietokoneen muistissa, johon voidaan tallettaa tietoa. Kun muuttuja alustetaan, sille varataan muistipaikka tietokoneen muistista. Muuttujille määritetään tyyppi, eli millaista tietoa niihin voi tallettaa.

Muuttujien nimeäminen:  nimet ovat case sensitivejä, nimet voi valita haluamikseen kunhan ei käytä erikoismerkkejä. Ei ääkkösiä.

Muuttujien tyypit:
Boolean: kyllä/ei, true/false, 0/1
Esimerkki: onko hahmo elossa?

Int, kokonaisluvut: 5,500, 3500, -3500;
Esimerkki: hahmon ikä

Float, liukuluvut: 5,5
Esimerkki: Unityn pituusyksiköt

String, merkkijono: "Teemu Vilén"
Esimerkki: nimet

Viittausmuuttujat: GameObject, Light, material, Camera yms  yms;

2. Funktio: Eristetty pätkä koodia, joka suorittaa halutun tehtävän. Funktion koodi eristetään hakasulkeilla. {}
Esimerkki:   Liikutapalloa();                returns Vector3
                    GetKeyUp("K");                returns boolean

Funktioiden nimeäminen: nimet ovat case sensitivejä, nimet voi valita haluamikseen kunhan ei käytä erikoismerkkejä. Ei ääkkösiä.

3. Parametri: funktion alkuarvo, näitä voi olla useampi

-----------------------
ESIMERKKI FUNKTION KUTSUSTA JA FUNKTIOSTA:

if (Input.GetKeyDown(k"))
    {
    liikutapalloa();
    }
   

function liikutapalloa()
{
adsfsadasdasd
asd
return Vector3;
}