Suomi on viime aikoina niittänyt mainetta lähinnä mobiilipelien kehtona, mutta täkäläinen kehitystaito ei ole rajoittunut vain taskussa kulkeviin pikkupeleihin. Yksi kotimainen pikkujättiläinen on helsinkiläinen Umbra, joka sai näkyvyyttä KonsoliFINissäkin Pelaaja-lehden entisen päätoimittajan Thomas Puhan siirryttyä firman PR-tehtäviin. Puha on jatkanut uusiin haasteisiin, mutta Umbra on merkittävämpi tekijä kuin koskaan, ja tätä demonstroidakseen pulju järjesti kuukausittaisen pelikehittäjätapahtuman etkoiksi kevyen seminaarin teemalla "AAA-pelien kehittäminen käytännössä". Vaikka tilaisuus olikin suunnattu kehittäjille, onnistuin luumuilemaan itselleni kutsun paikalle, ja pääsin kuulemaan muutaman valovoimaisen peliteollisuuden toteuttajan esityksiä.
Pinnan syvyisesti
Rulon Raymond, Infinity Wardin grafiikkainsinööri (Kuva: Janne Karvinen)
Pelatessa ei aina tule edes ajatelleeksi, miten monimutkaista voi olla yksinkertaisen ihmishahmon piirtäminen ruudulle, ja yhden näkökulman tähän problematiikkaan tarjoili Infinity Wardin Rulon Raymond. Jos haluatte nähdä Raymondin käden jälkeä, niin parhaiten sen havaitsee Call of Duty: Advanced Warfaren hahmojen kyynärtaipeita tarkastelemalla. Puheen aihe oli realistisen ihon ja vaatetuksen piirtäminen animoidun tikku-ukon päälle, suositeltavat tekniikat, pahimmat kompastuskivet ja viimeisin tutkimus näiden kivien välttelemiseksi. Erilaiset työkalut räsynukkehahmojen mallintamiseen tarjoavat valmiita ratkaisuja mm. siihen, miten nivelet taipuvat, mutta skinning-algoritmeilla saattaa usein mennä sormi suuhun. Kaksi hankalasti ratkaistavaa haastetta ovat candy wrapper -efekti ja flat ass -syndrooma.
Candy wrapper ilmenee nivelten taittuessa ja kiertyessä, koska hahmoanimoinnissa yksittäiset luut ovat vain yksiulotteisia janoja, joiden päälle iho piirretään. Luiden vahvuus, niiden pällä olevat kudoskerrokset ja useammat samansuuntaiset luut yksinkertaistetaan erilaisiin kaavoihin, mutta tietyissä erikoistapauksissa kaavat tuottavat hullunkurisia lopputuloksia. Raymond näytti monimutkaisia laskukaavoja, jotka menivät itseltäni kovaa ja korkealta yli, mutta kiinnostuneet voivat googlata termiä "dual quaternion", joka oli ainakin Infinity Wardilla päivän kovinta huutoa.
Erilaisia tapoja piirtää iho luurankomallin päälle nivelten taittuessa. Aina lopputulos ei ole täysin luonnollinen.
Toinen ongelma on samaa sukua, eli flat ass. Tämän ilmiön kanssa Raymond joutui taistelemaan varsinkin Tony Hawk -sarjan parissa työskennellessään. Reisiluun ja selän kulman lähetessä 90 astetta, alkavat algoritmit piiputtaa, takapuoli katoaa kuvasta ja ruudulle piirtyvä ihminen on kummallisen epäviehättävä. Ensimmäiset korjausyritykset onnistuivat paikkaamaan puuttuvan pakaran, mutta korjausliike aiheutti toisenlaisia harmeja: pään kallistaminen sivulle synnytti hahmoille struuman oireita, joten kaavoja täytyi viilailla vielä tarkemmiksi.
Raymond ei ollut ainoa, jonka suusta putosi yksi todellisen elämän rajoite laskentakaavojen hienostuneisuudelle: muisti- tai laskentabudjetti. Erilaisia graafisia osa-alueita toteutettaessa tiimeille annetaan tietty määrä laskenta-aikaa tai muistia, jonka puitteissa täytyy toimia. Vaikka grafiikkaprosessorien teho on tässä sukupolvessa noussut kahdeksankertaiseksi, on keskusyksiköiden kellotaajuus itse asiassa pienempi kuin Xbox 360:n ja PS3:n aikaan. Ja vaikka muistia on enemmän kuin aikaisemmin, ei sen määrä vieläkään ole ääretön. Kun modernin räiskintäpelin jokainen ruutu täytyy saada laskettua ja piirrettyä 16 millisekunnin aikana, täytyy kehittäjän jatkuvasti tehdä valintoja lopputuloksen laadun ja laskennan nopeuden välillä. Kun siis seuraava kerran ihmettelette, miksi kranaattia viskaavan solttupojan kainalo on epämuodostunut, voitte luottaa siihen, että kyseessä ei ole kehittäjän ammattitaidottomuus. He osaavat kyllä saada anatomian kohdalleen. Aika ei vain riitä.
Monitoimimoottori ja neljäs sukupolvi
Graham Wihlidal esittelee Electronic Artsin Frostbite-moottorin ominaisuuksia yleisölle. (Kuva: Janne Karvinen)
Aiemmin pelkästään DICEn käytössä ollut Frostbite-moottori on nykyään peruspalikka suurimmassa osassa EA:n pelejä, joten se on siirretty yhden pelistudion harteilta ihan omaksi tiimikseen. Frostbiten kehityksestä, käytöstä ja haasteista saapui kertomaan Graham Wihlidal, jonka kielessä PS4, Xbox One ja PC muodostavat "neljännen sukupolven". Minulle jäi vähän epäselväksi, mikä esityksen pointti oli, koska se kuulosti osittain markkinointipuheelta, mutta joitain mielenkiintoisia tiedonjyväsiä tästäkin paketista sain kaivettua.
Tekniikkakeskusteluissa puhutaan usein siitä, miten nykyisten konsolien prosessorit ovat pullonkaula, ja tämä tuntuu pitävän paikkansa. Tosin täytyy ottaa huomioon, että siirtyminen kahdeksanytimisiin suorittimiin tekee vertailun aikaisempiin, kellotaajuudeltaan nopeampiin prossuihin hankalaksi. Vaikka teoriassa konsolien keskusyksiköt voivat suorittaa kahdeksaa laskutoimitusta yhtä aikaa, käytännössä aikaa menee tehtävien järjestämiseen, tulosten kokoamiseen ja uusien prosessien käynnistämiseen. Kaikki toimitukset eivät valmistu samaan aikaan, joten ytimet joutuvat ajoittain pyörittelemään binäärisiä peukaloitaan.
Oman rikkansa rokkaan heittävät laitevalmistajien APIt, eli kehitysrajapinnat, jotka tarjoavat vaihtelevan määrän kehitystä nopeuttavia funktioita, tai mahdollisesti päästävät kehittäjän koodaamaan suoraan raudan päälle. Murheenkryyninä viimeksi mainitussa on Microsoftin DirectX 11, jonka toteutuksessa on pyritty estämään kehittäjän tekemät virheet, mutta samalla tingitty suorituskyvystä. Uudet kehitysvälineet, kuten DirectX 12 tai prosessorivalmistaja AMD:n Mantle poistavat rajoitteita, mikä on erityisesti pelimoottorin – kuten Frostbite – kehittäjän kannalta positiivista.
Tietysti kehittäjän elämä ei ole pelkkää tekniikkaa, vaan välillä joutuu törmäämään myös ihmisten erilaisuuteen. Uudet tekniikat mahdollistavat uusien, entistä näyttävämpien asioiden esittämisen peleissä, ja tätä mahdollisuutta on EA:nkin studioissa hyödynnetty. Tai ainakin yritetty hyödyntää. Eräs mainittu uusi tekniikka on photogrammetry, eli todellisten esineiden kuvaaminen isolla liudalla kameroita useasta kulmasta, ja tämän perusteella näiden esineiden mallintaminen hyperrealistisella tavalla peliin. Markkinointimiehet olivat sukupolven alussa luvanneet graafikoille, että nyt kaikki rajoitteet visioiden tieltä ovat poistumassa (kysymättä insinööreiltä tällaisen väitteen todenperäisyydestä). Graafikot olivat roudanneet kameroiden eteen vinon pinon mielestään hienoja kiviä, joista olivat tuottaneet resursseja uuteen Battlefieldiin. Itse kukin voi miettiä, kuinka monta useamman megan kokoista kiveä saadaan mahtumaan peliin, kun aiemmin mainittua muistibudjettia pitäisi jättää hiukan animaation, fysiikkalaskennan ja pelimekaniikan käyttöön...
Säikeet ja avoimet maailmat
Arkane Studiosin Jérémy Virga kertoo tekniikoista jakaa grafiikkatehtävät useammalle prosessoriytimelle. (Kuva: Janne Karvinen)
Pelimoottorien uudelleenkirjoittamisesta sukupolven vaihtuessa kertoi myös Arkane Studiosin Jérémy Virga, joka työskentelee parhaillaan yhden itse eniten odottamani pelin, Dishonored 2:n, parissa. Ensimmäinen osa kirjoitettiin hyvin perinteiseen tyyliin lineaarista prosessointia varten, eli jokainen tehtävä suoritettiin järjestyksessä vuorollaan, ja jokainen tehtävä tuotti laskentatuloksia myöhemmin ajettaville tehtäville. Virga ja kumppanit ovat joutuneet paloittelemaan aikaisemman koodinsa pienempiin osiin, miettimään näiden osien järjestelyn uusiksi ja kokoamaan paketin kokonaan uusiksi. Ja vaikka moniydinsuorittimia on ollut olemassa iät ja ajat, eivät pelikehityksen työkalut ole täysin kypsiä. Arkanekin on joutunut kehittämään itse välineet grafiikkabugien korjaamiseen, sillä aina ei ole selvää, johtuuko jokin geometriavirhe siitä, että laskentakaava on ollut viallinen, vai siitä, että laskentaa ei ole ehditty saada valmiiksi ennen kuin ruutua on alettu piirtää.
Muistin hallinnasta erityisesti avoimien maailmojen peleissä kertoi Witcher-sarjaa kehittävän CD Projectin Balasz Török puheessa, jonka otsikko oli hauskasti "The Blanket that Is Always Too Short". Edes kahdeksan gigatavua muistia uusissa konsoleissa ei riitä pitkälle, sillä sellaista peliä ei olekaan, joka ei saisi kulutettua vielä vähän enemmän. Lisäksi uusien konsolien käyttöjärjestelmässä on yksi kuriositeetti, joka ei vaivaa PC-kehittäjiä: muistin varaaminen ja vapauttaminen vie ei-triviaalin määrän aikaa. Avoimen maailman pelissä tällä voi olla vaikutuksia esimerkiksi siihen, miten usein ympäröivän maaston tietoja ladataan muistiin ja koska tarpeetonta tietoa siivotaan sieltä pois.
Virgan ja Törökin esitysten perusteella voi päätellä, että uusi sukupolvi on samaan aikaan helpottanut ja vaikeuttanut pelien kehitystä. Toisaalta lisäresurssit mahdollistavat näyttävämpien ja sulavampien pelien toteuttamisen vanhoilla menetelmillä, mutta todellinen teho saadaan raudasta irti vasta ajan myötä, kun menetelmät saadaan alustan suomien mahdollisuuksien tasalle.
Iloa epäonnistumisista
Päivän hengästyttävimmästä ohjelmanumerosta vastasi Media Moleculen Alex Evans, joka raotti verhoa puljun tulevan Dreams-pelin synnytystuskien edestä. Tarinan pääsanoma oli, että on kivaa, kun artisteilla on visio, ja on monenlaisia keinoja yrittää löytää paras reitti visioiden toteuttamiseen, luovassa työssä täytyy hyväksyä epäonnistumiset ja oppia niistä, ja joskus kannattaa yrittää jotain sellaistakin, mikä ensin vaikuttaa harvinaisen vastenmieliseltä. Esitys toi mieleen Paul Sloanen nimiin kirjatun viisauden: "Minä joko onnistun tai opin, mutta en koskaan epäonnistu". Evans tuntuikin uskovan vahvasti, että jokainen vastoinkäyminen on oppimiskokemus, ja erityisesti Dreamsia kehittäessä hän ja koko Media Moleculen tiimi ovat oppineet useasti ja paljon. Positiivisena loppukaneettina Evansin alunperin vihaamien splat-elementtien käyttäminen Dreamsissa mahdollistaa alkuperäiselle visiolle uskollisen toteutuksen.
Päivän aikana kuultiin myös espanjalaisen Rime-peliä kehittävän TequilaWorksin puheenvuoro luovan kaaoksen ja organisaation kontrollin välisestä oikeasta suhteesta, sekä PS4:lle ja Morpheukselle työn alla olevan Godling-pelin taustalta löytyvää Sólfaria, joka esitti näkemyksiään virtuaalitodellisuudesta ja sille luotavasta sisällöstä. Näistä kahdesta studiosta kirjoitan lisää myöhemmin.
TequilaWorksin energisessä esityksessä Kevin Cerdà vakuutteli rakkauttaan videopelejä kohtaan.
Pienen pieninä palasina on pelini maailmalla
Me pelaajat tuppaamme nillittämään pienistä asioista, eikä siinä sinällään ole mitään vikaa. Kuluttajana meillä on oikeus vaatia rahoillemme vastinetta ja parasta mahdollista lopputulosta. Joskus on silti virkistävää päästä kuulemaan pelinkehittäjien ajatuksia, ja ymmärtämään miten rajoitettu määre "paras mahdollinen" voi olla. Meistä saattaa tuntua, että totta kai merijalkaväen sotilaan nenänkarvan täytyy reagoida realistisesti läheisen putkimiinan posahduksen aiheuttamaan paineaaltoon, mutta nenänkarva-animaattori joutuu keskustelemaan kyynärtaivemallintajan kanssa siitä, kumpi saa käyttää tarvitsemansa 20 kiloa muistia, ja lopulta nämä molemmat saattavat joutua antamaan periksi hienon kiven kuvanneelle graafikolle.
Videopelit ovat upeita. Niiden tekeminen on monimutkaista. Otetaan ilo irti siitä, mitä nämä huippuosaajat meille tarjoavat!
(Jutun otsikkokuva © Janne Karvinen)
Kommentit
Tällaisia juttuja lisää! On
Tällaisia juttuja lisää! On aina kiva kuulla juttua myös devaajilta.
P.S. Viimeisessä kuvatekstissä pitäisi varmaan lukea "rakkauttaan".
Kiva että kelpasi. Noi
Kiva että kelpasi. Noi esitykset oli välillä ihan hyperteknisiä, varsinkin ne Raymondin esittämät matemaattiset kaavat. Yritin kuitenkin löytää sieltä jotain pelaavaa yleisöä kiinnostavia kulmia.
Ja kiitos oikoluvusta, kuvateksti korjattu.
Kommentoi
Kirjaudu kommentoidaksesi