The Sketchy Project
Valokeilassa on tällä kertaa Sebastian Ahlman. Haastattelussa hän kertoo ohjelmointiharrastuksestaan Digital Chocolaten työn ohella. Pelikuvien tukemana Ahlmanilta kuullaan myös suunnitelmia tämän hetken piironginlaatikkoprojektistaan, The Sketchy Projectista.
7.1.2010 julkaistun artikkelin on kirjoittanut Tomppu.
Haastateltavana on Sebastian Ahlman. Toivottakaamme hänet tervetulleeksi.
<suomipelit.com-kävijäkunta hurraa>
Heipä hei, Sebastian. Aloitetaan haastattelu suoraan muutamalla kevytmielisellä kysymyksellä.
Voisitko kertoa jotain itsestäsi?
Moi vaan! Olen 25-vuotias helsinkiläinen. Viime vuoden alussa valmistuin Arcadan ammattikorkeakoulusta tietotekniikan insinööriksi. Olen koko elämäni aikana ollut kiinnostunut tietokonepeleistä, niiden pelaamisesta, teosta jne. Aloitin pelaamisen joskus aikoja sitten C64:lla ja siitä lähtien pelit ovat olleet iso osa vapaa-ajastani. Tällä hetkellä olen töissä Digital Chocolaten Sumea-studiossa peliohjelmoijana. Tämän lisäksi minulla on useampi yksityinen peliprojekti työn alla. Näitä projekteja kehittelen eteenpäin aina kun ehdin.
Mikä on tuntemuksesi suomipeligenrestä? Mistä suomipelistä pidät eniten?
Tiedän, että Suomessa on tehty mahtava määrä pieniä ja isoja pelejä ja että olen pelannut niistä vain murto-osan. Indie-puolelta helmet kuten Areena 5 tai Tapan Kaikki nousevat heti mieleen.
Suomipeli, jota olen pelannut eniten on varmasti Housemarquen Supreme Snowboarding. Se on vaan jotenkin niin huikea, vielä tänä päivänä. Tosin pelaan sitä kaahauspelinä enkä lautailupelinä, ja parannen aikoja omia haamujani vastaan.
Mikä käsitys sinulla oli Suomipelit.comista ennen haastattelua?
Olin ladannut pari peliä sekä lukenut muutaman artikkelin. Ei minulla sen suurempaa käsitystä ollut, paitsi se että sivusto tuo pienempiä vähemmän tunnettuja pelejä kansan tietoisuuteen, mikä tietenkin on mainio asia.
Ja hiljalleen siirrymme asiaan. Miten pitkään olet ohjelmoinut?
En tarkalleen muista, mutta veikkaisin 7-8 vuotta. Ensimmäiset pari vuotta rävelsin C++:lla silloin tällöin tekstipohjaisia pelejä ja pikkuohjelmia. Opin olio-ohjelmoinnin perusteet monta kertaa alusta uudelleen. Tämä oli melko rasittava vaihe, sillä tuttavapiiristä ei silloin löytynyt muita ohjelmoinnista kiinnostuneita, joten kaikki piti oppia kantapään kautta itse. Jälkiviisaana voin todeta, että olisi ollut parempi aloittaa helpommalla kielellä, esim. VB tai C#.
Tässä on Sebastianin viime aikoina työstämä The Sketchy Project. Huolettoman näköinen pelihahmo Roland tallustaa synkässä ympäristössä.Mistä peliohjelmoijanurasi käynnistyi?
Jo koulussa harrastin peliohjelmointia. Väänsin useimmista koodaustehtävistä pelejä jollakin tavalla. Jos tehtävänä oli tehdä ohjelma joka tallentaa dataa tiedostoon ja lukee sen takaisin, tein pelin jossa oli tallennettavat asetukset jne. Tällöin tuli peliohjelointitermit ja yleisimmät kirjastot tutuiksi, ja apua sai helposti netistä.
Onnistuin saamaan työpaikan ohjelmoijana heti armeijan jälkeen. Olin tietenkin siihen aikaan todella aloittelija, mutta työkaverit kouluttivat minusta hyötyohjelmakoodarin. Se työpaikka oli minulle todellinen lottovoitto, sillä sain ohjelmoida todella erilaisia ohjelmia monella eri kielellä ja alustalla.
Valmistuttuani insinööriksi hyötyohjelmien teko alkoi kuitenkin maistua puulta, ja päätin hakea peli-alalle. Lähetin kymmeniä hakemuksia pääkaupunkiseudun pelifirmoille, ja lopulta sain paikan Digital Chocolatelta.
Mitä olet jo saavuttanut pelinkehittäjänä ja mitä toivoisit vielä saavuttavasi?
Eräs suomalainen pelisivusto haluaa tehdä minusta jutun, sehän on jo saavutus sinänsä.
Vakavasti puhuen, urani pelinkehittäjänä on vielä niin lyhyt etten tunne saavuttaneeni kovinkaan paljon. Tällä hetkellä kovin juttu on edelleen se, että olen saanut työpaikan alalta vaikkei tuttavapiirissä ole koskaan ollut alan ihmisiä. Tein monta vuotta kovaa duunia päästääkseni unelma-alalle, ja lopulta se onnistui.
Jossain vaiheessa haluan olla mukana tekemässä AAA-luokan seikkailupeliä. Seikkailupelit ovat aina olleet lähellä sydäntäni, ja olisi todella kova juttu olla tekemässä peliä kuten The Longest Journey tai Outcast.
Uusi kappale #
Miten hyvin arvioisit sinut tunnettavan pelinkehittäjäpiireissä? Toisaalta, tunnetko suomalaisia pelinkehittäjiä?
Uskon ettei kovin moni minua tunne. Pelit-lehden keskustelufoorumeissa olen välillä pitänyt kehityspäiväkirjaa joistakin peleistä, joten jotkut siellä saattavat tunnistaa nimeni. Suomalaiset pelinkehittäjäpiirit ovat kuitenkin sen verran pienet että voi nopeasti nousta kuuluisuuteen jo yhdellä hittipelillä.
Kuten jo aikaisemmin totesin, tuttavapiiristäni ei löydy pelinkehittäjiä (ellei nykyisiä työkavereita lasketa). Henkilökohtaisesti en tunne kovin monta pelinkehittäjää, mutta jotkut suomalaisten pelitalojen avainhenkilöt ovat tuttuja (esim. Petri Järvilehto, Ilari Kuittinen tai indie-puolelta vaikkapa Petri Purho).
Onko olemassa pelintekijöitä, joita ihailet?
Pelinteko on tiimilaji, ja harvoin yksi henkilö on vastuussa koko pelin tuotannosta. Tästä syystä ihailen enemmän firmoja kuin henkilöitä. Esim. Valve software tai kotimainen Remedy julkaisevat harvoin pelejä, mutta ne ovatkin sitä kovempia kokemuksia.
Mieleen tulee kyllä jotkut yksittäiset henkilötkin jotka ovat tehneet hienoa työtä, esim. World of Goo:sta tuttu Kyle Gabler tai OGRE-grafiikkamoottorin kehittänyt Steve Streeting. Nämä vaikuttavat todella päteviltä ja kaiken lisäksi vielä mukavilta kavereilta.
The Sketchy Project hyödyntää samaa fysiikkarutiinia kuin Petri Purhon Crayon Physics. Erityisempää yhteyttä sattumalla ei ollut, huomasihan Sebastian asian vasta jälkikäteen.Miten luonnehtisit itseäsi ohjelmoijana?
Olen utelias. Haluan nähdä uusia tapoja tehdä asioita, kokeilla uusia kieliä/alustoja/kirjastoja. En halua pysyä yhdessä kielessä tai alustassa. En ole ”Windows-ohjelmoija” tai ”C++-ohjelmoija”.
Välillä ärsyttää kun deadline lähestyy eikä ole aikaa tehdä asioita niin huolellisesti kuin haluaisi. Tutkin mielelläni erilaisia design patterneita ja poimin niistä ne jotka sopivat omaan tyyliini. Kaikki tämä tosin vaatii aikaa, ja aikaa on yleensä vähän. Sen takia vapaa-ajalla koodaaminen onkin niin mukavaa.
Entä miten luonnehtisit itseäsi pelinkehittäjänä? Mitä pidät tärkeinä asioina peleissä ja mitä vaatimuksia asetat omille peleillesi?
Hyvä kysymys. En ole ajatellut tätä asiaa kovinkaan paljon. Jostain syystä tuotteistan aina omat pelini melko pitkälle. Esim. useimmat julkaistaan asennuspaketteina. Haluan, että asennus ja pelaaminen on vaivatonta. Harvoin julkaisen tekniikkademoja tai yhden kentän testejä. Tästä syystä moni projekti onkin jäänyt lojumaan kotikoneen kovalevylle.
Työsi ohella Digital Chocolatessa teet pelejä myös omissa oloissasi. Monesti sanotaan, että jos koodaa työkseen, puhti ei välttämättä riitä oman projektin väkertämiseen vapaa-ajalla. Miten kommentoisit omalta kohdaltasi?
Se riippuu täysin tilanteesta ja enemmänkin muista asioista kuin työstä. Kaikki aika ei saa kulua peleihin, ja olen huomannut että teen parempaa jälkeä jos ehdin elää ”normaalia elämää” siinä sivussa. Tietenkin, jos on istunut kymmenen tuntia koodaamassa peliä töissä, ei ihan heti huvita jatkaa enää kotona illalla.
Pelintekeminen on siinä mielessä mukavaa että jos ei tiettynä päivänä jaksa koodata voi aina tehdä grafiikkaa, tai vaikkapa suunnitella kenttiä.
Luuletko, että tulevaisuudessa jokin vapaa-ajan projektisi saattaisi muodostua hitiksi?
En usko, muttei sitä koskaan tiedä. Vapaa-ajallani teen juuri sellaisia pelejä kuin itse haluan. Ei tarvitse miettiä kohderyhmää, aikataulua tai edes järjestelmävaatimuksia ellei halua. Onhan se mahdollista, että joskus teen pelin jota iso ryhmä pelaajia haluaa pelata juuri silloin, mutta tämä ei kuitenkaan ole minulle tärkein päämäärä.
Sivuiltasi voi ladata viikinkien kehittämän lautapelin Nefatavlin. Mistä idea kumpusi? Mistä tietämys viikinkien pelin olemassaolosta ja mielenkiinto sen toteuttamiseksi tietokonepeliksi?
Löysin pelin lautapeliversion vanhempieni kirjahyllystä muutama vuosi sitten, ja pelasin sitä veljeni kanssa ahkerasti muutaman päivän ajan. Huomasin ettei netistä löytynyt hyvää elektronista versiota pelistä, joten päätin tehdä sellaisen. Kirjoitin ensimmäisen version C#:ssa parissa päivässä. Se oli 2D-versio pelistä ilman tekoälyä.
Noin vuosi sen jälkeen halusin tehdä pelin C++:ssa käyttäen Ogre-grafiikkamoottoria, ja päätin tehdä pelistä uuden version paremmilla grafiikoilla ja tekoälyllä. Peli oli siis tavallaan oma C++-harjoittelutyö. Lopputulos oli Nefatavl 2.0. Myöhemmin päivitin peliä versioksi 2.1, jossa on mm. Cg-shadereilla piirretyt yksiköt.
Mielenkiintoista on, että Nefatavlissa on tekoäly. Miten se toimii ja miten tyytyväinen itse olet siihen? Kokeillessa huomaa, että tekoäly pelaa osin suorastaan typerästi.
Täytyy tunnustaa että pelin tekoäly on melko hölmösti kasaan väännetty palikka. Kaikki tekoälykoodi on Luaa, ja se pultattiin peliin kiinni kun se muuten oli jo melkein valmis. Jossain vaiheessa sain idean tehdä tekoälystä modulaarisen jotta siitä voisi helposti tehdä monta versiota, helppo, vaikea jne. Varsinaisen pelikoodin ja AI-koodin välissä on simppeli rajapinta ja koko AI voidaan vaihtaa toiseen muokkaamalla muutama Lua-tiedosto.
Kuten olette jo huomanneet tämänhetkinen implementaatio kaipaisi vielä paljon työtä. Minulla oli jo toinen versio työn alla, mutta siitä tuli niin hidas etten koskaan julkaissut sitä.
Yksi Nefatavlin mielenkiintoisimmista piirteistä on se että joukkueet ovat täysin erilaisia. Niillä on eri määrä yksikköjä, eri päämäärä jne. Pelin tämänhetkinen tekoäly pelaa paremmin hyökkääjillä kuin puolustajilla, sillä se on melko aggressiivinen. Tämä pelityyli ei sovi ollenkaan puolustajille. Tosin, koodi tekee välillä hölmöjä siirtoja hyökkääjilläkin. Minulla on käynyt mielessä portata peli iPhonelle ja satsata kunnolla aikaa AI:hin.
Sivustollasi esittelet The Sketchy Projectia, jota olet viime aikoina kehitellyt. Voisitko esitellä pelisi meille?
The Sketchy Project (työnimi) kertoo maailmasta jonka asukkaista on tullut niin pinnallisia, että maailma on muuttunut mustavalkoiseksi. Jokainen valinta ja mielipide on joko oikea tai väärä. Pelin sankari Roland lähtee selvittämään miten värit voidaan palauttaa, ja samalla tuoda syvyyttä takaisin elämään.
Idea lähti siitä kun hankin piirtopöydän ja rupesin piirtämään muumi-henkisiä hahmoja ja ympäristöjä. Tästä syntyi pelin graafinen yleisilme. Projekti on niin sanottu ”2.5D”-peli eli kaksiulotteinen pelimaailma jossa on osittain kolmiulotteista grafiikkaa.
Peli on tavallaan perinteinen seikkailupeli, jossa tutkitaan paikkoja ja ratkaistaan puzzleja, mutta ympäristöissä joita tavallisesti näkee 2D-tasohyppelyissä. Grafiikasta huolimatta Sketchystä ei ole tarkoitus tehdä lapsille sopivaa peliä. Tarinassa käsitellään rankkoja aiheita. Punainen on ensimmäinen väri jota Roland matkallaan näkee. Eikä kyseessä ole vadelmamehu.
Saimme käsiimme myös uudempaa materiaalia The Sketchy Projectista. Kuvassa näkyy pala kenttäeditoria (klikkaa suuremmaksi).Mitä suunnitelmia sinulla on The Sketchy Projectin suhteen?
Tällä hetkellä on tarkoitus tehdä jonkin näköinen tekniikkademo jossa esiteltäisiin pelin alusta ja muutama alue tutkittavaksi. Ajanpuute on tällä hetkellä se suurin ongelma.
Melko monet suomalaiset ovat tehneet/tekemässä jotain 2D-fysiikkarutiiniin perustuvaa peliä, mm. Petri Purho, MH Games sekä Kumoon-pelistä tunnettu Mayoneez and the Boyz. Onko pelisi idea saanut innoitteita esimerkiksi Petri Purhon kansainvälisestikin huomatusta Crayon Physicsistä?
The Sketchy Project käyttää samaa Box2D-fysiikkamoottoria kuin Crayon Physics. Tämän tosin huomasin vasta kun Sketchyn kehitys oli jo alkanut. Eli, ei sattuma se vaan on.
Tulemmeko vielä näkemään The Sketchy Projectista kehittyneen pelin?
Toivottavasti. On hyvin mahdollista, että julkaisen pelin episodeina, kuten esim. Telltalen pelit nykyään julkaistaan. Tällöin voin kehittää moottoria tai jopa vaihtaa alustaa osien välissä.
Miten Nefatavl ja The Sketchy Project ovat herättäneet kiinnostusta pelaajien keskuudessa? Millaista palautetta olet saanut?
Nefatavlista innostui lähinnä shakin ystävät ja muut pelilautafriikit, mutta kuten todettu, AI ei anna näille pelaajille kunnon vastusta. Pientä bonusta toi se, ettei kovin moni ollut koskaan kuullut koko pelistä, joten he halusivat siksi kokeilla sitä. Peli on saanut positiivista palautetta lähinnä kaikesta paitsi AI:sta ja puuttuvasta nettipelistä.
Sketchy on jo konseptivaiheessa saanut yllättävän paljon positiivista palautetta sekä tuttavilta että netissä. Lähinnä grafiikkaa ja taustatarinaa on kehuttu. Joidenkin mielestä videot pelistä ovat näyttäneet siltä kuin peli pyörisi hidastettuna.
Sivuillasi mainitaan, ettei kaikkia peliprojektejasi ole esitelty siellä. Mitä muita projekteja sinulla on ollut tai on?
Joitakin vanhoja projekteja voi ladata sivulta: http://www.sourcedrive.net/oldprojects.p...
Joillakin on jopa avoin lähdekoodi. Kannattaa kuitenkin muistaa, että useimmat niistä ovat yli viisi vuotta vanhoja, ja koodin laatu onkin sen mukainen. Melkein kaikki ovat kouluprojekteja.
Olet kertonut, että pidät uusien ohjelmointiympäristöjen kokeilemisesta. Onko mikään uusi alusta noussut suosikiksi esimerkiksi kännykkäpuolelta?
Kännykkäpuolella iPhone on ehdoton suosikki, vaikken ole tehnyt sillä vielä kovinkaan paljon. Applen työkalut ovat erittäin nopeita ja vakaita ja OS X:stä sekä standard C++:sta tutut kirjastot toimivat pitkälti myös iPhonella. Kerrankin puhelimessa on niin paljon tehoja ettei jokaista prosessorisykliä tarvitse miettiä.
iPhone pakottaa pelinkehittäjiä ajattelemaan tiettyjä asioita uudella tavalla. Sen kosketusnäyttö ja accelerometri mahdollistavat uudenlaisia ohjausratkaisuja, mutta tutusta ristiohjain-järjestelmästä on luovuttava kokonaan, vaikka välillä se tuntuukin olevan paras tapa ohjata tiettyä peliä (tai ainakin helpoin toteuttaa).
Onko mitään sydämelläsi, mitä haluaisit sanoa Suomipelit.comin pelinkehittäjille ja peleistä kiinnostuneille?
Pitäkää suompeligenren lippu korkealla!


