Näytetään tekstit, joissa on tunniste prototyyppi. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste prototyyppi. Näytä kaikki tekstit

perjantai 13. toukokuuta 2016

Loppuraportti

Loppuraportti

Tuntikirjanpito


Blogin PDF-tuloste


Prototyyppi: GuavaMania

Kulissien takana: Musiikki ja soundtrack

Helmikuun loppupuolella jossakin tapaamisessa pohtiessamme peliimme toteutettavia ominaisuuksia, tuli puheen aiheeksi myös pelin soundtrack. Prioriteetiltaan vähäinen, mutta mukava lisä peliin, lienee osuva kuva tehtävästä, joka lankesi minulle luonnollisesti musiikkitaustani vuoksi. Vaikka mielestäni tehtävän prioriteetti tosiaan oli pieni, olin asiasta innoissani, sillä en ole ennen säveltänyt pelimusiikkia. Aluksi ideoitiin tiimiläisten kanssa vähän minkä luonteinen soundtrack voisi olla, mutta koska selkeää visiota pelistä tai pelimaailmasta ja sen ulkonäöstä ei vielä ollut, sovittiin, että kokeilen tehdä jotakin, josta katsotaan palautteen kautta mihin suuntaan sitten mennään.

Lähdin toteuttamaan ensimmäistä kokeilua todella yksinkertaisesta ideasta, jonka sain päähäni miettiessäni mahdollista pelin taustamusiikkia pelimaailmalle, jossa liikutaan ruutu kerrallaan kaikessa rauhassa. Sanottakoon idean yksinkertaisuudesta vielä, että vuorottelin siinä A:ta ja E:tä pizzicatomaisella soundilla eli siitä mistä kappale alkaakin. Siitä se sitten lähti. Kirjoittelin vähän jousia, melodiaa ja lisää jousia ja kun kappale oli vähän kasvanut ja teema hyvin esitelty rauhoittui se pelkkiin jousiin ja melodiaan, joka oli suunniteltu aloittamaan kappale uudestaan loppuun tultaessa. Lopulta juuri tämä kappale päätyikin pelimme pääsoundtrackiksi.


Melodioiden kehittelyä


Toinen ideani oli vähän toiminnantäyteisempään tilanteeseen tarkoitettu. Lähdin sawtooth-nimisellä soundilla toteutettavasta bassomelodiasta liikkelle tällä kertaa. Tähän hiukan uhkaavan oloiseen bassoon vastaa yksinäinen torvisoitin. Tämän jälkeen alkoi tunteen kasvattaminen ja eräänä tehokeinona käytin trancen puolelta tutumpaa jousen käyttöä. Alusta tuttu melodia jatkaa kehitystään sawtoothin kanssa ja rauhoittuu taas jousiin, jotka tosin ovat dramaantäyteisemmät kuin ensimmäisessä kappaleessa. Tämänkin kappaleen lopun suunnittelin siten, että se voi alkaa suoraan alusta. Tämä kappale taas valikoitu minipelimme musiikiksi.

Pistin nämä kaksi luonnosta midi tiedostoina muun ryhmän saataville, joskin tiedostomuoto oli pieni virhe, sillä kaikki  eivät päässeet sen takia kuuntelemaan niitä. Projekti oli vielä varsin aikaisessa vaiheessa niin musiikin suhteen ei vieläkään ollut kovin selkeää kuvaa – itse olin vain tahtonut aloittaa jo tekemisen, sillä olisin varmaan muutenkin jotain musiikkia väsäillyt.
Seuraavan kerran musiikki tuli puheeksi ennen tapaamista asiakkaamme, Tuomon kanssa. Olimme Helinän kanssa luennolla vähän keskustelleet asiasta ja sopineet, että katsomme vähän missä mennään. Tuomon kanssa keskustellessamme kävi ilmi, että avainsanoja hänen makunsa mukaiseen pelimusiikkiin voisivat olla mahtipontinen, sinfoninen ja elokuvamusiikki, esimerkkinä Taru Sormusten Herrasta. Tämä yhdistettynä Helinän ehdotukseen luoda jokin teema, jota voisi helposti varioida, ja paria variaatota aloitti inspiraatiollisen ajatustyön, joka johti kolmanteen luomukseen.

Muutaman päivän elokuvamusiikin kuuntelun jälkeen soittaessani pianoa se iski. No mikä? Se teema. Sovitettuna jousille se kuulosti kuin tehdyltä johonkin eeppiseen elokuvaan. Sävellettyä lisää melodioita ja taustoja ja pari variaatota aloin ymmärtämään, että tämä eepos on varsin suuritöinen verrattuna kahteen aikaisempaan. Varsinkin kun sen sävellystyö ei ollut niin sanotusti puhdasta vaan vaati hieman fraasien tai sointujen hiomista. Taisin pistää tämänkin muiden kuultaville, joskin keskeneräisenä ja lopulta tästä yritelmästä luovuttiin.


Soundit kuntoon!

Tämän jälkeen ei enää sävellystyötä tapahtunut, mutta ennen grande finalea tuli taas musiikki puheeksi ja oli aika saada se vihdoin valmiiksi. Siinä iltaa ennen grande finalea Pro Tools -ohjelmaan viemäni midi-tiedostot kaipasivat soundeja, joten muu tiimi raatina säädin soundit puitteiden puitteissa jokseenkin kohdilleen. Kauheasti aikaa ei ollut niitä hioa ja pari tärkeää kohtaa jäikin varjoon, mainittakoon esimerkkinä toisen kappaleen loppuosan jousista löytyvä pieni tärkeä lisäsävel. Valmiit versiot jäivät leijumaan versionhallintaan, sillä en ehtinyt niitä peliin pistää. Onneksi seuraavana aamuna kävi ilmi, että kaiken muun lomassa Miika oli ehtinyt lisäämään ne peliin ja näin kaikki pääsivät nauttimaan GuavaManian äänimaailmasta.

