NetHack elämäntapana

Timo Hakulinen (33) toimii tutkijana Teknillisessä korkeakoulussa. Koulutukseltaan hän on fyysikko ja kirjoittaa tällä hetkellä väitöskirjaa gammaspektrianalyysistä. Hakulinen on myös yksi jäsen salaperäisessä Nethackin Dev Teamissä.

Suomeen Hakulinen on juuri palannut CERNistä (Euroopan hiukkasfysiikan tutkimuskeskus), jossa hän teki kaksi ja puoli vuotta paralleelilaskentaa. Nethackiin hän törmäsi ensimmäisen kerran aloitellessaan diplomityötään vuonna 1987.

"Sain käsiini Don Knellerin PC:lle porttaaman Hackin. Pian löysin myös NetHack 2.2:n ja kohta meillä oli parin samassa TKK:n laboratoriossa työskennelleen kaverin kanssa yhteinen projekti pelata NetHack läpi", Hakulinen muistelee.

Pelkkä läpipelaaminen ei kuitenkaan riittänyt. "Kun NetHack 3.0 julkistettiin kesällä 1989, se ei enää mahtunut kunnolla PC:n 640 kilon muistiin. Laboratoriossa oli OS/2-koneita, ja päätin ottaa lähdekoodin ja portata sen OS/2-ympäristöön. Kun portti toimi, lähetin muutokseni Nethackin kehittäjien sähköpostiosoitteeseen. Pian sieltä tuli innostunut vastaus, että jippii, joku on portannut heidän ohjelmansa OS/2:een."

Kehittäjät sisällyttivät portin suoraan NetHackin peruskoodiin ja näin Hakulinen sitten pikku hiljaa ajautui mukaan. Hän ylläpiti omaa OS/2-porttiaan sitä mukaa kun peliin tehtiin uusia patch-versioita, ja kun tuli uusia ominaisuuksia, esimerkiksi värituki, hän kirjoitti niille OS/2-vastineet.

Niinpä kehittäjät sitten kerran pyysivät Hakulista mukaan Dev Teamin jäseneksi. Käytännössä se tarkoitti pääsyä Dev Teamin sisäiselle postituslistalle, jonka kautta hän sai helposti muun muassa kaikki uudet patchit koodiin.

Näin toimii Dev Team

Käytännössä Dev Team on täysin demokraattinen yhteisö. Sillä ei esimerkiksi ole pomoa, joka sanelisi hommat, vaan se on verrattain epäorganisoitu joukko vapaaehtoisia, jotka voivat halutessaan koodata mitä lystäävät.

Jos joku haluaa tehdä peliin ison muutoksen, esimerkiksi muuttaa tietorakenteita tai pienemmänkin muutoksen, jolla voi olla merkitystä pelin toimintaan, siitä äänestetään. Eli ensin kaveri kysyy: "Olen funtsannut tällaista ideaa ja haluaisin lisätä sen koodiin - sopiiko?" Jos muilta tiimin jäseniltä tulee kielteisiä kommentteja eikä muutoksen ehdottaja vedä ajatustaan pois, asiasta äänestetään.

Lähinnä varsinaisia organisaattoreita ovat koodin ylläpitäjät, joiden takana NetHackin kanoninen lähdekoodi on. Kaikki muutokset lähetetään Dev Teamin postituslistalle Unix-diffeinä, ja väki päivittää versioitaan sitä mukaa kun diffejä tulee. Tiimin jäsenten versiot ovat siis usein hieman epäsynkassa, ja koodin ylläpitäjien tehtävänä on ylläpitää NetHackin "virallista" versiota.

"Yllättävää kyllä, Dev Team toimii erittäin hyvin. Ainoa ongelma, jos sitä nyt voi sellaiseksi sanoa, on orjanpiiskurin puute. Kukaan ei voi komentaa, että nyt tämä julkaisu täytyy saada valmiiksi, sillä kaikki työskentelevät omalla vapaa-ajallaan ilman palkkaa", Hakulinen pohtii.

