Olet rakennustyömaalla töissä 70-luvun taitteessa. Lyöt vasaralla nauloja, kunnes havahdut siihen, että työnjohtaja tuo sinulle sähköisen ruuvinvääntimen käytettäväksi. Työtahti nopeutuu ja fyysinen kuormitus vähenee. Samankaltaisen helpotuksen tuo Unreal Engine uudella versiollaan tutusta pelimoottorista pelikehittäjien arkeen.
Oltuaan lähes vuoden julkisesti saatavilla kehitysversiona, huhtikuussa 2022 Epic Games julkaisi virallisesti Unreal Engine 5-pelimoottorin kaikkien saataville. Pelimoottorista löytyy lähes kaikki UE4:stä tutut elementit, sekä tietysti odotetut uudet ominaisuudet, joista ehkä tärkeimpinä mainittakoon automatisoitu valaistusjärjestelmä Lumen ja virtuaalinen geometriasysteemi Nanite. Vaikka sähköiset työkalut yleistyivät työmailla vasta 80–90 -luvuilla, siirtymä UE4:stä 5:een tapahtuu paljon nopeammin. Uusi pelimoottori tukee muutamaa poikkeusta lukuun ottamatta kaikkea aiemmalla versiolla tehtyä ja projektien siirtäminen UE5:een on lähes automaattista.
Uudet ominaisuudet keventävät työkuormaa ja helpottavat kehitysprosessia
Epic Gamesin kehittäjät halusivat löytää ratkaisun muutamaan yleiseen ongelmaan, joiden kanssa kehittäjät kuluttavat aikaansa päivittäin: suurien pelimaailmojen luominen ja muokkaaminen samanaikaisesti, luonnollisen valaistuksen luominen nopeasti ja helposti, sekä hypertarkkojen mallien ja niiden suurien määrien tuominen editoriin ilman, että täytyy jatkuvasti tarkkailla ja heikentää luomustensa tarkkuutta suorituskyvyn ylläpitämiseksi.
Tarkkojen 3D-mallien luomisessa pitää toistuvasti ottaa huomioon piirtokutsujen lukumäärät ja mallien polygonimäärät, nämä kun suurina määrinä kuormittavat renderöintiprosessia ja laitteen suorituskykyä. Tätä ja artistien työtä keventääkseen kehitettiin Nanite – systeemi, joka pakkaa kappaleen sisältämän tiedon ja vapauttaa sitä toistettavaksi tarpeen mukaan. Toisin sanoen, tämän ansiosta pystytään luomaan entistäkin tarkempia kappaleita ja lisäksi ne vaativat huomattavasti vähemmän levytilaa. Kohtauksen voikin nyt täyttää huipputarkoilla Nanite-malleilla, ilman että kuvataajuus (Frames per second) tai renderöintinopeus heikkenee.
Toinen ongelma on työläs valaistuksen luominen. Tätä varten kehitettiin Lumen – dynaaminen ja globaali valaistusjärjestelmä. Lumen tuo kehittäjille valmiin säteiden seurantajärjestelmän ja automaattisen globaalin valaisemisominaisuuden. Järjestelmä pyrkii mukailemaan luonnollista valoa niin, että valonsäteet kimpoavat pinnoilta toisille, väri vuotaa ympäristöönsä ja kappaleeseen törmätessään luo varjon. Lumenilla pyritään automatisoimaan projektien valaisemisprosessi ja vähentämään siihen käytettyä aikaa.
Kolmanneksi isot maailmat, niiden hallitseminen on hankala ja aikaa vievä prosessi pelikehityksessä. Miten luoda isoja maailmoja niin, että niitä voi pelata vähemmän tehokkailla kotikoneilla ja konsoleilla, samalla säilyttäen nautinnollisen pelikokemuksen. World Partition: maailmojen ositus- ja hallintajärjestelmä. Ennen kehittäjien täytyi luoda kehitettävästä tasosta alitasoja, joilla jokainen työskenteli oman aiheensa parissa. Samanaikainen työskentely tietyllä tasolla oli lähes mahdotonta, puhumattakaan työläästä versionhallinnasta. World Partition tuo tähän ratkaisun, se tallentaa maailman yhdelle päätasolle ja jakaa sen toistettaviksi soluiksi. Järjestelmän One File Per Actor -ominaisuus tallentaa jokaisen aktorin omaan kansioonsa. Aktoreihin tehdyt muutokset tallennetaan päätason alle, jotka solun vapauttamisen jälkeen tulevat reaaliajassa muiden käyttöön. Näin mahdollistetaan tasolla työskentely samanaikaisesti. Soluilla taas hallitaan samalla tasolla työskentelyä ja niitä voidaan ladata ja poistaa toistosta tarpeen mukaan. Nämä solut mahdollistavat HLODien (Hierarchical Levels of Detail) kanssa pelin sisäisten aktorien hallinnan. Kuvittele että seisot kilometrien pituisella tasangolla, jota ympäröi vuoristo. Näet kyllä vuoriston kaukana horisontissa, mutta et esimerkiksi kylää vuoren juurella, ainakaan kovin tarkasti. Pelimoottori toimii niin, että kaikki tuo ladataan täydellä laskentateholla, vaikka sitä ei edes näkyisi kohtauksessa. HLODeilla ja soluverkolla voidaan määritellä, että mitkä aktorit näkyvät ja kuinka tarkasti milläkin etäisyydellä pääaktorista, esimerkiksi pelihahmosta.
Unreal Engine mullistaa uusilla ominaisuuksillaan peli- ja virtuaalikehityksen työtavat, tehden siitä dynaamisempaa ja helppokäyttöisempää, samalla se tekee alasta entistäkin lähestyttävämmän, niin ammattilaisille kuin harrastelijoille.
Työharjoittelu HAMK Smartissa
Aloitin toukokuussa 10 viikon työharjoittelun HAMK Smart -tutkimusyksikössä. Tie Smarteille löytyi Yammerista, missä etsittiin alkuvuodesta 2022 harjoittelijaa erilaisiin Unreal Engineen liittyviin tehtäviin. Aihe uuden pelimoottorin ympärillä herätti paljon kiinnostusta ja muistikuvat yksikön toiminnasta oli hyvät, ensivaikutelman sain parin vuoden takaisesta VATTU-hankkeen loppuwebinaarista.
Harjoittelun aiheeksi sovittiin Unreal Engine 5, sen uudet ominaisuudet, sekä niiden käyttöönotto yksikön tulevaisuuden projekteissa. Sovimme työtavaksi etätyöskentelyn, kuitenkin niin että tarvittaessa voin tulla toimistolle. Etätyöskentely oli luontevaa opintolinjan tapojen ja koronapandemian aiheuttamien sulkujen vuoksi, ja koen että se oli itselleni paras työskentelymuoto. Työkaverit olivat vastaanottavaisia ja porukkaan oli helppo hypätä mukaan. Neuvoja ja tukea työskentelyyn sai nopeasti ja ohjaus oli ammattitaitoista.
Joel Kailanto, toisen vuoden tietojenkäsittelyn opiskelija HAMKissa