Musiikkikappaleisiin voi tutustua täältä:
FRUITBAT
GuavaSong


Otso Ollikainen,
Gamifying Guavas

Kulissien takana: Katsaus toimintapisteisiin

Tässä blogipostaus liittyen pelin ”toimintapisteiden” luomiseen sekä työtuntidatan analyysiin. Ensimmäinen ja pisimmälle kehitetty toimintapistemalli on luonteeltaan sellainen, että se antaa pelaajalle toimintapisteet vain kerran päivässä kyseisen päivän aikana kirjattujen tapahtumien perusteella. Esittelen myös tämän blogipostauksen lopuksi pohjan vaihtoehtoiselle mallille, joka mahdollistaa reaaliaikaisen toimintapisteiden antamisen pelaajalle mielenkiintoisella tavalla.

Ensimmäinen malli


Pääasiallisena ajatuksessa ensimmäisessä mallissa on, että toimintapisteet eli action pointit (AP), koostuvat muutamasta eri lähteestä tulevista bonuksista, jotka tiettyyn kaavaan sijoitettuna muodostavat koko päivän AP tuoton:

  AP_gain = Project_coeff*(AP_base + Task_bonus + Rand_bonus) (1)

Kaavan (1) muut kertoimet lasketaan pelkistettynä seuraavasti (oikea toteutus hieman monimutkaisempi)

AP_base:
  AP_base = 0.5*hours_worked
AP_base = soft_cap + sqrt(AP_base - soft_cap), kun AP_base > soft_cap
AP_base = hard_cap + sqrt(ap - hard_cap)/5, kun AP_base > hard_cap

Task_bonus:
Task_bonus = scaling_factor*(sum(task_points) + n_tasks_done)

Project_coeff:
Project_coeff = 1 + sqrt(5*project_hours)/100
        Project_coeff = coeff_cap + (Project_coeff - coeff_cap)/5, kun Project_coeff > coeff_cap

Rand_bonus:
  Generoi vain satunnainen luku välillä [0, 1], tätä ei käytetty testeissä

Kaavoissa hours_worked on kirjatut työtunnit päivän päätteeksi, soft_cap ja hard_cap ovat rajoja, joidenka jälkeen AP:ta alkaa kertymään hitaammin, scaling_factor on vain määriteltävä skaalauskerroin Task_bonukselle, task_points on lista tänään suoritetuista taskeista saaduista pisteistä, n_tasks_done on suoritettujen taskien lukumäärä ja coeff_cap on raja, jonka jälkeen Project_coeff alkaa kasvaa hitaammin. Kaavan kertoimet perustuvat ideaan, että AP_base:ssa 8 työtuntia vastaa 4:ää AP:ta ilman muita bonuksia. Muut bonukset taas palkitsevat työntekijöitä monipuolisemmin ja lisäävät vaihtelua pisteiden kertymiselle. Liian yksinkertainen AP malli olisi tylsä pidemmän päälle, jonka takia esimerkiksi kaavassa (1) projektit vaikuttavat saatavaan AP määrään kertoimena. Nykyistä mallia voitaisiin myös vielä parantaa entisestään ottamalla esim. pelimenestyksen yhteistyötapahtumissa huomioon tai ottamalla huomioon jotain muuta pelin ulkopuolista tai pelin sisäistä dataa. Kuvaus kaavan (1) tuottamasta AP määrästä pohjautuen asiakasyrityksemme dataan yhdelle päivälle satunnaisesti luoduilla task- ja projektisuorituksilla näkyy seuraavassa kuvassa:


Kuva: Tehdyt työtunnit asiakasyrityksemme 12 eri käyttäjälle ja datan pohjalta määritety action pointit ottaen huomioon vielä satunnaisesti generoidut projektikirjaukset sekä suoritetut taskit


Vaihtoehtoinen malli


Vaihtoehtoisen AP mallin ideana on, että tietyt tapahtumat, kuten projektien valmistuminen ja taskien suorittaminen, kasvattavat heti pelaajan omaa ”AP kerrointa”, eli kerrointa, joka kertoo työtuntikirjauksen tai tehtävän suorittamisen yhteydessä annettavan pohja AP määrän yksinkertaisesti:

  AP_gain = AP_coeff * hours_worked (5)

AP_coeff kuitenkin vähenee ajan kuluessa tietyn kaavan mukaan, hyvä vaihtoehto tätä varten voisi olla esimerksi jonkinlainen funktio, joka vähenee suurimmalla kertoimella kaikista nopeiten, kuitenkin kertoimen pienentyessä kerroin alkaisi vähentyä vähemmän. Esim 1/x kaltaisesta funktiosta saisi positiivisessa alueessa jonkinlaisen yhteyden tätä varten aikaiseksi. Tämä vaihtoehtoinen kaava mahdollistaisi reaaliaikaiset muutokset AP:seen yksinkertaisesti ja pelaajalle voisi myös näyttää hänen nykyisen AP kertoimensa reaaliajassa. Kertoimen hiipumisen voisi myös yhdistää peliin käytettyyn aikamäärään: tämä saisi pelaajia ehkä pelaamaan useammin, jotta AP kerroin pysyisi korkealla, mutta ei liian usein, jotta sen nopea hiipuminen ei tapahtuisi. Aikaa tämän idean kehittämiselle tätä pidemmälle ei kuitenkaan ollut, joten se täytyi jättää tähän vaiheeseen.

Jesper Ilves,
Gamifying Guavas

Kulissien takana: Prototyypin kehitysaskeleet

