Pilotoimme hyötypelien ja pelillisten sovellusten kehittäjien koulutusta Haaga-Helian ja TAMKin yhteistyöhankkeessa Luo Hype – Luovaa osaamista hyötypeleistä. Tässä kirjoituksessa käsittelemme hyötypelien prototyyppien tekemistä keskittyen erityisesti digitaalisin hyötypeleihin. Luo Hype -hankkeessa Haaga-Helian markkinoinnin sekä TAMKin Games Academyn opiskelijat loivat hyötypelien konsepteja ja prototyyppejä toimeksiantajayrityksille.
Artikkelissa kerromme erilaisista tavoista tehdä prototyyppejä sekä yleisesti pelialalla käytettävistä työkaluista ja opastamme, mistä kannattaa lähteä liikkeelle, jos on aikeissa kehittää digitaalisen hyötypelin prototyyppiä. Digitaalisten hyötypelien tekemiseen toimii samat työkalut kuin muidenkin tietokone-, konsoli- tai mobiilipelien tuottamiseen.
Mikä on prototyyppi?
Prototyypillä tarkoitetaan tuotteesta tehtävää versiota, jonka avulla tuotteen tai idean toimivuutta voidaan testata kohderyhmällä varhaisessa vaiheessa. Prototyypin avulla voidaan testata, evaluoida ja validoida sovelluksen ideaa kohderyhmällä. Tavoitteena on varmistua siitä, että ollaan tekemässä oikeanlaista tuotetta oikeilla kohderyhmän haluamilla ominaisuuksilla. (Lonc 2022.) Luo Hypessä opiskelija ryhmät tekivät yhteensä kaksitoista erilaista prototyyppiä hyötypeleistä ja pelillisistä sovelluksista yritysten ja yhteisöjen toimeksiannoista.
Prototyypin avulla voidaan välttyä kustannuksilta, jotka syntyvät, jos tehdään vääränlainen tuote tai huomataan myöhemmin, ettei idea ole toimiva. Sanonta “Jos kuva on enemmän kuin tuhat sanaa, prototyyppi on enemmän kuin tuhat palaveria” (Lonc 2022) kuvaa hyvin prototyypin merkitystä. Luo Hypen prototyypit toimivat erittäin hyvin tässä tarkoituksessa. Useita prototyypeistä alettiin jatkokehittämään varsinaisiksi tuotteiksi, kun taas osan kohdalla todettiin, että jatkokehitys ei ole järkevää tai on liian kallista toimeksiantajan resursseille.
Prototyypin tekemisen menetelmät
Valittaessa prototyypin menetelmää kannattaa pohtia, niin prototyypin roolia hyötypelin kehittämisessä kuin saatavilla olevia resursseja. Yleensä kannattaa pyrkiä aluksi luomaan pienin mahdollinen osa pelistä, jolla kuitenkin voidaan demonstroida pelin kulkua ja tavoitetta. Menetelmiä on useita. Seuraavaksi esittelyssä on muutama hyvin hyötypelien kehittämiseen soveltuvista.
Throwaway
Kuten nimi antaa ymmärtää, prototyyppi on ns. pois heitettävä. Siitä käytetään myös nimitystä Rapid Prototyping. Prototyyppi tehdään nopeasti, raakana mallina, jota ei ole tarkoitus käyttää lopullisessa tuotteessa. Joitakin päätoiminnallisuuksia voidaan implementoida mukaan. Prototyypin tavoitteena on hakea ymmärrystä sovelluksen vaatimuksiin nopeasti ja pienellä panostuksella. Sen avulla kerätään palautetta varsinaisen tuotteen kehittämiseen. (Reeves 2020.)
Suurin osa Luo Hypessä luoduista prototyypeistä kuului tähän kategoriaan. Tällainen prototypointi sopii erityisen hyvin opiskelijatyöhön, koska se mahdollistaa vapaan ideoinnin ilman syvällistä teknistä osaamista ja kalliita työkaluja. Nämä protot tarkoitettiin ulkoasun ja toiminnallisuuden demonstroimiseen. Mikäli toimeksiantaja haluaa lopullista tuotetta lähteä rakentamaan, on hyvä aloittaa varsinainen ohjelmointi työ tarkoituksenmukaisimmilla tekniikoilla ja työvälineillä.
Evolutionary
Nimensä mukaisesti evolutiivinen prototyyppi kehittyy iteratiivisesti. Tässä mallissa prototyyppi sisältää myös koodia ja toimivan käyttöliittymän. Käyttäjä voi käyttää sovellusta kuten oikeaa tuotetta. Ajan ja iteraatioiden myötä prototyyppiin lisätään ominaisuuksia. Se ei kuitenkaan sisällä samoja ominaisuuksia kuin lopullinen tuote. (Reeves 2020.)
Hankkeessa opiskelijatiimimme eivät tehneet useampaa evoluutiota samasta prototyypistä rajallisen ajan vuoksi, mutta osaa prototyypeistä jatkokehitettiin yhteistyössä hyötypelialan yritysten kanssa. Näissä tapauksissa opiskelijoiden tekemän ensimmäisen version pohjalta alan ammattilaiset kehittivät yhden tai useamman uuden version prototyypistä yhteistyössä toimeksiantajan kanssa.
Incremental
Inkrementaalinen, eli nouseva prototyyppi voi kuulostaa samalta kuin evolutiivinen. Nousevassa prototyypissä sovellus jaetaan osiin ja se toteutetaan moduuleittain. Lopuksi moduulit kerätään yhdeksi kokonaisuudeksi ja niitä voidaan hyödyntää varsinaisessa tuotteessa. (Reeves 2020.)
Inkrementaalisia prototyyppejä ei tehty Luo Hype -hankkeessa, koska ne olisivat vaatineet enemmän resursseja. Tällaiset protot ovat erittäin hyvä vaihtoehto silloin, kun prototyyppiä tekevä tiimi on teknisesti taitava ja kokenut, jolloin heti alusta alkaen pystytään tekemään suhteellisen pienillä resursseilla toimivaa ohjelmistoa.
Extreme Prototyping
Extreme-prototyypit ovat yleisiä web-sovellusten kehittämisessä. Web-sovellus koostuu useista osista kuten presentaatio, palvelut, kommunikointi, bisneslogiikka, autentikointi ja palvelimella tapahtuvat palvelut. HTML-rautalankamallien prototyypeillä voidaan näyttää käyttäjille palvelun toimintoja ja käyttöliittymää ennen kuin taustalla toimiva muu logiikka on valmiina. (Hull 2020.) Myöskään Extreme-prototypingia ei tehty Luo Hypessä puuttuvien resurssien vuoksi.
Miten prototyyppejä tehdään?
Yksinkertaisin lähestymistapa prototyyppeihin ovat käsin piirretyt rautalankamallit, jotka ovat alkeellisia piirustuksia ja luonnoksia ideasta. Mallien ei tarvitse olla kauniita, vaan tavoitteena on siirtyä ajatuksesta konkretiaan. Miltä sovelluksen rakenne voisi näyttää? Mitä toimintoja ja painikkeita sovelluksessa on? Piirrosten avulla idea on helpompi selittää ihmisille, ja samalla voidaan suunnitella sovelluksen laajuutta (scope). (Lonc 2022.) Rautalankamallit ovat erittäin laajasti käytössä ohjelmistokehityksessä ja myös kaikki opiskelijaryhmämme hahmottelivat prototyypeistään rautalankamallit, joita sitten hyödynnettiin jatkokehityksessä.
Prototyyppien tekemiseen on kehitetty myös sovelluksia, joilla voidaan luoda ns. low fidelity -malleja eli kaksiulotteisia koneella tehtyjä luurankomalleja sovelluksesta. Idean perusrakenne kuvataan toimintasuunnitelman (blueprint) muodossa käyttäen minimaalista grafiikkaa, värejä ja graafista suunnittelua. Syntynyt rautalankamalli sovelluksesta toimii visuaalisena esityksenä sovelluksen toiminnallisuudesta, käyttäjien tekemistä toiminnosta sekä siitä, miten eri näkymät toimivat suhteessa toisiinsa. (Lonc 2022.) Näitä rautalankamalleja voidaan tehdä sovelluksilla kuten Invision, Sketch, Adobe XD ja Figma. Useat kehitystiimimme hyödynsivät näistä erityisesti Figmaa prototyyppien suunnittelussa. Opiskelijat pitivät sitä helposti lähestyttävänä ja nopeana käyttää. Figma helpotti erityisesti ohjelmien käyttöliittymien suunnittelua.
Klikattavat prototyypit ovat rautalankamalleja kehittyneempiä ja visuaalisempia suunnitelmia, joiden tarkoituksena on matkia sovelluksen toimintaa. Käyttäjät voivat klikkailla sovelluksen painikkeita ja siirtyä näin sovelluksen näkymistä toiseen. Erona oikeaan sovellukseen on se, ettei taustalla oikeasti tapahdu mitään. Yhtään koodia ei siis vielä tässä vaiheessa tehdä. Tavoitteena on matkia sitä, miltä lopullinen versio sovelluksesta näyttäisi ja miten se toimisi valmistuttuaan. Tässä vaiheessa sovelluksen interaktioita on helppo muuttaa. (Lonc 2022.) Klikattavat prototyypit osoittautuivat hyviksi Luo Hype -projektissa,, koska niiden tuottaminen on teknisesti helppoa ja ne antavat toimeksiantajalle hyvän käsityksen siitä minkälainen ohjelmiston lopullinen versio voisi olla käytettävyydeltään ja ulkoasultaan.
Prototyyppien sijasta sovelluksesta voidaan tehdä myös minimum viable product (MVP) tai proof of concept (POC). MVP:llä tarkoitetaan sovelluksen versiota, jossa on juuri riittävästi ominaisuuksia, joilla saadaan palautetta käyttäjiltä ennen lopullista tuotantoa. POC:lla tarkoitetaan sovelluksen versiota, jolla pystytään osoittamaan onko sovellus teknisesti ja taloudellisesti toimiva. Sekä POC että MVP vaativat yleensä enemmän ajallista ja taloudellista panostusta kuin prototyyppi. (Pratt 2022.) Luo Hype –projektissa suunnittelussa pisimmälle päästiin tasohyppelypelissä, jonka aiheena oli palontorjunta. Tämän voidaan katsoa täyttävän jo MVP-tason prototyypin.
Pelimoottorit prototypoinnissa
Pelimoottori on alusta, jonka päälle voi lähteä kehittämään pelejä. Monet pelimoottorit mahdollistavat suhteellisen monimutkaistenkin pelien tekemisen hyvin pienellä ohjelmointiosaamisella, kun taas yksinkertaisimmat moottorit eivät vaadi ohjelmointia lainkaan. Pelimoottorit tarjoavat monia tärkeimmistä pelien ominaisuuksista, kuten fysiikkamallinnuksesta, 3D-renderöinnistä ja törmäysten havaitsemisesta. Kehittäjän näkökulmasta tämä tarkoittaa, että pyörää ei tarvitse keksiä aina uudelleen ja laskea esimerkiksi jokaisen materiaalin liikkeet tai tavat, joilla valon pitäisi käyttäytyä eri pinnoilla. Tällä hetkellä suosituimmat ja kehittyneimmät pelimoottorit ovat Unity ja Unreal Engine ja niiden vahvaksi haastajaksi on noussut tulokas Godot.
Godot on monipuolinen ja täysin ilmainen pelimoottori, jolla voi luoda sekä 2D- ja 3D-pelejä useille eri alustoille. Se tukee tärkeimpiä työpöytäalustoja kuten Linux, macOS, Windows, mobiilialustoja Android ja iOS sekä verkkopohjaisia HTML5-alustoja. Sen kehittäminen on yhteisölähtöistä ja sen suurimpia vahvuuksia onkin aktiivinen yhteisö, joka luo moottorille jatkuvasti uusia ominaisuuksia ja tukee tehokkaasti niin uusia kuin kokeneitakin pelinkehittäjiä. (Schardon 2023-1.) Godot kasvaa ja kehittyy nopeasti ja sen avoimeen lähdekoodiin perustuva malli tekee siitä erinomaisen valinnan uusille prototyyppien kehittäjille.
Pelimoottorina Unity on ollut pitkään varsinkin pienten tiimien ja harrastelijoiden suosiossa. Unity tarjoaa lähes kaiken, jota pelimoottorilta voi toivoa ja kukoistava ”Asset Store” on sen suurimpia vahvuuksia (Schardon 2023-2). Sana asset voisi olla suomeksi peliomaisuus. Se on jotain, joka on osa peliä. Omaisuus voi olla tekstitiedosto, kuva, 3D-malli tai musiikkitiedosto. Kaikkea, mikä on osa peliä, kutsutaan asseteiksi. Unity Asset Store on palvelu, jossa kehittäjät voivat ladata valmiita assetteja omiin peleihinsä ja jälleen säästä paljon aikaa ja vaivaa – erityisesti prototyyppivaiheessa.
Unreal Engine on moottorina ehkä tunnetuin ja pisimpään markkinoilla ollut. Se on erinomainen työkalu suurten 3D-pelien tuotannossa ja ollut pitkään suosituin pelimoottori suurten budjettien peleissä. 2D-peleissä Unreal Engine ei ole paras valinta. Monet mieltävät myös Unreal Enginen aloittelijalle vaikeammaksi kuin kilpailijansa.
Yksinkertaisempia pelimoottoreita, jotka ovat hyviä työkaluja erityisesti prototyyppien tekemiseen ovat esim. Construct 3, GameMaker ja Twine. Näistä yksikään ei välttämättä vaadi ohjelmointiosaamista lainkaan, joskin pienellä ohjelmoinnilla saa peleihin monipuolisempia ominaisuuksia.
Grafiikkaa prototyyppiin
Riippumatta siitä, minkä pelimoottorin valitsee, prototyyppaajan kannattaa tutustua valmiisiin assettikauppoihin. Näistä tunnetuin on jo aikaisemmin mainittu Unity Asset Store, mutta netissä on lukuisia eri paikkoja, mistä voi hankkia valmiiksi tehtyä grafiikkaa tai muita pelien ominaisuuksia. Esimerkkeinä Open Game Art, Kenney ja itch.io tarjoavat assetteja ilmaiseksi kehittäjien käyttöön. Mikäli prototyyppaajilta löytyy taiteellista osaamista, eikä valmiita sopivia assetteja ole käytössä, voi miettiä tarvittavan grafiikan tuottamista itse.
Peligrafiikasta puhuttaessa yleinen jakolinja on 2D- ja 3D-grafiikka, joihin tarvitaan omat työkalunsa – tosin 2D-grafiikkatyökaluja tarvitaan myös 3D-grafiikan pintojen tekemiseen. Työkalut kehittyvät molemmissa nopeasti ja saatavilla on useita sekä maksullisia että ilmaisia sovelluksia, joilla grafiikkaa voi tehdä. Graafikoilla onkin yleensä omat suosikkinsa, ja useimmiten kannattaa käyttää juuri sitä työkalua, jota osaa parhaiten käyttää.
Mikäli aiempaa kokemusta digitaalisen grafiikan tekemisestä ei ole eikä budjettia lisenssien hankkimiseen ole, niin 2D-grafiikan tuottamiseen suosittu valinta on Krita, kun taas 3D:ssä Blender on erinomainen vaihtoehto.
Prototypointi on tulevaisuustaito
Luo hype -hankkeen keskeinen tavoite oli tuoda uutta hyötypelien kehittämisen osaamista AMK-opiskelijoille. Niinpä opiskelijoiden kanssa suunniteltiin konseptin lisäksi myös prototyyppi, jonka avulla niin toimeksiantaja kuin kohderyhmään kuuluva kokeilijakin pystyy testaamaan prototyypin keskeisimmät toiminnallisuudet ja kommentoimaan sen visuaalista ilmettä. Prototyypit luotiin verkosta ilmaiseksi saatavilla työkaluilla; tekipä yksi ryhmä prototyypikseen monta minuuttia kestävän animaation kokonaan PowerPontilla! Diginatiivit opiskelijat ottivat nopeasti työkalut haltuunsa, ja etenkin prototyyppien visuaalinen suunnittelu oli erinomaista. Teknisiin ominaisuuksiin ja eri toiminnallisuuksien validointiin he luonnollisesti tarvitsivat enemmän ohjausta, kun nämä aihepiirit ovat heille vieraampia.
Kuten edellä todetaan, prototypointia tarvitaan monenlaisten digitaalisten tuotteiden kehittämisessä. Puhutaanpa sitten hyötypeleistä, kännykkäsovelluksista tai tuotesuunnittelusta. Digitaalinen mallintaminen lisääntyy kovaa vauhtia alalla kuin alalla, esimerkiksi digitaalisia kaksosia käytetään laajasti, niin teollisuudessa kuin kaupunkisuunnittelussakin. Voidaan siis turvallisesti sanoa, että digitaaliseen mallintamiseen ja prototypointiin keskittyvä osaaminen ei varmasti mene hukkaan, päin vastoin.
Erityisesti Mixed reality -teknologian kehitys tulee muuttamaan monet näytöt reaalimaailman päällä näkyviksi digitaalisiksi kerroksiksi, joissa voidaan pyöritellä erilaisia 3D-malleja, datamalleja tai muita yhdessä työstettäviä mallinnuksia. Mitä enemmän eri aloilla hyödynnetään 3D-malleja, sitä useamman ammattilaisen työpöydälle digitaalisten mallien kehittäminen päätyy. Kun koodaustaitokaan ei enää ole esteenä, kannattaa jokaisen meistä omata perusvalmiudet prototyyppien ja 3D-mallien kehittämiseen.
Lähteet
Hull, M. 2020. 4 Types of Prototyping. The Andplus Blog.
Lonc, J. 2022. What is Prototyping in Software Development (and Why It’s Important). Spark Business Works.
Pratt, M. 2022. Proof of concept (POC). TechTarget.
Reeves, S. 2020. What Is Software Prototyping And Why Do You Need It?. GoodCore.
Schardon, L. 2023-1. What is Godot? The Free Engine for Making 2D & 3D Games. GameDev Academy.
Schardon, L. 2023-2. What is Unity? – A Guide for One of the Top Game Engines. GameDev Academy.