Dev Teamissa on myös se hyvä puoli, että sen jäsenet ovat niin ylpeitä, että huonoa tuotetta ei päästetä käsistä. Koodia viilataan niin kauan, että siinä on mahdollisimman vähän bugeja. Vaikka julkaisu viivästyisikin, yleisölle ei koskaan kerrota etukäteen, koska seuraava versio valmistuu.

Suosio jatkuu ja jatkuu

NetHackin kestävä suosio johtuu pelin syvyydestä: NetHackiä voi pelata aivan tolkuttoman kauan. Eteen tulee samannäköisiä tilanteita mutta pikkuisen erilaisin paramatrein: vähän eri hahmo, vähän eri sormukset kädessä, vähän eri ase. Ja tuloksena on aivan odottamattomia asioita, koskaan ei tiedä, mitä tuleman pitää. Peliin on piilotettu myös vitsejä, jotka pulpahtavat esiin vain täsmälleen oikeassa tilanteessa. Juuri tämä pitää ihmisiä otteessaan.

"Koin tämän itse 2.2-versiota pelatessani. Silloin ei yhtään tiennyt mitä odottaa. Hekottelin monet kerrat kippurassa kun vastaan tuli joku hyvä vitsi."

"Laskimme kerran kaverin kanssa, kuinka monta tapaa me tiesimme kaupan ryöstämiseen ja saimme pienellä miettimisellä ainakin tusina tapaa tyhjentää koko putiikki kauppiaan nenän edestä. NetHackissä ei ole yhtä oikeaa tapaa tehdä jokin asia, vaan useita vaihtoehtoja niin kuin oikeassa elämässä. Pelin kehittäjät eivät voi aavistaa, mihin kaikkeen heidän lisäyksiään käytetään."

Vastakohdaksi voisi ottaa King's Questin kaltaiset valmiiksi ohjelmoidut pelit, joilla on hyvin lineaarinen juoni. Ne on pelattava juuri oikealla tavalla alusta loppuun. Kun sellaisen on kerran pelannut läpi, se on finito.

Hakulinen pelaa edelleen itse jonkin verran, harvoin kuitenkaan tosimielellä. "Siihen on kaksi syytä. Ensinnäkin on tietysti ajan puute, kun täytyy tehdä töitäkin. Varsinkin CERNissä oli paljon muuta tehtävää. Se aika minkä Nethackille allokoi, menee kehitystyöhön. Ja sitten toinen syy on se, että pikkuisen on mennyt se uutuuden viehätys."

"Kun peliä kehittää, tietää, mitä siellä tulee vastaan. Sen takia olenkin koittanut pysyä erillään joidenkin ihmisten tekemistä muutoksista. Esimerkiksi osaan uusien quest-tehtävien lähdekoodeista en ole lainkaan tutustunut, jotta pelistä löytyisi vielä edes jokin taso, josta en tiedä, miltä se näyttää."

Hakulinen pitää edelleen OS/2-versiota yllä. CERNin vuosien ongelmana oli se, että CERNissä ei ollut OS/2:sta missään. Nyt kun hän on Suomessa, osallistuminen on taas helpompaa. "Jos aikaa jää, olisi mukava päästä jälleen mukaan pelin kehittelyyn. 3.1:ssä jotkin ideani jäivät vielä vähän puolitiehen, ja niitä olisi mielenkiintoista kehittää edelleen. Esimerkiksi veden alla liikkuminen oli alkujaan minun lisäykseni."

Ja aikaa meni

Hakulinen ei oikein pysty arvioimaan Nethackiin kuluttamaansa aikaa, sillä se jakautuu seitsemälle vuodelle, joista pari-kolme ensimmäistä vuotta olivat kaikkein vauhdikkaimmat.

"Hyvänä puolena mainittakoon, että systeemien ja ohjelmoinnin tuntemukseni kasvoi paljon. Fyysikkotaustasta johtuen minulta on ollut aukkoja puhtaasti tietojenkäsittelytieteellisessä koulutuksessani", Hakulinen miettii.

"Nethackin valtteja on ilman muuta se, että se on portattu melkein mille tahansa kuviteltavissa olevalle laitteelle, jossa sen binääri mahtuu pyörimään. Sen parissa onkin oppinut, millaisia asioita täytyy ottaa huomioon koodia portatessaan, ja millä tavalla ohjelma täytyy kirjoittaa, että se ylipäätään on portattavissa."