Projektimme tarkoituksena oli pelillistää työelämää ja etenkin ohjelmistokehitykseen liittyviä työtehtäviä. Osana projektiamme toteutimme prototyypin pelistä, joka integroituisi osaksi työpäivää, innostaisi ja motivoisi työntekijöitä, lisäisi tavoitteellisuutta ja tervettä kilpailuhenkeä työtehtävissä, parantaisi työyhteisön henkeä ja täten yleisesti parantaisi työhyvinvointia ja kenties samalla tehokkuuttakin.

Pelimekaniikat

Prototyypin kehitys alkoi miettimällä millaiset pelimekaniikat sopisivat peliimme ja projektin tavoitteisiin. Pelin pitäisi integroitua työpäivään, innostaa työntekijöitä, mutta ei viedä merkittävästi työaikaa. Pidimme pelimekaniikkoihin liittyen koko ryhmän voimin useammankin aivoriihen, joiden tuloksena päädyimme pelimekaniikoiden suhteen seuraavanlaiseen kokonaisuuteen:

Hahmo

Työntekijällä on pelissämme hahmo, jonka voi kustomoida oman näköisekseen. Tehdyistä työtunneista ja suoritetuista työtehtävistä pelaaja saa toimintapisteitä, joilla hän kykenee liikkumaan pelimaailmassa sekä suorittamaan pelissä erilaisia toimintoja. Samalla pelaajalle kertyy kokemuspisteitä, joilla hän voi kehittää hahmoaan ja hahmon taitoja.

Pelimaailma

Pelimaailma koostuu yhdestä isosta kartasta, joka on jaettu pienempiin alueisiin. Nämä pienemmät alueet koostuvat reiteistä, joita pitkin pelaaja voi kerryttämillään toimintapisteillä liikkua. Matkan varrella pelaaja voi törmätä erilaisiin tapahtumiin, kuten löytää jonkin esineen tai törmätä viholliseen, joka täytyy voittaa ennen matkan jatkumista. Tapahtumiin voidaan liittää erilaisia minipelejä.

Yhteistyö

Pelimaailmassa olisi myös erilaisia yhteystyöelementtejä. Pelaaja pystyisi esimerkiksi liikkumaan pienemmällä määrällä toimintapisteitä, jos hänellä on työkaveri seurassaan. Lisäksi jotkin pelin tapahtumat vaativat useamman pelaajan osallistumisen.
Muuta
Lisäksi kaavailimme monia muita mahdollisia pelimekaanikoita. Näihin kuuluivat mm. kauppa, josta pelaaja voisi pelin sisäisellä virtuaalivaluutalla ostaa esineitä, jonkinlainen “uhkapeli” elementti ja kenties jonkinlaisen aktiivisuusrannekkeen tai hyvinvointikyselyn integroiminen peliin.

Teknologiat

Pelimekaaniikoiden lisäksi prototyypin kehitykseen liittyi käytettävien teknologioiden miettiminen. Heti alkuun päätimme tehdä pelistä selainpohjaisen. Selainpohjaisena peliä voi pelata millä tahansa selaimella tai mobiililla ilman että käyttöjön tarvitsee asennelle mitään ylimääräistä. Pidimme tapaamisen, jossa pohdimme eri teknologiavaihtoehtoja. Kovin paljoa kokemusta selainapplikaatioiden kehityksestä kellään meistä ei ollut. Ehdotuksia ja vaihtoehtoja löytyi useita. Etenkin Otson ehdottama ja hänen aimmallakin kurssilla käyttämänsä, verrattain uusi framework nimeltä Meteor vaikutti lupaavalta ja lyhyen tutkimustyön jälkeen siihen myös päädyimme. Meteorin ominaisuuksiin kuuluu integroitu Mongo-tietokanta, Reaktiiviset muuttujat ja paketinhallinta, josta löytyy kattava määrä kirjastoja. Niin palvelimella kuin asiakkaan laitteella suoritetaan samaa javascript-koodia, jolloin applikaatiosta saa helposti tehtyä erittäin responsiivisen. Esimerkiksi tietokantakyselyt simuloidaan jo asiakkaan laitteella, eikä vastausta tarvitse odotella palvelimelta, vaan asiakas saa vastauksen antamaansa syötteeseen välittömästi.
Versionhallinnan osalta päädyimme Bitbuckettiin hostattuun Git-repositorioon. Bitbucket, toisin kuin esimerkiksi Github, tarjosi ilmaisen ja yksityisen versionhallinnan ja hyvät tiimityöskentelyominaisuudet.

Ominaisuudet ja priorisointi

Ennen varsinaista kehitystyön aloittamista täytyi meidän vielä päättää prototyyppiin mukaan otettavat ominaisuudet ja niiden priorisointi. Oli kuitenkin selvää ettei kaikkea suunnittelemaamme keretä toteuttamaan. Pidimme yhden tapaamisen myös prototyypin ominaisuuksista ja päädyimme karsittuun listaan, jossa oli ne muutamat ominaisuudet, jotka ehdottomasti halusimme prototyyppiin mukaan ja yleisölle siteltäviksi. Näihin tärkeimpinä lukeutuivat esimerkiksi yksinkertainen käyttöliittymä, pieni pelikartta, pelihahmon liikuttelu ja jokin yhteistyöelementti.

Kehitys

