Miltä tuntuu lentää vihaisten lintujen mukana?

”Maailma vilisi kuin pesukoneessa sata kierrosta minuutissa.”

Kari-Pekka Lammi, VR-kehittäjä, Leonidas Oy

Leonidaksen kehittämässä Angry Birdsin fanituotedemossa otetaan jousipyssy, kaivetaan punainen lintu, ammutaan se matkaan ja samalla hypätään lintuperspektiiviin. Halusimme demolla testata, miltä tuntuu virtuaalisesti lentää lintujen mukana ja miten skaalaus siinä toimii. VR-kehittäjämme Kari-Pekka Lammi kertoo, mikä demossa onnistui ja mitä hän nyt tekisi toisin.

Kari-Pekka: Demossa näet maailman kolmessa eri koossa: voit muuttua valtavaksi jättiläiseksi ja katsella maailmaa miltä se näyttää ”pienenä”, sitten olet ihmiskoossa ampumassa lintuja ja vähän pienemmässä koossa lennät lintujen mukana – vieläpä kohtuullisen hyvällä vauhdilla.

Testasimme erilaisia efektejä, kuten hidastuksia, ja katsoimme, mikä menee mukavuus- ja mikä epämukavuusalueen puolelle. Samalla tuli testattua, mikä on hyvä idea VR:ssä ja mikä ei, sekä mitä Unity-työkalulla pystyy tekemään. Paitsi demon tekemisen aikana myös sen demoamisen aikana olen oppinut paljon. Jos se nyt pitäisi tehdä uudestaan, tekisin aika monta asiaa toisin. Tässä kehittyy itsekin, mitä enemmän näitä hommia tekee.

Harri: Toteutus tosiaan käväisi mukavuusalueen ulkopuolella, koska käyttäjälle tuli siitä huono olo. Tässä meikäläinen on yleensä aika hyvä testinukke.

Kari-Pekka: Kun minä taas olen huono testinukke, koska minulle ei tule mistään pahoinvointia. Tämä on suurin haaste, koska en voi testata omia tuotteitani. Ihmisten reaktio virtuaalitodellisuuteen on niin erilainen. Ensimmäisessä versiossa kun lintu osui kohteeseensa ja lähti pyörimään, niin pelaaja meni siinä mukana. Maailma vilisi kuin pesukoneessa sata kierrosta minuutissa. Minulle ei tullut siitäkään pahaa oloa, mutta päättelin, että ihmiset eivät välttämättä halua kokea tätä, tai he voivat tuntea olonsa hieman epämukavaksi.

Iteroinnilla eroon huonon olon aiheuttajista

Kari-Pekka: Testasimme, milloin liikepahoinvointi alkaa, ja kolmen iteraation jälkeen saimme kokemuksen miellyttävämmäksi. Ensin kamera oli sidottuna projektiiliin itsessään, ja tein algoritmejä, jotka tekivät siitä paljon tasaisemman, eli vakaannutin kameran, että se ei käänny samalla tasolla.

Hidastus ennen törmäystä myös hidastaa hurjaa vauhdin tunnetta, ja se oli yksi tapa tehdä elämyksestä hieman kesympi. Päädyimme siihen, että osuman jälkeen kamera sammutetaan, ja palataan turvallisesti maan kamaralle. Enää ei menty niin pitkälle, että joutuisi kierimään alaspäin. Lyhyelläkin testauksella saimme pahimmat huippausta ja pahaa oloa aiheuttavat asiat kitkettyä pois.

Nämä kannattaakin testata hyvin erilaisilla ihmisillä. Jos herkkä ihminen, joka ei ole koskaan pelannut VR:llä, pystyy pelaamaan sen läpi ja sanoo, että se oli hieno, niin ollaan oikeilla jäljillä. Devaajat itse on sitä vihonviimeistä porukkaa, mihin voi luottaa, koska meille kasvaa toleranssi ja sokeus omaan työhön ennen pitkää. Tämä on tärkeä asia muistaa.

