Ensimmäisellä kaksoistunnilla lähdimme liikkeelle niin, että muodostimme viisi devaustiimiä, jotka keksivät itselleen nimen. Jotta jokaiseen ryhmään tulisi tasaisesti koodareita, graafikoita jne. jokainen sai valita itselleen kaksi mieluisinta tehtävää, ja näin saimme jaettua porukan ryhmiin joihin jokaiseen tuli 2 koodaria, 1-2 graafikkoa ja 1 tarina/pelilogiikkasuunnittelija.
Luovan prosessin ainekset |
Ensimmäisellä kerralla paperi jäi vielä aika tyhjäksi... |
Pelin koodaaminen lähti liikkeelle siitä, että suunnittelimme sen ensin yhdessä isolle valkoiselle paperille. Analysoimme mitkä asiat pelissä ovat vakioita ja mitkä muuttujia. Sitten esittelin miten käyttämämme pelimoottori toimii, ja kävimme läpi mitä funktioita (toiminnallisuuksia) pelissämme tarvitaan. Suunnittelimme myös pelin tietorakenteen paperille. Tätä "karttaa" tutkisimme sitten jokaisella koodauskerralla: mitä on jo tehty, mitä vielä puuttuu.
Tällä suunnitelmalla edettiin |
Koodarit työskentelivät niin, että jokainen teki omaa koodiansa, mutta tiimin sisällä vastuu oli molemmilla koodareilla yhteisesti. Eli, jos kävi niin, että toinen oli pois oppitunnilta, läsnä ollut koodari jatkoi koodia eteenpäin ja antoi sen seuraavalla kerralla koodauskaverillensa ja selitti mitä siihen oli lisätty. Ryhmät myös auttoivat toisiaan ja debuggasivat toistensa koodia. Tässä helpotti se, että koska teimme samaa peliä ryhmillä oli myös samoja ongelmia. Jokaisella kerralla alussa kertasimme suunnitelmamme kanssa mitä olimme tehneet viime viikolla, mitä pitäisi tehdä tällä tunnilla ja mitä jäi seuraavalle kerralle.
Samalla kun teimme koodia, tutustuimme ohjelman rakennuspalikoihin: vakioihin, funktioihin ja muuttujiin, tietueisiin ja niiden kenttiin, ehtolauseeseen, hiiritapahtumiin (events) sekä testaamiseen check-expect:ien avulla. Myös boolean logiikkaa ja vertailuoperaattoreita jouduttiin käyttämään, kun koodasimme predikaattia, joka huomaa onko hiiren klikkaus osunut hahmoon vai ei. Koska meillä ei ollut tietoa tulevien "myyrien" koosta, teimme koodimme "hit-box":in sellaiseksi, että minkä tahansa kokoinen myyrän kuva toimii (säätyy kuvan koon mukaan).
Koodatessa opettelimme käyttämään myös Koodarin käsikirjaa, katsoimme sieltä mm. miten merkkijonoja käsitellään, että saimme pisteet näkymään ruudulle. Koodaamiseen meni kolme kaksoistuntia, jonka ainaka graafikot ideoivat ja piirtelivät peligrafiikat. Neljännellä kaksoistunnilla kokoonnuimme koko ryhmä tietokoneluokkaan ja integroimme grafiikat peleihin. Monelle graafikolle ei ollut vielä selvinnyt, että kuvat piti eksportata GIMP2:sta .png muodossa, että niitä saattoi käyttää pelissä. Myös melkoinen määrä valkoista taustaa jouduttiin poistamaan pelihahmojen ympäriltä ja rajaamaan hahmojen kuvat tarkemmin, että koodiin ohjelmoitu "hit-box" toimisi oikein. Melkoisen sähellyksen jälkeen saimme kuitenkin kaikki pelit toimimaan.
Tämä harjoitus auttoi selvästi ryhmiä hahmottamaan, mitä pelin tekeminen vaatii, mitkä eri vaiheet ovat, mitä koodari tekee ja mitä graafikko tekee ja miten lopputulokseen vaaditaan jokaisen jäsenen panos.
Tämän jälkeen jatkoimme jälleen oman pelin suunnittelun kanssa koko devaustiimin voimin. Suunnittelun rinnalla porttasimme Racket - koodit WeScheme palveluun, jotta tehtyjä pelejä pääsisi pelaamaan selaimen kautta. Tässä ensimmäiset pelit!
Pelit toimivat myös iPadin kosketusnäytöllä.
Blacker Blue -tiimi |
Mars - tiimi |
Arcaid3 - tiimi |
Swag Lords - tiimi |
Ei kommentteja:
Lähetä kommentti