Käytännössä itse kehitystyön aloitin itsekseni, sillä tehtävän jakaminen pienempiin osiin oli tässävaiheessa vielä hankalaa. Kuitenkin pian prototyypin pohja alkoi löytää muotoaan ja kun koodia oli kasassa jonkin verran, prototyyppiä voitiin alkaa työstämään jo useamman henkilön voimin. Pidimme ensimmäisen kaksipäiväisen prototyypin kehityssessiomme Pe 8.4. - La 9.4. Koko ryhmämme ei päässyt paikalle, mutta prototyyppiä työstettiin kuitenkin kolmen hengen voimin. Otso ja minä keskityimme pelimme koodipuoleen ja Mikko työsti grafiikoita. Vielä perjantaina ei näkyvää kehitystä juurikaan tapahtunut, sillä aikaa kului paljon uuden teknologian ja tiimissä kehityksen opetteluun. Sen sijaan Lauantaina kehitystyö alkoi jo sujumaan ja saimme peliimme useita ominaisuuksia valmiiksi. Tässä vaiheessa valmiina oli mm. Pelihahmo ja sen liikkuminen kartan pisteissä, toimintapisteet, yksinkertainen layout ja yksi esimerkkiminipeli. Pelin kartta ja hahmot olivat kuvattuna tietokantaan. Lisäksi meillä oli Mikon tekemä alustava versio isommasta “maailmankartasta”.
Session jälkeen meillä oli jo selkeä kuva työskentelytavoista ja prototyyppiin työstettävistä ominaisuuksista sekä niiden tärkeysjärjestyksestä ja näin kehitystyötä voitiin jatkaa itsenäisesti. Seuraavaan prototyypin kehityssessioomme mennessä prototyyppimme olikin taas askelta lähempänä valmista. Matkaa oli kuitenkin vielä paljon jäljellä.
Toisen pidemmän kehityssessiomme pidimme Pe 15.4 - La 16.4. Tällöin paikalle pääsi myös Helinä ja Jesper. Otso ja minä jatkoimme koodaamista Helinän ja Mikon työskennellessä grafiikoiden parissa. Saimme hyvän vauhdin päälle ja uusia ominaisuuksia valmistui kuin liukuhihnalta. Lauantain päätteeksi prototyypissämme oli valmiina kartta yksityiskohtineen, esineen löytäminen, hahmoanimaatiot, toinen pelaaja ja paljon uutta grafiikkaa.

Grafiikat

Grafiikat muodostavat suuren osan pelistä ja sen viehätyksestä. Käytimme prototyypissämme pitkään placeholder -grafiikoita, joita emme tietenkään halunneet valmiiseen prototyyppiin jättää. Lopullisen prototyyppimme visuaalisen ilmeen loivat graafikkomme Helinä ja Mikko - saimmekin korvattua kaiken placeholder -grafiikan omilla tuotoksillamme ja uskommekin visuaalisuuden olevan yksi tuotteemme houkuttelevista tekijöistä.

Viimeistely

Kovasta panoksestamme huolimatta huomasimme Grand Finalen lähestyessä prototyyppimme olevan huomattavan puutteellinen. Jouduimme vielä suorittamaan osaamisemme uudelleenallokointia - jättäydyin itse pois jo osittain harjoittelemastani esityksestä ja keskityin Grand Finalea edeltävän viikon ajan prototyypin loppuun saattamiseen. Töitä tehtiin vielä viimeisenä iltana pikkutunneille asti. Vaikka tapahtuma-aamuna hieman väsyttikin, oli palkitsevaa nähdä prototyyppimme kaikkine toivomimme ominaisuuksineen toimivan moitteetta. Erityisen hienoa oli nähdä peliin kehittämämme yhteystyöelementin toiminta käytännössä.

Miika Piiroinen,
Gamifying Guavas

keskiviikko 4. toukokuuta 2016

Viikko 17: Grande Finale

Oman ständin rakentaminen

Perjantaina 29.4., grande finalen aamuna, suuntasimme koko tiimin voimin heti aamusta Otakaari 1:een. Osa tiimistä kävi hakemassa guavaboolin tarvikkeet sekä muut välineet Helinän luota samalla, kun loput tarvikkeet valmisteltiin päivää varten. Viimeiset koodirivit oli puserrettu aamuyön pikkutunneilla, ja myös grafiikat olivat saaneet viimeisen silauksensa samoihin aikoihin. Myös viimeiset toimintatestaukset eri laitetyypeillä suoritettiin yön aikana, ja saimmekin tuotua demotilaisuuteen sekä läppärin että tabletin testattavaksi.

Saavuttuamme messupaikalle aloimme kokoamaan ständiämme. Halusimme kävijöiden ständikokemuksen olevan mahdollisimman yhtenäinen, joten olimme panostaneet brändiimme sekä yleisilmeeseen. Kokonaisuus lähti liikkeelle tiimimme pinkeistä paidoista, jotka oli koristeltu logomme guavalla, ja päätyi sointuvan posterin ja demottavan prototyyppimme kautta jaossa olleisiin guavatarroihin.


Ständin pystyttäminen alkoi paperimukien koristelemisella guava-tarroja käyttäen.



Ständin kasaaminen sujui mukavasti, ja saimme sekä posterimme että logomme hyville paikoille.

Pitch

Ständien kokoamiseen oli varattu aikaa aamulla klo 10.30 asti. Melko pian tämän jälkeen, klo 11, alkoivat pitchit. Meidän ryhmämme esiintyi jo klo 11.20.

Useamman viikon suunnittelu ja harjoittelu palkittiin tilaisuudessa. Pitch meni erittäin hyvin, ja koko tiimimme oli täysillä mukana esityksessä. Kolme minuuttia eteni napakasti, eikä "demoefektejäkään" sattunut. Myös esityksen diat ja sisältö oli suunniteltu saumattomasti osaksi projektimme esitettyä kokonaisuutta.


Esityksemme diat olivat yhtenäinen osa luomaamme ilmettä.

Messutapahtuma

Myös varsinainen messutilaisuus sujui erinomaisesti. Ständillämme oli jatkuvasti paljon väkeä, ja kävijät innostuivat niin prototyyppimme kokeilemisesta että guavaboolistamme. Pelin idea herätti mielenkiintoa, ja sai positiivista palautetta monilta teknologiaopiskelijoilta, jotka pysähtyivät sitä kokeilemaan sekä keskustelemaan kanssamme projektistamme.