Harri: Eli kannattaa iteroida ja testaamiseen kannattaa käyttää tuoreita silmiä.

Helppokäyttöinen Unity

Kari-Pekka: Unitystä pitää mainita sen helppokäyttöisyys. Se yllätti minut aikanaan, kun rupesin tekemään, että miten helppoa ja nopeaa VR-demon tekeminen Unityllä on. Olin kuvitellut sen vaikeammaksi ja pidemmäksi prosessiksi, mutta jo parilla tutoriaalilla minulla oli ensimmäinen demo kymmenessä minuutissa päällä. Valkoinen canvas asettuu eteesi ja voit helposti alkaa luoda sisältöä, ja keskittyä nimenomaan sisällön luontiin, niin siihen Unity oli erinomainen työkalu. Toki olin jo ennen Angry Birdsiä tehnyt muutamia projekteja, mutta aina se on yhtä mielenkiintoista.

Harri: Mille laitteille nämä VR-kokemukset tehtiin?

Kari-Pekka: Ensimmäiset Unityllä tekemäni kokemukset tein HTC Vivelle. Myöhemmin mukaan on tullut GearVR, Cardboard ja Oculus. Unityn vahvuuksia on ehdottomasti se, että se ei ole alustaan sidoksissa. Unitylla tehty sisältö on aika kivuttomasti käännettävissä monelle alustalle, toki riippuen laitteen omista tarjoamista paketeista. 

Kalibrointi, kalibrointi ja kalibrointi!!!

Harri: Jos Angry Birds tehtäisiin uusiksi, mitä tekisit nyt eri lailla?

Kari-Pekka: Kalibrointi. Sen kanssa olen hakannut päätäni, koska VR:ssä ihmisen fyysisellä olemuksella on myös osansa. Minähän olen tehnyt kaiken 180-senttiselle pelaajalle. En ajatellut, miten asiat muuttuvat, kun eri pituiset ihmiset sitä käyttävät. Angry Birdsin demossa on esteenä puu, minkä yli, ali tai kaartaen pystyy ampumaan lintuja vaikeisiin kohteisiin. Puun lisäksi jousi oli aina standardimittainen, kuten myös kanto, minkä päältä poimit lintuja.

Huomasin, että kun pieni lapsi yritti käyttää sitä, se oli melkeinpä mahdotonta. En tajunnut, kuinka tärkeää kalibrointi olisi ollut. Jousi, kanto ja puu pitäisi säätää käyttäjän fyysisten ominaisuuksien mukaan. Oli hassua nähdä, miten todella pitkä ihminen saattoi onnistua ampumaan ihan lunkisti sen esteen yli, johon minä olen liian pätkä. Lyhyemmillä taas oli vaikeuksia nähdä kannon yli.

Jousen kokoakin olisi pitänyt muuttaa ampujan mukaan, kun minä sokeasti ja laiskasti tein sen vain itselleni sopivaksi, että tämähän on näin just hyvä. Nyt jos tekisin uudestaan, lisäisin siihen ensimmäisenä kalibroinnin.

Harri: Olen nähnyt muutaman pelin, joissa heti alussa kalibroidaan pelaajan korkeus. Tapahtuuko kalibrointi skriptitasolla, luodaanko assetteja X kappaletta eri korkeuksille vai miten skaalautuminen tapahtuu?

Kari-Pekka: Unity skaalaa sen itse eli se säätää koordinaatin. Jos kameran korkeus katsotaan, kun olet niin sanotusti lepotilassa, niin voidaan katsoa käyttäjän korkeus maasta päälakeen ja suhteuttaa muu ympäristö, tai skaalata jousi sen mukaan. Yksi vaihtoehto on mitata käsien alapuolinen pituus, ja sen mukaan säätää peliä. Se on monessa pelissä käytetty konsti.

Kuuntele koko tarina Ballmerin Piikistä: Episode 17 kokemuksia unitysta vr-kokemusten luonnissa

Johanna Kalliomäki