Niina Järvinen & Juha-Matti Torkkel
Ensimmäinen mielikuva, jonka ihmiset luonnollisesti saavat pelimoottoreista puhuttaessa, liittyy useimmiten peleihin. Vaikka tämä olikin aiemmin paikkansapitävä oletus, nähdään pelimoottoreilla tehtyjä toteutuksia hyötykäytössä yhä enemmissä määrin. Tässä artikkelissa tutustutaan pelimoottoreiden hyötykäyttöön yleisellä tasolla.
Perustietoa pelimoottoreista
Pelimoottoreihin tutustuttiin ensimmäistä kertaa 1980-luvulla. Tuolloin ajalle tyypillisiin 2D-peleihin luotiin Game Creation System -nimellä tunnettuja työkaluja, joilla pystyttiin luomaan muun muassa uusia karttoja, malleja tai esineitä peleihin. Nykyisenkaltaisia pelimoottoreita nähtiin kuitenkin vasta 1990-luvulla, jolloin teknologia mahdollisti 3D-pelien luomisen kotikäyttöön tarkoitetuille koneille.
Pelien kehittäminen alusta asti itse vei kuitenkin paljon aikaa ja resursseja, ja pelikehittäjät huomasivatkin nopeasti, että oli sekä hyödyllisempää että tuottavampaa luoda ympäristö, joka kykeni toteuttamaan 2D/3D -grafiikkojen renderöinnin, fysiikan määritelmät, törmäyksen tunnistuksen (collision) sekä mahdollisesti myös äänet, komentosarjakielen, animoinnin, tekoälyn ja lokalisointituen. Tätä kehystä voitiin sitten muokata ja tällä tavoin luoda uusia pelejä samalta pohjalta murto-osassa siitä ajasta ja resursseista, jotka pelin tekemiseen aiemmin kului. Oli täysin luonnollinen osa prosessia miettiä, miten pelimoottoreita voitaisiin käyttää hyödyksi myös liiketoiminnan kannalta.
Peleistä hyötykäyttöön
Pelimoottorit eivät nykyään ole pelkästään pelien tekemiseen tarkoitettuja työkaluja, vaan niiden käyttömahdollisuudet ovat paljon laajemmat. Niiden hyödyntäminen ei kuitenkaan voi olla pelkkä itseisarvo, vaan niiden täytyy tuoda pöytään jotain konkreettista, jota ei ilman niitä voida saavuttaa. Alan yritykset, jotka ymmärtävät tästä tarjoutuvan potentiaalin, hyödyntävätkin pelimoottoreita aktiivisesti kehitystyössään.
Erilaisille käyttökohteille on vain mielikuvitus rajana. Yksi hyödyntämiskohde on esimerkiksi arkkitehtuurimallit, joita on jo pidemmän aikaa rakennettu tietokoneella. Visualisointia on tietysti voinut tarkastella eri mallinnusohjelmilla jo aikaisemmin, mutta pelimoottoreilla voidaan tuoda täysin uudenlaista tietoa ja toiminnallisuutta malleihin. Ihmisten määrät ja kulkureitit voidaan simuloida, jotta nähdään mahdolliset pullonkaulat, IoT-dataa voidaan visualisoida ja tallennetusta datasta voidaan luoda realistiset säätilan vaihtelut päivien ja kellonaikojen mukaan. Kaikki tämä pystytään tekemään ennen varsinaisen rakennusprojektin alkamista.
Myös koulutus kykenee hyötymään pelimoottoreiden käyttämisestä. Uusia työntekijöitä voidaan kouluttaa tehtäviinsä esimerkiksi suurten laitteiden kokoonpanoon ja huoltoon liittyen tuomalla kyseessä oleva laite pelimoottorille ja toteuttamalla kokoamisohjelma. Tällainen ohjelma voisi sallia kokoamisen vain oikealla tavalla, oikeita työkaluja käyttäen, ja antaisi käyttäjälleen tietoa, mikäli tehtävä vaikuttaa epäonnistuvan. Näin työntekijöiden koulutusta voitaisiin toteuttaa helpommin, sillä koulutus ei aiheuttaisi samanlaista lovea resursseihin. Harjoittelu virtuaalimaailmassa olevalla laitteella ei pysäyttäisi tai hidastaisi varsinaista tuotantolinjaa, eikä tällainen harjoittelu myöskään sitouta osaavaa työntekijää resurssina opettelun ajaksi.
Mahdollisuuksia moneen
Pelimoottoreilla on mahdollista kehittää sovelluksia eri alustoille ja esitystavoille. Lopputoteutuksia voi olla mobiililaitteilla, tableteilla, kannettavilla tietokoneilla ja pöytäkoneilla. Lisäksi tavanomaisen monitorin ohella on mahdollista luoda sisältöä, jota voi tarkastella virtuaalilaseilla. Sovelluksia voidaan tehdä myös lisätyn todellisuuden (eng. augmented reality, AR) pohjalta. Lisätyllä todellisuudella tarkoitetaan nimensä mukaisesti tietokoneella tuotettua materiaalia, joka lisätään todellisen ympäristön päälle.
Sisällön tuottamista varten on tehtävä valinta erilaisten pelimoottorien välillä. Vaikka tarjolla on useampiakin vaihtoehtoja, ovat Unreal Engine sekä Unity ehdottomasti suosituimmat valinnat käyttäjien keskuudessa. Unreal Engine tarjoaa visuaalisemman ilmeen luoduille sovelluksille, kun taas Unity osoittaa vahvuutensa eri laitteille kehitettävissä mobiilisovelluksissa. Molemmat pelimoottorit ovat kuitenkin suhteellisen lähellä toisiaan, joten kaiken kaikkiaan valinta on käyttäjälähtöinen ja usein tottumiskysymys.
Mobiilisovelluksista puhuttaessa on otettava huomioon myös tavanomaisten sovellusten lisäksi AR-toteutukset. Erilaisia AR-sovelluksia ja pelejä on useita, ja esimerkkeinä näistä voidaan mainita BBC:n Civilizations AR ks. myös video), Pokémon Go sekä IKEA Place. Ikean AR-sovelluksen kautta voidaan tuoda Ikean huonekaluja omaan olohuoneeseen testattavaksi puhelimen kameran kautta. Tällaisen sovelluksen voisi toteuttaa parhaiten juurikin pelimoottoreiden avulla, ja esimerkiksi BBC:n Civilizations AR -museosovellus onkin rakennettu Unitylla.
Pelimoottoreissa yhdistyvät kaunis visuaalinen ilme ja ympäristö sekä koodilla tehtävät toiminnallisuudet. Mikään muu sovelluskehityksessä käytetty ohjelma ei yhdistä näitä kahta ominaisuutta, ja pelimoottorin vahvuudet perustuvatkin juuri tähän. Katselutavasta ja lopputoteutuksesta huolimatta käyttömahdollisuuksia rajaa lähinnä mielikuvitus.
HAMK Smart tutkii…
HAMK Smart -tutkimusyksikössä on jo hetken ymmärretty pelimoottorien tuomat mahdollisuudet hyödyntämiseen elinkeinoelämässä. Vuodesta 2018 alkaen tämän ympärille on ruvettu järjestelmällisesti rakentamaan vaadittua osaamista ja sitouttamaan aiheesta kiinnostuneita opiskelijoita.
Pyramidia ei voida rakentaa aloittamalla huipusta, vaan pohjakerrokset, jotka tässä kohtaa ovat tietämys ja osaaminen, täytyy rakentaa ensin. Pohja tälle on nyt valettu, ja ensimmäiset kivet ovat paikoillaan. Asiakasprojekteissa on onnistuttu itse projektin lisäksi myös kertomaan toteutusvaiheesta sekä välittämään asiakkaalle tietoa, jolle projekti pohjautuu. Asiakkaalle on kyetty opettamaan käytänteitä ja mahdollisuuksia sekä näyttämään, mistä toteutuksen kustannukset muodostuvat ja miten niitä voidaan vähentää. Tältä pohjalta on erittäin hyvä jatkaa ja tuoda saavutettuja hyötyjä kaikkien nähtäville. Ydintehtävänämme on kuitenkin mahdollisuuksien, hyötyjen sekä erilaisten vaihtoehtojen esille tuominen, sekä todistaa näiden paikka mahdollisuuksien mukaan Proof-of-Concept -tyyppisillä toteutuksilla.
Tämä artikkeli on osa sarjaa, joka tulee saamaan jatkoa kevään aikana. Ensimmäisessä osassa keskityttiin yleistietoon pelimoottoreista, ja tulevissa osissa tarkastellaan muun muassa 3D-mallinnusohjelmien hyödyntämistä pelimoottoreita varten, pelimoottoreiden käyttöä yrityksissä sekä HAMK Smartissa tehtyä kehitystyötä.
Kirjoittajat
Niina Järvinen on tietojenkäsittelyn opiskelija ja työskentelee HAMK Smartissa erilaisissa kehittämisprojekteissa. Työssään Niina on keskittynyt viime aikoina sovelluskehitykseen sekä virtuaalitodellisuuden haasteisiin Unreal Engine -pelimoottorin parissa.
Juha-Matti Torkkel koordinoi HAMKin gamEngine-labran toimintaa ja on mukana käynnistämässä Design Factory -toimintaa.