Koko messutapahtuman ajan ständimme kuhisi innokkaita tulevaisuuden käyttäjiä.

Pöydällä meillä oli kaksi konetta, tietokone ja tabletti, joilla oli mahdollista kokeilla peliä. Koska yhteistyö on tärkeä ja ratkaiseva tekijä pelissämme GuavaManiassa, molemmilla koneilla oli eri käyttäjä pelattavissa. Pelaajien oli mahdollista suorittaa yhteistyötehtäviä myös demotilaisuudessa, mikä loi tärkeää todellisuudentuntua demoomme.



Ständillämme oli mahdollista kokeilla GuavaManian prototyyppiä yksin tai yhdessä jonkun kanssa.

Iloksemme myös asiakkaamme Avoin.Systemsin edustaja Tuomo Aura pääsi paikalle katsomaan esitystämme ja ständiämme. Hän vaikutti innostuneelta projektimme tilasta ja siitä, miten pitkälle saimme toteutettua konseptoimaamme työelämäpeliä. Olimme jo aiemmin puhuneet siitä, että tiimimme voisi tulla esittelemään ideoita ja prototyyppiä Avoin.Systemsin toimistolle, ja tämä nousi uudelleen puheeksi ständillämme. Sovimme, että tulemme vielä loppukevään aikana kertomaan projektista ja GuavaManiasta.

Grande Finale oli kaikin puolin erinomaisesti onnistunut tilaisuus meidän tiimimme näkökulmasta. Ständistämme tuli juuri toiveidemme mukainen, esitys sujui hyvin ja lisäksi ihmisillä riitti kiinnostusta ja innostusta sekä tuotettamme GuavaManiaa että yleisesti projektiamme kohtaan. Kokemus oli inspiroiva myös meille tiiminä, ja loi erinomaisen finaalin tuotteemme suunnittelu- ja toteutusprosessille.


Tarjolla oli myös guavaboolia guava-mukeista.

perjantai 29. huhtikuuta 2016

Viikko 17: Viimeisiä viedään

Viimeisen viikon aikana olemme työskennelleet entistäkin enemmän. Prototyyppimme on nyt viimeisen päälle hiottu ja valmis esiteltäväksi yleisölle. Grand Finale -esitystämme olemme sparrailleet tunteja ja tunteja, ja se tulee varmasti menemään nappiin. Tiimipaidat ovat jo päällämme, ständitekniikka suunniteltu, juliste printattu ja kaikki muutkin tarvikkeet hankittu tämänpäiväistä koitosta varten.

Tulkaa tevehtimään meitä ständillemme, joka löytyy tänään Otakaari 1 pääaulasta klo 10:45-13:00.

- Gamifying Guavas

P.S. Linkki tuntikirjanpitoomme löytyy blogin oikeanpuoleisesta sivupalkista. Voitte myös tutustua tuntikirjanpitoon suoraan tästä: https://drive.google.com/open?id=1h827m-r8Ktpm-kMehYcgaBeqUHxKtvkrjuQEJhF-Ba4

Viikot 16 ja 17: Posteri, prototyypin edistysaskeleet ja Grande Finalen suunnittelua

Posteri

Posterin työstäminen alkoi jo viime viikolla. Meillä oli suhteellisen selkeä kuva siitä, mitä verbaalista sisältöä halusimme siihen, olimmehan pohtineet projektimme ja tuotteemme tiiviimpiä muotoja jo useaan otteeseen niin väliraportissa kuin pitchiämme suunniteltaessa. Tekstien tarkempaan suunnitteluun ja posterin sisällön sommitteluun meni kuitenkin yllättävän kauan aikaa.

Huomasimme pian suunnittelun alettua, että tehdäksemme julisteesta tarpeeksi kevyttä luettavaa ja silmäiltävää, siinä ei voisi olla pitkiä pätkiä tekstiä. Päädyimmekin laittamaan pisimmän tekstikuvauksen tuotteeseen johtaneen ongelmapohdinnan kohdalle. Osan tekstistä korvasimme selventävillä kaavioilla, joista näkee nopeasti silmäilemällä ideat, joita peliimme sisältyy.



Posterimme lähti liikkeelle yksinkertaisista luonnoksista.

Lopullinen versio posterista noudattaa ilmettämme, ja siinä on sopivasti kuvaa, kaaviota ja tekstiä. Lisäksi vaalealla harmaan sävyllä toisistaan erotellut osa-alueet jakavat posterin helposti silmäiltäviksi kokonaisuuksiksi. Valmiiseen posteriin voi tutustua tarkemmin täällä.


Pitchin viimeistely ja treenaaminen

Ennen esitysviikkoa olimme jo suunnitelleet pitchin pitkälle ja treenanneet sitä useaan otteeseen sekä itseksemme että koko tiimin kanssa. Myös Vesan sparrauksella oli tärkeä rooli lopullisen esityksen muodostumisessa. Pitch kuitenkin eli vielä viimeisenkin viikon aikana, sillä mitä enemmän treenasimme, sitä enemmän huomasimme kohtia, jotka vaativat enemmän selkeytystä ja "rautalankaa". Lisäsimme myös selkeyttä brändiimme liittyen, ja saimme vieläkin paremmin kehitettyä esitykseemme tarinan.

Viikon 17 aikana treenasimme pitchiä useana päivänä, ja tunteja tuli käytettyä todella paljon. Torstaina treenasimme pitchiä kuusi tuntia lähes putkeen, ja samalla otimme sekä aikaa että harjoittelimme diojen vaihtamista. Tämä sessio antoi koko tiimille itsevarmuutta esiintymiseen, ja lopulta pystyimme vetämään osuutemme kaikesta ympärillä olevasta riippumatta. Lopulta huomasimme myös, että nyt oli aika lopettaa treenaaminen - liikakaan ei ole hyvästä.



