Unreal Engine -pelimoottorin uudet työkalut mahdollistavat proseduraalisen generoinnin

Proseduraalisella generoinnilla tarkoitetaan jonkin asian luomista algoritmien avulla. Siitä saatetaan käyttää vaihtoehtoista terminä sattumanvarainen generointi, mutta se ei suoranaisesti tarkoita samaa asiaa kuin proseduraalinen generointi. Vaikka proseduraalisessa generoinnissa hyödynnetään sattumanvaraisuutta, sen tuotokset ovat yleensä tarkoin suunniteltuja eivätkä vain puhtaasti sattumanvaraisia. Proseduraalisella generoinnilla on tietyt ennalta määritetyt raamit, joiden sisään luodaan jotain sattumanvaraisesti. Yleisimmät asiat, jotka peleissä generoidaan proseduraalisesti, ovat pelin ympäristöt, mutta myös tekstuureja, 3D-malleja ja ääniefektejä voidaan generoida proseduraalisesti. (Beca 2017.)

Proseduraalista generointia käytetään sisällön luomiseen videopeleissä. Itse idea ei ole uusi, vaan sitä on hyödynnetty videopeleissä jo 1980-luvulla. Sitä ennen proseduraalista generointia on hyödynnetty myös mm. analogisissa roolipeleissä. Ennen tietokoneita algoritmeina toimivat nopat ja pelikortit. Ensimmäiset tietokoneella toteutetut proseduraaliset järjestelmät olivat lähes suoria kopioita niitä edeltäneistä analogisista järjestelmistä. (Smith 2015.)

Vuonna 1980 julkaistu Rogue on ensimmäisiä ja merkittävimpiä pelejä, jotka tukeutuivat pelisuunnittelussaan proseduraaliseen generointiin. Pelissä pelaaja seikkailee luolastossa ja taistelee hirviöitä vastaan. Kun pelaaja kuolee, tämä joutuu palaamaan alkuun, ja pelikenttä generoidaan uudestaan. Pelihahmon pysyvä menettäminen ja jokaisella pelikerralla vaihtuva pelikenttä ovat roguelike-peligenren peruspilareita. Peligenren nimi juontaakin juurensa vanhasta 80-luvun pelistä. Viime vuosina roguelike-peligenre on kasvattanut suosiotaan huimasti. (Holmes 2020.)

Toinen merkittävä proseduraalinen peli on vuonna 1984 julkaistu Elite, jossa pelaaja seikkailee avaruusaluksella suuressa proseduraalisesti generoidussa universumissa. Suuren universumin mahduttaminen 80-luvun tietokoneen muistiin ei olisi ollut mahdollista ilman proseduraalista generointia. Koska galaksit generointiin vain tarvittaessa, voitiin säästää muistia tallentamalla vain proseduraalinen algoritmi ja jokaisen galaksin siemenluku. (Braben 2011.)

Pelihahmo seisoo metsässä, jossa maa ja puut ovat harmaita.
Kuva 1. Unreal Engine -pelimoottorilla proseduraalisesti generoitu metsä (Epic Games 2024).

Unreal Engine -pelimoottori on nykyään peli- ja elokuvateollisuudessa käytetty pelimoottori. Pelimoottoria on historiansa aikana hyödynnetty laajasti eri peleissä. Tällaisia ovat esimerkiksi Fortnite ja Final Fantasy VII Remake. Unreal Engine -pelimoottori on vapaasti ladattavissa ja käytettävissä. Pelimoottorin kehittäjä Epic Games kerää rojalteja pelimoottorin käytöstä vasta sitten, kun sillä kehitetty peli tuottaa yli miljoona dollaria. (Hatton 2023.)

Viime vuosien aikana Epic Games on lisännyt pelimoottoriinsa entistä monipuolisempia työkaluja. Yksi tällainen on proseduraalisen generoinnin työkalu, jonka avulla on mahdollista generoida sisältöä pelikenttiin nopeasti (Unreal Engine). Eero Särkiniemi (2024) tutki opinnäytetyössään pelimoottorin uusia proseduraalisen generoinnin työkaluja, joita voidaan hyödyntää pelien kehityksessä esimerkiksi niin, että pelikentän proseduraaliset osat generoidaan jokaiselle pelaajalle erikseen. Näin esimerkiksi proseduraalisesti generoidun metsän puut sijoittuisivat jokaisella pelikerralla eri tavalla.

Kirjoittajat

Eero Särkiniemi on LAB-ammattikorkeakoulun opiskelija IoT:stä tekoälyyn (insinööri YAMK) -koulutuksessa. Hän työskentelee Kaakkois-Suomen ammattikorkeakoulussa Virtuaalinen Väestönsuoja -hankkeessa ohjelmistosuunnittelijana.

Minna Asplund, TkL, toimii LAB-ammattikorkeakoulussa yliopettajana ja koordinaattorina IoT:stä tekoälyyn (insinööri YAMK) -koulutuksessa.

Lähteet

Beca, S. 2017. Procedural generation: a primer for game devs. Game Developer. Viitattu 9.4.2024. Saatavissa https://www.gamedeveloper.com/design/procedural-generation-a-primer-for-game-devs

Braben, D. 2011. Classic Game Postmortem – ELITE. Konferenssiesitelmä. Viitattu 9.4.2024. Saatavissa https://www.gdcvault.com/play/1014628/Classic-Game-Postmortem

Epic Games. 2024. Unreal Engine. Viitattu 9.4.2024. Saatavissa https://www.unrealengine.com/

Hatton, P. 2023. Unreal Engine 5: everything you need to know. Creative Bloq. Viitatty 11.4.2024. Saatavissa https://www.creativebloq.com/features/unreal-engine-5-everything-you-need-to-know

Holmes, M. 2020. 40 Years On: The Making of Rogue with Glenn Wichman. Gamereactor. Viitattu 9.4.2024. Saatavissa https://www.gamereactor.eu/40-years-on-the-making-of-rogue-with-glenn-wichman/

Smith, G. 2015. An Analog History of Procedural Content Generation. 10th International Conference on Foundations of Digital Games (FDG 2015): Proceedings. Viitattu 9.4.2024. Saatavissa http://www.fdg2015.org/papers/fdg2015_paper_19.pdf

Särkiniemi, E. 2024. Proseduraalinen generointi modernissa pelinkehityksessä: Unreal Engine 5.3. Viitattu 17.5.2024. Saatavissa https://urn.fi/URN:NBN:fi:amk-202404247614

Unreal Engine. Procedural Content Generation Overview. Viitattu 11.4.2024. Saatavissa https://dev.epicgames.com/documentation/en-us/unreal-engine/procedural-content-generation-overview