"Kyllä tän pitäis toimia": sokeana mobiilipeliä rakentamassa
Viimeaikoina kentältä on tullut hälyttäviä tietoja näkövammaisten kolmannen asteen opiskelijoiden alhaisesta määrästä. Niinpä ajattelin jakaa täällä viimekeväiset extreme-kokemukseni korkeakouluopiskelijana sekä ennen kaikkea sen, kuinka niistä selvittiin loistavalla tiimihengellä ja yhteistyöllä. Jos joku vielä tämän tekstin luettuaan epäilee ohjelmointialan soveltuvuutta sokeille opiskelijoille, haastan hänet tuomaan näkemyksensä julki.
Tampereen ammattikorkeakoulu on järjestänyt vuosittain tietojenkäsittelyn ensimmäisen vuoden opiskelijoille suurimittaisen projektin, jonka ympärille lähes kaikki kevätlukukauden opiskelut rakentuvat. Projektien tavoitteina on ollut valmistaa pienissä tiimeissä halutunlaisia tuotteita yhteistyössä todellisen yrityksen kanssa. Tähän asti projektien lopputuloksena on syntynyt erilaisia pelejä.
Meidän vuosikurssimme sai yhteistyökumppanikseen Nokian. Jokaisen viiden hengen tiimin tuli toteuttaa terveysteemainen kampanja, johon sisältyisivät verkkosivut sekä – ennen kaikkea – peli Nokian Asha-sarjan puhelimille. Kyseinen puhelinmallisto, jonka valmistus lopetettiin hiljattain, oli suunnattu erityisesti kehittyville markkinoille, ja niinpä kampanjakin tuli suunnitella niitä silmällä pitäen.
Sain kuulla tulevasta projektistamme heti ensimmäisenä koulupäivänäni, kun kävimme läpi tulevan lukuvuoden sisältöä. Muistan sisälläni muljahtaneen ikävästi. Olin juuri muuttanut vieraaseen kaupunkiin keskelle vieraita ihmisiä aloittamaan opintojani sillä ainoalla alalla, jota halusin opiskella, ja nyt kuulin heti alkajaisiksi joutuvani tekemään visuaalista peliprojektia. Olin varma, että harmaita hiuksia alkaisi syntyä viimeistään silloin, kun alettaisiin miettiä mitä minun sokeana olisi ylipäätään mahdollista tehdä.
Projekti nousi kohdallani uudestaan tapetille vasta marraskuun loppupuolella. Tuolloin joukostamme alettiin valikoida mahdollisia ohjelmoijia kuhunkin viiden hengen opiskelijatiimiin. Valinta tehtiin sen perusteella, kuinka hyvin oli suoriutunut juuri tentitystä ohjelmoinnin perusteet -kurssista. Java-ohjelmoinnin alkeet olivat minulle tuttuja jo vanhastaan, ja niinpä olinkin arvosanoineni yksi mahdollisista ohjelmoijista.
Pallottelin ohjelmoijaksi ryhtymistä pitkään. Halusin toisaalta haastetta ja uusia kokemuksia, mutta toisaalta pelkäsin mahdollista fiaskoa. Olisin tiimilleni melkoinen painolasti, jos kävisikin niin, että jokin visuaalinen kommervenkki tekisikin peliohjelmoinnin minulle mahdottomaksi. Pelkoni ei ollut suinkaan aiheeton, sillä suurimmassa osassa Asha-puhelimia on ainoastaan kosketusnäyttö, eikä niihin ole saatavilla minkäänlaista ohjelmaa, joka muuttaisi näytöllä olevan tekstin puheeksi. Pelin testaaminen puhelimella olisi siis minulle mahdotonta.
Sain valinnalleni lopullisen sinetin, kun ohjelmoinnin opettajani kysyi minulta, olinko ajatellut hakea ohjelmoijaksi peliprojektiin. Kuultuaan huoleni oli hän sitä mieltä, että minulla olisi hyvät edellytykset selvitä peliohjelmoinnista: voisinhan aina testata koodini etukäteen tietokoneella Nokian kehitystyökaluilla, ja laittaa koodini antamaan myös tekstimuotoista palautetta, joka näkyisi ainoastaan testiympäristössä. Olin hämmentynyt ja otettu. Koskaan ennen en ollut saanut yhdeltäkään opettajaltani näin varauksetonta tukea yhtä uhkarohkealle suunnitelmalle. Päätin siinä paikassa ryhtyä ohjelmoijaksi, tuli mitä tuli. Pelätköön se tiimi, joka saisi minut ristikseen.
Tammikuussa se sitten alkoi, nimittäin oman projektimme suunnittelu. Samaan aikaan meillä ohjelmoijilla pyörähti käyntiin kurssi, jolla perehtyisimme peliohjelmointiin Asha-puhelimilla. Jo ensimmäisiä viikkoharjoituksia tehdessäni alkoi näyttää siltä, että pahin oli käymässä toteen. Kuten aiemmin olimme arvelleet, pystyin teoriassa testaamaan koodiani tietokoneella. Ongelma oli vain siinä, että koska käytössämme olleissa Asha-puhelimissa ei ollut näppäimistöä, ei testattaessakaan sellaiselle ollut minkäänlaista tukea. Ainoa tapa operoida näytöllä näkyvää virtuaalista puhelinta olisi siis ollut käyttää hiirtä, mikä ei tietenkään minulta onnistunut.
Optimistisesti liikkeelle lähtenyt peliohjelmoijan urani ei siis ollut kovin hyvissä kantimissa. Minulla ei ollut mitään mahdollisuutta testata itse omaa koodiani käytännössä. Ainoa mitä saatoin tehdä oli korjata lyöntivirheet ja loogiset kömmähdykset, joista ohjelmointityökalut minua osasivat varoittaa. Lienee sanomattakin selvää, että viikkoharjoituksiksi määrätyt pelit jäivät minulta tekemättä, samoin peli-ideamme ensimmäiset prototyypit. On pieni ihme, että edes pääsin kurssista läpi.
Sitten suunta muuttui. Ratkaisu pulmalliseen tilanteeseeni ei ollut pitkällisen kriisipalaverin tulos, vaan se syntyi aivan itsestään. Ensimmäinen pelimme prototyyppi oli ainoastaan kenttä, jolla oli liikkuvia kohteita. Tämän version tekoon en ollut osallistunut lainkaan. Seuraavaan pelin versioon tuli saada jonkinlainen valikko. Valikon tekemiseen ei ollut valmista helppoa tapaa, vaan kaikki logiikka kuvien lisäämiselle ja valikon kohtien valitsemiselle piti tehdä itse. Ehdotin muille, että kokeilisin kirjoittaa jonkinlaisen valikon, mihin muut laittaisivat vain kuvat paikoilleen. Näin tehtiin, ja saatuani valikon valmiiksi heitin koodini tiimimme toiselle ohjelmoijalle. Yllätys oli melkoinen, kun vain pienen säätämisen jälkeen valikko toimikin halutulla tavalla.
Siitä alkoi tiiviiseen testaamiseen perustunut yhteistyö. Hieman yleistäen voisi sanoa, että ohjelmoijaparini huolehti kaikesta missä oli kuvia, ja minä tein kaiken muun. Pyrin kirjoittamaan apuvälineitä, joiden päälle olisi mahdollisimman helppoa ja tehokasta rakentaa varsinainen pelimekaniikka. Bonuksena pelin koodista muotoutui pakostakin hyvin jäsennelty, vakaa ja johdonmukainen, koska kaikki toiminnallisuus oli pakko pilkkoa itsenäiseksi “palikoiksi”.
Näin suunniteltu työnjako toimi alusta pitäen suunnattoman mutkattomasti. Useimmiten istuimme tiimin toisen ohjelmoijan kanssa vierekkäisillä koneilla tekemässä töitä. Saatuani yhden työvaiheen valmiiksi heitin koodin parilleni, joka kokeili sen toimivuutta muuhun peliin omien töidensä ohessa. Joskus koodini toimi suoraan, joskus saattoi mennä tunteja kummallisten ajonaikaisten virheiden selvittämiseen. “Kyllä tän pitäis toimia” oli sattuvasti varsin yleinen pöytämme suunnalta kuultu kommentti, ja pian siitä tuli koko tiimin lentävä lause.
Ja niin kävi, että pelimme PailRide julkaistiin Ovi Storessa viime toukokuussa. Yhteensä kahdestakymmenestä samaan aikaan julkaistusta pelistä se ei ollut menestyksekkäimpiä, mutta tiettävästi sen on ladannut yli 1500 ihmistä.
Kevät 2014 antoi minulle paljon. Sen aikana sain kullanarvoista ohjelmointikokemusta sekä työskentelytarkkuutta, joka on auttanut minua jokaisessa pienemmässä ja isommassa projektissa. Ennen kaikkea sain kuitenkin kouriintuntuvan osoituksen siitä, että hyvällä yhteistyöllä ja oikealla asenteella päästään pitkälle, vaikka olisi minkälaisessa suossa. Tästä oivalluksesta suuret kiitokseni kuuluvatkin tiimilleni Appronille sekä opettajilleni TAMKissa. Koko keväänä kukaan ei koskaan kyseenalaistanut työtehoani missään asiassa, vaikka joskus siihen olisi ehkä ollutkin aihetta. Näin kannustavan asenteen vaikutus itsetuntooni oli valtava.
Mitä siis tästä opimme? Sokeus on monesti todella rajoittava tekijä, mutta usein se on vain uusi näkökulma ja tapa toimia. Kyllä tämän oivalluksen voimin vielä työelämässäkin pärjätään.
Tagit: #Asha #Kosketusnäyttö #Näkövammaisuus #Nokia #Ohjelmointi #Opiskelu #Pelit #Puhelimet #Ryhmätyö