Jesper otti koko ajan aikaa Helinän, Tapion ja Otson treenatessa pitchin spiikkejä ja Mikon huolehtiessa diojen vaihdon sujuvuudesta. Esittäjät saivatkin koko ajan palautetta siitä, kuinka napakasti tämä pitchin veto oli sujunut, ja kenellä oli vielä vähän varaa kiriä osuuttaan. Samaan aikaan Miika vielä lisäili uusia ominaisuuksia prototyyppiimme.

Kauppakäynnit ja omat paidat

Suunnittelimme kauan Grande Finaleen tulevia elementtejä. Ideat lähtivät kunnolla laukkaamaan, kun posterin suunnittelu ja toteuttaminen käynnistyi. Meillä oli jo aiemmin ollut puhetta tiimin paidoista, joiden avulla saisimme aloitettua yhtenäisen ilmeen luomisen. Olimme tehneet useamman tarjouspyynnön eri paitafirmoille, ja tilasimme parhaasta vaihtoehdosta tiimillemme guava-logolla varustetut paidat. Logo itsessään on vihreävoittoinen, ja totesimme, että se korostuisi hauskasti pinkeistä paidoista. Näitä oli onneksi saatavilla firmassa, josta paidat tilasimme.

Keskiviikkona ja torstaina kävimme eri kaupoissa ostamassa tarvikkeita ständillemme: guavaboolin aineksina erilaiset juomat ja hedelmät, kertakäyttömukit brändimme väreissä eli vihreinä ja pinkkeinä sekä tarrapaperia itse tehtäviä guava-tarroja varten. Keskiviikkona kävimme tulostamassa runsaasti guavia, ja yhdessä leikkasimme tarrat muotoon.



Kävimme tulostamassa arkeittain guava-tarroja sekä A4-kokoisia logojamme ja tiimimme
nimikylttejä ständin koristelua varten. Lopuksi leikkasimme tarrat pyöristettyyn muotoon.

Yritimme myös ideoida muita oheistuotteita, joita ständivieraamme voisivat ottaa mukaansa tarrojen lisäksi. Mielessämme pyörivät esimerkiksi muistitikut, lasinaluset ja avaimenperät. Näistä avaimenperien tekemistä kokeilimmekin keskiviikkona. Jouduimme kuitenkin toteamaan, että näiden käsityönä tehtyjen avaimenperien tekeminen veisi noin tunnin per avaimenperä, ainakin vielä pienemmän määrän ollessa kyseessä. Ajatuksemme itsetehdyistä kierrätysmateriaalisista (vanhan tanssimaton pleksiosat) avaimenperistä joutuikin tämän vuoksi hylättyjen ideoiden listalle. Kokeillessamme näiden tekemistä saimme kuitenkin tehtyä kuusi avaimenperää - yksi kullekin tiimiläiselle muistoksi!







Vaikka jouduimme toteamaan, että avaimenperistä ei saisi sopivaa oheistuotetta ständillemme, vietimme hauskan illan Teekkarikylän askartelupajalla testaillen ja kokeillen. Muistoksi jäivät tiimiavaimenperät.

Torstaisen kauppakäynnin jälkeen kävimme noutamassa tiimipaitamme ennen koululle suuntaamista. Ennen kun aloimme harjoitella esitystä, vedimme paidat päällemme, ja pääsimme heti tunnelmaan! Tiesimme heti, että paidat olivat ehdottomasti oikea hankinta tätä esitystä ja ständiä varten.




Guava-tiimimme oli erittäin innoissaan, kun saimme torstaina vetää tiimipaitamme päällemme. Myös pitchin harjoittelu sujui paljon tehokkaammin, kun esitysasut oli saatu päälle.

Prototyypin viimeiset kehitysaskeleet

Vielä viimeisen viikon aikana prototyyppi edistyi huimasti. Miika ja Otso käyttivät valtavia tuntimääriä koodaamiseen, ja Helinä puolestaan edisti grafiikoita jatkuvasti sitä mukaan, mitä tarvetta uudet ominaisuudet loivat. Päivitimme joka päivä "backlogiamme" eli tehtävälistaamme ja priorisoimme siellä olevat kohdat uudelleen ja uudelleen. Vielä viimeisenä päivänä löytyi asioita, jotka kuitenkin halusimme vielä saada demoomme mukaan, ja esimerkiksi yhteistyöominaisuutta hienosäädettiin alle 12 tuntia siitä, kun ständillä pitäisi olla esittelemässä valmista demoa. Lisäksi käyttöliittymä koki muodonmuutoksen viimeisen viikon aikana. Alunperin kovin tummasävyinen sivusto sai vaaleamman ilmeen, jota brändivärimme pinkki tehosti.



Tehokkaan viikon päätteeksi pystymme kuitenkin toteamaan, että nyt on kova ja palkitseva työ takana. Meillä oli hienossa kunnossa oleva prototyyppi valmiina demottavaksi. Vaikka tekemistä olikin riittänyt kauan ja runsaasti, niin tätä kelpaa esitellä Grande Finalessa.

sunnuntai 24. huhtikuuta 2016

Viikot 15 ja 16: Toinen hackathon ja esityksen sparrausta

Toinen hackathon

Viime viikonloppuna pidimme toisen hackathon-viikonloppumme ja saimme prototyyppiin valmiiksi pari uutta ominaisuutta. Lisäksi pelimme grafiikat etenivät pitkälle, ja nyt valmiina ovatkin koko pelimaailman suuri kartta sekä ensimmäisen maan yksityiskohtaisempi kartta, ensimmäinen pelaaja animaatioineen, toisen pelaajan malli sekä pelin ensimmäinen hirviö (hedelmälepakko).



