Oculus Rift Developer Kittini saapui vihdoin ja pääsin kokeilemaan Minecraftin VR-versiota eli Minecriftiä. Ilokseni huomasin, että se tukee Minecraft 1.6.2:ta helposti asennettavalla installerilla, joka toimii myös OS X:ssä. Kannattaa kokeilla, sillä Minecraft tukee nykyään useita eri profiileja ja samalla asennuksella voi helposti pelata myös ihan perinteisessä tilassa.

Yleistuntuma Oculus Riftistä on, että se on ihan ensimmäinen minimaalinen VR-toteutus, jolla voi oikeasti tehdä jotain. Kuten laitetta kokeilleet tietävät, resoluutio on suhteellisen kehno ja kuva näyttää suttuiselta. Mutta se seuraa reaaliajassa pään liikkeitä ja kolmiulotteisessa maailmassa tuntee tosiaan olevansa sisällä.

Olen viime aikoina opiskellut hiukan myös Unitya ja seuraavaksi pitäisi alkaa kokeilla sen integroimista Oculus Riftiin. Valitettavasti integraatio vaatii maksullisen Unity Pron, koska Riftin edellyttämät laajennukset eivät toimi ilmaisversiossa. Oculus Riftin tilauksen mukana tulee onneksi 4 kuukautta voimassa oleva Unity Pro Trial -lisenssi. Se löytyy Order Managerista kun tilaus on toimitettu.

Unitystä voisin vielä todeta, että olen ollut todella positiivisesti yllättynyt sen käytön helppouteen ja koko järjestelmän toimivuuteen muutenkin. On ihan erilaista kehittää pelejä, kun koodaamisen sijaan voi vain vedellä 3D-objekteja suoraan näytölle sekä muokata niiden sijainteja ja animaatioita visuaalisesti. Objektien ja pelilogiikan skriptaaminenkin on sujuvaa C#:llä ja Unityn omalla objektimallilla. Skriptausta tarvitsee tehdä vain juuri sen verran kuin pelin logiikka sitä edellyttää. Skriptit voi mukavasti hajauttaa ja liittää loogisesti osaksi niitä 3D-peliobjekteja, joiden toimintaa ne ohjailevat.

Paljon parantamistakin Unityssä toki olisi. Ensimmäisenä rupesi ärsyttämään C#:n javamainen tapa edellyttää tyyppien ja luokkien nimien toistuvaa kirjoittamista joka paikkaan. Monon staattinen tyypitys tekee muutenkin kehityksestä vähän nahkeaa Pythonin vapauteen ja laajennettavuuteen tottuneelle, mutta oletettavasti se kai sitten tehostaa skriptien ajoa reaaliajassa. Toisekseen Unityn omaa objektihierarkiaa ei voi laajentaa perimällä, joten peliobjekteihin ei voi lisätä uusia ominaisuuksia. Sen sijaan täytyy rakentaa oma rinnakkainen objektimalli pelin tilaa yläpitämään ja yhdistää objektit sitten esimerkiksi Dictionary-hauilla toisiinsa.

Oculus Riftiä voi ohjelmoida myös natiivilla SDK:lla, jolla voi kehittää OS X-, Windows- tai Linux-pelejä perinteiseen tapaan C++:lla koodaten. Mutta oma tuntumani kyllä on, että on paljon tehokkaampaa ja tuottavampaa lähteä liikkeelle Unityllä, ellei projekti vaadi jotain todella spesiaalia ja ole natiivikehityksen aiheuttaman moninkertaisen vaivan arvoinen.

Published 13.8.2013