Muita kehitysryhmän jäseniä Hakulinen tuntee vain mailitse. Dev Team on varsin Amerikka-painotteinen, vaikka muistakin maista on toki jäseniä.

"Henkilökohtaisesti en ole tavannut ketään muita ryhmän jäseniä kuin sittemmin edesmenneen Izchak Millerin. Kävin taannoin Havaijilla konferenssissa ja poikkesin matkalla San Franciscossa. Izchak toimi silloin Stanfordissa professorina."

"On kieltämättä harmi, että asuu täällä hieman kauempana. Jotkut lähempänä toisiaan asuvat tiimin jäsenet ovat itse asiassa tapailleet. Nykyään voi tosiaan tuntea ihmisiä verkon kautta monta vuottakin näkemättä heitä kertaakaan elävässä elämässä."

Entäpä tulevaisuus?

"On ollut puhetta, että DOS- ja X-versioiden grafiikka voitaisiin mahdollisesti siirtää myös OS/2:een. Tekniset parannukset, esimerkiksi grafiikassa ja käyttöliittymissä

, eivät myöskään ole mahdottomia. Todennäköisesti NetHack tulee kuitenkin säilyttämään siirtoihin perustuvan, "lautapelimäisen" luonteensa. Se ei olisi enää NetHack, jos sitä muutettaisiin kovin radikaalisti. Lisäksi pelin halutaan säilyvän TTY-pohjaisena eli sitä voi aina pelata myös perinteisellä merkkikäyttöliittymällä. Mutta nämä ovat ihan henkilökohtaisia näkemyksiäni, sillä kuten edellä tuli kerrottua, päätökset tekee koko tiimi."

Tarinan syventäminen on kuitenkin toinen juttu eli peliin tulee lisää vaihtelua ja sankarin ja hirviöiden toimintamahdollisuudet lisääntyvät. Esimerkiksi versiosta 3.1 lähtien myös hirviöt pystyvät poimimaan esineitä maasta ja käyttämään niiden ominaisuuksia hyväkseen. Myös luolaston rakenne muuttui 3.1:ssä täysin. Se ei ollut enää lineaarinen vaan siihen tuli erilaisia alaluolastoja ja lisätasoja. Juuri tällaiseen pelin syventämiseen Dev Team koittaa jatkossakin keskittää voimansa.

Myös monen pelaajan NetHackiä on ehdotettu. Nethack ei ole kuitenkaan enää Nethack, jos ei voi pysähtyä, mennä kotiin, juoda kupin kahvia, palata pelin ääreen ja painaa sitä oikeaa näppäintä, jolla pääsee pinteestä. Se ei onnistu monen pelaajan pelissä mitenkään. Myös 3D-käyttöliittymää on ehdotettu, se kun on tällä hetkellä niin muotia. Sitten NetHack ei kuitenkaan olisi enää lautapeli.

"Dev Teamissa onkin tehty tietoinen valinta asettaa pelin syventäminen etusijalle sokerikuorrutuksen asemesta. Tietääkseni suurin osa Dev Teamista pelaa 3.2:stakin edelleen ilman grafiikkaa."

Terveiset pelaajille

"Pelaajat ovat pioneereja, sillä pelit ovat nykyään yksi tärkeimmistä henkilökohtaiselle tietotekniikalle asetettavia vaatimuksia eteenpäin vievistä tekijöistä. Kaikki konstit täytyy ottaa käyttöön, jotta koneista saadaan tarvittava vääntö irti. Kun alalla tehdään uusia keksintöjä, ne siirtyvät peleissä nopeasti käytäntöön. Esimerkiksi Doomissa ja Quakessa näkee, mitä BSP-puiden (binary space partition) avulla voi tehdä."

"Pelejä onkin vaikea enää pitää pelkkänä lasten ajankuluna. Ne ovat ihan varteenotettava harrastus myös aikuisille", toteaa Hakulinen ja saa toimituksen vakaan kannatuksen.

Lisää aiheesta