Hedelmälepakko saapui peliin tuomaan jännitystä minipeleihin.


Pelihahmot


Viikonlopun aikana työskentelimme perjantaista lauantaihin, käyden välillä kotona nukkumassa. Maarintalon yläkerran huoneesta on jo muodostunut projektimme tukikohta. Lisäksi kurssin väliraportin palautus oli viime sunnuntaina, joten viimeistelimme myös sen viikonlopun aikana.


Ohjelmakoodi ja grafiikat syntyivät tehokkaaseen tahtiin myös tänäkin viikonloppuna.



Lauantainen päivällistauko koodauksen, piirtämisen ja raportoinnin välissä.

Pitchin suunnittelu ja harjoittelu

Tällä viikolla olemme lähinnä suunnitelleet ja harjoitelleet Grand Finale -esitystämme. Alkuviikon käytimme esityksen suunnitteluun ja esitysdiojen kokoamiseen. Keskiviikkona meillä oli sparraussessio Vesa Kantolan kanssa ja saimmekin häneltä monia hyviä vinkkejä esityksemme hiomiseen. Esityksen suunnalta seuraavana on vuorossa lisää harjoittelua sekä yksityiskohtien hiomista.

Grande Finalen muu sisältö

Tänään (sunnuntaina 24.4.) olemme työstäneet sekä peliä yleisesti eteenpäin (koodi ja grafiikat) että koonneet suunnitelmiemme pohjalta posterille pohjan. Helinä viimeistelee posterin toteutuksen maanantaina ja lähettää sen sitten eteenpäin kurssihenkilökunnalle.

Ja projekti jatkuu edelleen

Ensi viikon perjantaina on Grand Finale, joten paljon aikaa kuluu vielä sen valmisteluun. Meidän täytyy tilata vielä ryhmällemme Gamifying Guavas -paidat sekä Guava mehua standillemme. Lisäksi prototyypissä on vielä paljon työstettävää.

keskiviikko 13. huhtikuuta 2016

Viikot 14 ja 15: Ensimmäinen hackathon, prototyypin ja väliraportin työstöä

Viime viikko oli projektimme suhteen hieman hiljaisempi. Tenttiviikon johdosta useilla ryhmäläisillämme oli muita kiireitä eikä projektia päästy työstämään kunnolla alkuviikosta. Sen sijaan viikonlopuksi olimme varanneet Maarintalolta tilan prototyypin työstämistä varten niin sanotun hackathonin muodossa. Viikonlopun aikana tunteja projektin ja prototyypin parissa kertyikin kiitettävästi.

Viikonlopun Hackathon

Tähän mennessä emme olleet saaneet prototyypin suhteen juuri mitään näkyvää aikaiseksi. Suurin osa ajastastamme oli mennyt lähinnä uuden teknologian opetteluun ja kehitysympäristön säätämiseen. Aloitimme hackathonimme perjantaina kolmen hengen voimin. Alku oli kankeaa koska prototyyppimme oli vasta alkutekijöissään ja kenelläkään ei oikein ollut selkeää käsitystä mitä pitäisi tehdä. Päivän päätteeksi meillä oli lähennä web-applikaatiomme pohja valmiina. Vaikka mitään kovin näyttävää emme vielä saaneet aikaiseksi niin oli codebasemme sellaisella mallilla, josta seuraavana päivänä on helppo jatkaa.


Prototyypin työstöä



Lauantaina homma alkoikin sujumaan jo sutjakammin. Kaikilla koodareilla oli jo selkeä visio eikä ihmettelyyn kulunut enää aikaa vaan saimme jotain konkreettistakin tehtyä. Web-appimme pääsivu, eli kenttä jossa tehdyistä työtunneista kertyneillä toimintopisteillä voi hahmoaan liikutella toimi jo jollain tasolla. Lisäksi saimme tehtyä myös maailmankartta-sivun, jossa näkee koko pelimaailman. Lisäksi valmistui yksi minipeli. Tuotteemme kaipaa vielä paljon työstämistä etenkin grafiikoiden osalta, ja toivon mukaan saammekin vielä tällä viikolla paljon aikaiseksi.


Pelin kenttä


Pelimaailma

Väliraportti

Kurssin osalta seuraava DL on väliraportti, josta iso osa koostuu LeanCanvasin pohjalta tehdystä liiketoimintasuunnitelmasta ja jo aiemmin hahmottelemastamme ansaintamallista. Suuri osa projektistamme koostuu prototyypistä ja siihen liittyvästä demosta. Liiketoimintapotentiaalin lisäksi väliraportti tulee siis käsittelemään myös varsinaista tuotettamme ja sen toteutusta.

Lean Canvas toimii liiketoimintasuunnitelman ja väliraportin pohjana


Seuraavat askeleet

Tässä vaiheessa projektiamme keskitymme yksinomaan prototyyppiin ja väliraportin työstämiseen, ja siinä riittääkin tekemistä koko ryhmälle. Osa ryhmästämme työskentelee prototyypin parissa ja toinen osa kirjoittaa väliraporttia. Suunnittelupuolessa olemme kaikki mukana.

keskiviikko 30. maaliskuuta 2016

Viikko 13: tapaaminen ke 30.3.2016

Ansaintamalli

Tapaamisessa kävimme läpi työstämäämme ansaintamallia. Ansaintamallimme perustuu kuukausittaisiin tilaajamaksuihin. Asiakas maksaa kuukausittain jonkin tietyn summan oikeudesta käyttää tuotettamme. Hinnoittelu on helppo niin asiakkaalle kuin meillekin. Pohdiskelimme myös miten ansaintamalli tulee muuttumaan toimintamme laajetessa.

Prototyyppi

Viikonlopun aikana saimme prototyypille tehtyä git-repositorion ja sinne alustettua meteor.js -pohjaisen projektin. Repositoriossa on yksinkertainen projekti - se sisältää web-sivun, jossa otsikko, valikko sekä HTML Canvas.

Repositoriomme Bitbucketissa


web-sivun alustava layout


Viikko 12: Prototyypin toteutuksen aloittaminen

Prototyyppi alulle

Keskiviikon 23.3. tapaamisessa keskustelimme prototyypin tekemisestä ja siihen liittyvistä vaiheista. Sovimme alustavasti grafiikan ja visuaalisten elementtien hahmottelusta sekä prototyypissä käytettävistä teknologioista. Web-sovelluksemme alustaksi valitsimme Meteorin. Meteorilla onnistuu web-sivun ja JavaScript-sovelluksen teko helposti. Lisäksi sama sovellus saadaan käännettyä suoraan mobiilisovellukseksi. Tavoitteena on saada seuraavalle viikolle aikaiseksi jonkinlainen pohja - projektin alustus, jonkin verran koodia sekä yksinkertainen web-layout, josta voimme jatkaa prototyypin työstämistä.

lauantai 19. maaliskuuta 2016

Viikko 11: Asiakastapaaminen Tuomon kanssa

Perjantain 18.3. luentoa meille oli pitämässä asiakkaamme Avoin.Systemsin Tuomo Aura. Luennon jälkeen tiimistämme Helinä ja Otso lähtivät vielä kahville Tuomon kanssa keskustelemaan projektin tilanteesta sekä sen seuraavista askelista.

Tapaamisen aikana kävimme läpi suunnitelmamme tuotteelle sekä loppuprojektille. Idea työelämää pelillistävästä tietokonepelistä on jo alkanut muodostua selkeämmäksi. Peli koostuu kahdesta pääasiallisesta näkymästä: koko pelimaailmasta sekä pelin maista. Pelimaailmaa on mahdollista katsoa sekä suurelta kartalta että varsinaisen pelatun maan kautta.

Peliä pelataan maissa, jotka koostuvat pelikarttaverkoista. Verkon pisteet ovat pelin tapahtumapaikkoja, ja niihin on mahdollista liikkua vain pisteitä yhdistäviä polkuja pitkin. Pelissä on sekä tavallisia pisteitä, joihin ei ole liitettynä erityisiä ominaisuuksia, että toimintapisteitä. Toimintapisteissä on mahdollista suorittaa tehtäviä tai kerätä esineitä. Mahdollisia tehtäviä ovat mm. pelin hirviöitä vastaan käydyt taistelut sekä pulma- tai muiden minipelien pelaaminen.


Pelin hahmottelua

Tuomo piti erityisesti ideastamme, että työelämää pelillistettäisiin yhteistyöhön kannustavien ominaisuuksien voimin. Yhteistyö työkavereiden kanssa onkin avain pelissä pärjäämiseksi. Esimerkkinä annoimme seuraavat tilanteet:

1. Kahden työntekijän pitää olla samaan aikaan pelattavan kartan tietyssä pisteessä. Kun tilanne on saavutettu, pisteessä voi avautua esimerkiksi arkku, joka olisi muuten jäänyt lukituksi. Tietyissä pisteissä pelaajat voisivat myös jakaa toistensa tietoja: jos omaa reittiä palaaminen on toimintapisteissä edullisempaa kun uusien alueiden valloittaminen, niin seuraavien siirtojen ajan olisi mahdollista hyödyntää myös työkaverin omia reittejä edullisesti.

2. Pelissä on mahdollista löytää erilaisia esineitä pelin eri pisteistä. Esineet voivat näkyä suoraan kartalla, tai niitä voi saada arkuista, vihollisten voittamisesta tai minipelin suorittamisesta. Esineitä on saatavilla useampaan eri sarjaan kuuluen (esim. hedelmät, jalokivet). Kun koko työyhteisön voimin on kerätty kaikki erilaiset hedelmät, työnantaja voi palkita työntekijät parhaaksi valitsemallaan tavalla, kuten "perjantaiskumpilla" tai virkistysmatkalla.

Seuraavat askeleet ovat pelin demoversion työstäminen sekä yrityksemme toiminnan ja tuotteemme tarkempi mallintaminen ja suunnittelu.

perjantai 18. maaliskuuta 2016

Viikko 11: Suunnitelmista prototyyppiin

Olemme edelleen hioneet ideoitamme ja pelimekaniikkaa, ja päässeet projektissamme pisteeseen, jossa voimme aloittaa prototyypin työstämisen. Vielä on tietysti epävarmaa miten suunnittelemamme työelämäpeli ja pelimekaniikat toimivat käytännössä, mutta se nähdään varmasti kunhan meillä on jonkinasteinen prototyyppi valmiina. Huomenna luennon jälkeen meillä on tapaaminen Avoin.Systems:n edustajan Tuomo Auran kanssa, ja haluamme vielä kuulla hänenkin mielipiteensä suunnitelmastamme ennen kuin aloitamme prototyypin tekemisen.

Ensi viikonloppuna on tarkoitus selvittää tarkemmin, millä tekniikoilla työelämäpelimme toteutetaan - tuote tulee olemaan saatavilla ainakin web-pohjaisena ja mobiiliappina. Kurssin puitteissa emme todennäköisesti kaikkea suunnittelemaamme pysty toteuttamaan, mutta ainakin tavoitteenamme on saada jonkinasteinen prototyyppi ja demo valmiiksi. Lisäksi ensiviikon aikana meidän täytyy aloittaa liiketoimintasuunnitelman ja kurssin vaatiman väliraportin laatiminen.