F I FLASH – kiitos ja näkemiin ROBOLEMMIKIT ja virtuaalikumppanit GAME MUSIC COLLECTIVE KASETTILAMERIT 2.0 FUNKTIONAALINEN OHJELMOINTI Langaton hiiri AMIGAAN Tee-se-itse raytracer Nettipokerin nousu ja tuho. 2 1 7 .4 Tietokonekulttuurin erikoislehti 2017.4 S K R O L L I
44 Ei näin! CD-levy on aika särkyvä. 2 1 7 . Sisäkannessa Winter Games (1985) – vanhojen pelien pelastamista sivuilla 46–51 ja 26.. 38 Funktionaalinen ohjelmointi Koodia ilman sivuvaikutuksia. 13 Robottilemmikit OLED-silmät ovat sielun peili. 76 Assemblyt luovuuden alustana Digikulttuurifestareilla rohkaistaan kokeilemaan omia siipiään. 69 Ihan pakko pelata Täytyy pelata pelejä, jotta voi ostaa pelejä, jotta voisi pelata pelejä. 10 Tekoäly ei petä eikä jätä Tietokoneohjelmasta elämänkumppani. Kansi Polygon Dreams sijoittui yhdeksänneksi Assembly 2017:n grafiikkakompossa. 9 Kolumni: Janne Sirén Mikä on oikea ohjelmointikieli. 64 Se ainoa oikea peliohjain Ammattilaistikun monet vaatteet. 76. 26 Lyhyet Pikkujutuissa isoa asiaa – syväoppimista ja 8-bittisiä. 4 2 3 Pääkirjoitus 4 Flash Muistokirjoitus rikkaalle, rakkaalle ja rikkinäiselle medialle. 55 Langaton hiiri Amigaan Settlers sujuu parhaiten sohvalta. 60 Sarjakuva Turrikaanien yö seikkailee siellä missä aurinko ei paista – Dungeon Masterissa. 52 Curta Mekaaninen taskulaskin syntyi keskitysleirillä. 22 Tee-se-itse raytracer Renderöinnin opettelun voi aloittaa heijastavista palloista. 28 Nettipokerin lyhyt historia Nettiuhkapelien villi länsi autioituu. Siksi se kannattaa myös pakata huonosti. 17 Vaarallisilla vesillä Yksityisyydensuojan aakkoset. 46 Kasettilamereiden seurassa 2.0 Skrolli palaa digiarkeologian kaivauksille. 66 Byterapers-graffiti Demoryhmä iisalmelaisena kultturiperintönä. Lisää Assemblyista ja luovuudesta s. 32 Koodaa oma pelitekoäly Hyvä heuristiikka antaa pohjan vahvalle tekoälylle. 74 JOKstoriaa III Kotimikroista kuultiin myös Kehä kolmosen ulkopuolella. 62 Huuda kovempaa Taipuuko kauhuelokuva tietokonepeliksi. 21 Kolumni: Ronja Koistinen Amatööri meni töihin. 72 Game Music Collective Pelimusiikki soi isossa konserttisalissa
Siihen johdattelee jo Antti Miettisen eli Dicen kansikuva, jossa näkyy monia skrollimaisia asioita. Kauppinen, Ronja Koistinen, Sakari Lönn, Suvi Sivulainen Tämän numeron avustajat Heidi Akselin, Miika Auvinen, Robert Brotherus, Atte Haapalahti, Mikael Heikkanen, Ville Jouppi, Toni Kortelahti, Pinja Kuusela, Sakari Leppä, Teemu Leppänen, Tiina Malin, Antti Miettinen, Lasse Numminen, Jarkko Nääs, Lumi Pakkanen, Kimmo RintaPollari, Aki Sivula, Benjamin Särkkä, Ismo Utriainen, Ilkka Wahala, Olli Wilkman Julkaisija Skrolli ry Painopaikka Hämeen Kirjapaino oy, Tampere, ISSN 2323-8992 (painettu) ISSN 2323-900X (verkkojulkaisu) Runsas joulupaketti O lemme Skrollissa pyrkineet siihen, että jokaisella numerolla on jonkinlainen löyhä teema. 3 Pääkirjoitus Mikko Heinonen vastaava päätoimittaja Skrolli Tietokonekulttuurin erikoislehti Yhteydenotot toimitus@skrolli.fi Ircnet: #skrolli skrolli.fi Vastaava päätoimittaja Mikko Heinonen Päätoimittaja Tapio Berschewsky Toimituspäällikkö Valhe Kouneli Taiteellinen johtaja, taitto Nasu Viljanmaa Digipäälliköt Toni Kuokkanen Janne Sirén Taitto Manu Pärssinen Kuvatoimittaja Laura Pesola Mediamyynti Jari Jaanto Talous Anssi Kolehmainen Muu toimitus Jarno Niklas Alanko, Ville-Matias Heikkilä, Jukka O. Tuttuun tapaan lähestymme teitä loppujakin alkuvuodesta sähköpostilla ja laskulla, mutta hinnassa on pientä korotuspainetta, joten nyt kannattaa napata ensi vuoden Skrollit plakkariin ajoissa. Tämä on numerosta riippuen näkynyt sisällössä enemmän tai vähemmän, mutta vuonna 2017 ehkä selkeimmin. Sinä puolestasi voit halutessasi uusia tilauksen nyt vielä ”vanhalla” 35 euron vuosihinnalla osoitteessa tilaaskrolli.fi. Etukannen kuva: Antti “Dice” Miettinen Sisäkannen kuva: Epyx, Janne Sirén HÄMEEN KIRJAPAINO OY 4041 0209 Painotuote. Ensimmäisessä numerossa puhetta oli hakkeroinnista, toisessa keskiöön nousivat tietotekniikka-alan vaikuttajat ja kolmosessa taas lenneltiin hieman kevyemmissä merkeissä simulaatiotaivaalla. Tällä kertaa tarjoilemme projektin Amigan hiiren muuttamisesta langattomaksi ja kutsumme myös lukijamme parantamaan prototyypin toimivuutta. Lehden johtojuttuna komeilee pitkään työstetty Flashhistoriikki, jolla toivottavasti taputtelemme tämän verkkoa jo pitkään sulostuttaneen teknologian arvokkaasti autuaammille selaimenhidastusmaille. Iloinen olen myös siitä, että rautarakentelusta kirjoittajia alkaa löytyä miltei joka numeroon. Lisäksi haluan nostaa esiin Miika Auvisen jutun virtuaalikumppaneista – tätäkin on pyöritelty toimituksessa pitkään, ja se käsittelee mielestäni harvinaisen tasapainoisesti aihetta, josta on vaikea kirjoittaa ylipäätään ja etenkin ilman moraalisaarnoja. Näin hieno ja johdonmukainen systeemi onkin aiheellista disruptoida välittömästi, joten joulunumeron teemaksi on tarkoituksella valittu ”vähän kaikkea”. Vastaavia projektikuvauksia saa edelleen tarjota toimitukseen! Jouluruljanssista selvittyään Skrollin toimitus ryhtyy valmistautumaan ensi vuoden lehtien tekoon
Flashin kulta-aika on ohi, ja vastaavaa aikaa tulee tuskin koskaan. Ne kaikki tehtiin aikoinaan Flashilla, jonka kohdalla pitää paikkansa sanonta, että mitään ei voi todella kaivata, ennen kuin sen menettää. Hyviksiä, pahiksia ja räjähdyksiä – vain yksi voi selvitä, kuka se on. Toisaalta Flash on tehnyt kuolemaa jo pitkään. Flash – erään aikakauden loppu Teksti: Valhe Kouneli Kuvat: Ilkka Wahala, Valhe Kouneli Badger-badger, Sakarin villapaitapeli, The Ultimate Showdown (of Ultimate Destiny) ja miljoona erilaista selainpeliä, joita tuli kliksuteltua yöt läpi vuosituhannen alussa. Sen voi katsoa eläväksi kuolleeksi – niin jääräpäisesti se on pysytellyt mukana kuvioissa. 4 2 1 7 . Mutta aikansa kutakin, ja Adobe löi lukkoon tänä vuonna Flashin eläköitysmisvuodeksi vuoden 2020. Versiopäivityksestä toiseen ja käyttöjärjestelmältä toiselle pelit pelittivät ja kaikki oli paremmin kuin osasi edes arvostaa. Siitä on kyse The Ultimate Showdown of Ultimate Destinyssä.. Se jatkaa maallista matkaansa sitkeästi faniensa käsipuolessa, ja ehkä sitä nähdään vuosikymmenienkin päästä demopartyjen Flash-kompoissa, jos se onkin jo saatu muualta kitkettyä. 4 Softa F lash-teknologia mahdollisti helposti alustalta alustalle yhteensopivien pelien ja animaatioiden kehittämisen
Samasta väärin kuulemisen ideasta on revitty huumoria monessa muussakin Flash-videossa. Kun tekemisen kynnys oli matala ja materiaalia julkaistiin paljon, suurin osa oli roskaa, mutta helmet roskan seassa sitäkin hienompia ja mieleenpainuvampia. Televisiossa pyörivä lastensarja Pipsa Possu on tehty Flashillä, ja My Little Pony – Friendship is Magic hyödyntää laajasti Flashiä tuotantoprosessissaan. Mainokset ja mikro-ostot Flash-pelien julkaisuun oli monia erilaisia väyliä, joista suosituin oli varmaan Newgrounds ja Suomessa ehkä Pelikone. Kilpailevia työkaluja on runsaasti, mutta Flashin yksinkertaisuus ja kätevyys pitää sitä elossa. Alan uranuurtaja oli Mochi Media, joka tarjosi pelinkehittäjälle työkalun, jolla peleihin saattoi lisätä mainoksia ja maksullisia lisäominaisuuksia. Tavallaan Flash-pelien kehittäminen oli samanlaista kuin virtuaalitodellisuuspelien kehittäminen tänään. Alkoi mikromaksujen aikakausi.Mochi kokeili Flashpelien yhteydessä mainostamista ja mikromaksuja ensimmäisenä isossa mittakaavassa ennen mobiilimarkkinoiden räjähdysmäistä kasvua. Flashin alasajosta huolimatta sitä käytetään yhä laajasti esimerkiksi animaatiotyökaluna. Useimmille Flash-animaatio tuo mielee harrastelijoiden tekemät huumorivideot – Loituma-purjonpyörittäjä-animetyttö, Hatten är din, The Llama Song, Kikkoman-soijasupersankari, We Drink Ritalin ja All your base are belong to us -musiikkivideo... Steve Jobs vetosi näihin syihin ilmoittaessaan, että Applen mobiililaitteet eivät tukisi Flashia. Niissä satunnaisilta tuntuvia kuvia näytetään usein sanoituksiltaan hämäräperäisen musiikin tahdissa. Mochia seurasi muun muassa Armor Games ja Kongregate. Käyttäjät kommentoivat sitä ja tekijä sai arvokasta, välitöntä palautetta tuotoksestaan. Hatten är din, hattu on sinun, lukee laulun sanoituksissa, mutta todellisuudessa laulun sanat ovat turkkia. Se oli kuolettava isku. 5 Flash oli rakas ja luovuutta ruokkiva, mutta myös raskas ja tietoturvaongelmainen. Molemmat ovat yhä toiminnassa. Aluksi pelejä tehtiin ja levitettiin huvin vuoksi, mutta pian joku näki markkinaraon ja pelien kylkeen ilmestyi mainoksia. VRmarkkinat ovat toistaiseksi niin pienet, ettei niille kehittämisestä ole suurta rahallista hyötyä, vaan monille se toimii lähinnä omien taitojen esittelyn alusWe Drink Ritalin kuuluu animutation-tyyppisiin flash-videoihin. Newgrounds, Albino Blacksheep ja Youtube olivat suosittuja, vapaita levityskanavia. Voidaan spekuloida, oliko taustalla todellisuudessa henkilökohtainen kauna Adobea kohtaan tai kaupallinen intressi lisätä mobiilipelikehitystä ja -myyntiä, sillä vaikka Flashin ongelmat olivat todellisia, sen hyödyt olivat sivuuttamattomia. Parhaassa tapauksessa jokin iso teknologiatai pelifirma palkkasi tekijät leipiinsä ja pelien parissa puuhastelusta tuli muutakin kuin harrastus tai sivuammatti. All your base, all your base... Pelinsä tai muun flashteoksensa pystyi lataamaan sivustolle ja jakamaan muille nopeasti. Mutta jätetään Steve-vainaja rauhaan ja laaditaan mieluummin kaunis nekrologi poistuvalle teknologialle. Esimerkiksi yltiösöpö mutta sitäkin verisempi Happy Three Friends aloitti nettijulkaisuna 1999, mutta sitä esitettiin lopulta televisiossakin. Niiden toimintamalli oli ostaa yksinoikeus pelin julkaisulle, tai että esimerkiksi jonkin aseen sai vain, kun peliä pelasi yrityksen omalla sivulla. Ei mikään huono saavutus internet-ajan teknologialta. Flash oli ja on matalan kynnyksen monityökalu. Sen elinkaari on ollut harvinaisen pitkä – yli kaksikymmentä vuotta – ja se on ollut koko ajan taaksepäin yhteensopiva aiempien versioidensa kanssa. Mainosten myyminen pelin oheen oli pelinkehittäjille jonkinlainen ansaintakeino. Jos peli menestyi isostikin, saatettiin siitä kehittää kaupallinen versio jollekin toiselle alustalle ja laittaa Flash-versioon sen mainos
Pelin juoni on inspiroitunut Raamatun tarinasta, jossa Jumala käskee Abrahamia uhraamaan poikansa merkkinä uskollisuudestaan. Kun uusin kohu-uutinen Britneystä tai Bushista tuli julki, aiheesta sikisi yksi jos toinenkin peli, joita oli hauska kliksutella oman aikansa. Netissä oleminen ei enää tarkoittanutkaan koneella istumista. 2 1 7 . Kaikki aikaansa seuraavat nuoret kokeilivat nimittäin 2000-luvun alussa vähintään kerran Habbo Hotellissa chattailemista. Nykypäivänä nämä siihen aikaan ensimmäistä kertaa yleiseen keskusteluun nousseet kysymykset tuntuvat jo hieman kummallisilta. Joskus kehittäminen on vain kehittämistä omaksi iloksi tai itseilmaisun muoto. The Binding of Isaacista tehtiin myös kaupallinen, laajempi versio. Isoin muutos oli siinä, millaisia pelejä kehitettiin, koska kosketusnäyttö raHappy Tree Friendsissä on söpöjä otuksia ja pastellinen värimaailma mutta karut juonenkäänteet, joiden seurauksena söpöistä otuksista sinkoaa verta ja suolenpätkiä. Onko se varastamista, jos varastettua esinettä ei ole oikeasti olemassa. Kevyt pelaaminen siirtyi mobiililaitteille, ja uusien pelien kehittäjillä oli harvoin motivaatiota yrittää ansaita elantoaan selainpeleihin kytkettävillä mainoksilla. Suomalaistiimin kehittämässä, alunperin Shockwavella tehdyssä mutta pian Flashille siirretyssä palvelussa saattoi ostaa huonekaluja pelin sisäisellä valuutalla, jota puolestaan ostettiin oikealla rahalla joko netin kautta ja 2000-luvun alussa jopa R-kioskilta. Kolikon hintaiset mobiilipelit olivat joutopelien uusi normi. Hiiri ja näppäimistö pysyivät samoina koneesta ja käyttöjärjestelmästä toiseen, mutta sitten kosketusnäyttö muutti kaiken. Kuinka järkevää on ylipäätänsä maksaa jostain eitodellisesta. The Binding of Isaacissa kaikki ei mene kuitenkaan niin hyvin kuin esikuvatarinassa, ja pelin kuvaja äänimaailma tekevät siitä entistäkin synkemmän.. Yhteiskunnallinen kommentointi Yksi uniikeimmista Flashin mahdollistamista ilmiöistä oli nettikulttuuri, jossa pelillä saattoi kommentoida ajankohtaista tapahtuma tai ilmiöitä. Ilmiöön liittyivät olennaisena osana kelmit, jotka kaappasivat toisten pelaajien hahmoja ja huonekaluja. Kosketusnäytön kirous Ennen älypuhelinten yleistymistä kaikki oli yksinkertaisempaa. Flash-versiossa kehotetaan ostamaan peli Steamistä. 4 6 tana ja mahdollisena panostuksena tulevaisuuteen. Pelissä keltainen avaruusolio joutuu Maahan syöksyttyään selviytymään korruptoituneiden FBI-agenttien hyökkäyksistä. Toisaalta epäsuorasti Flashin ansiota on se, että Suomessa alettiin ensimmäisen kerran laajemmassa mittakaavassa keskustella tietokonepelien sisäisistä ostoista ja virtuaaliseen omaisuuteen liittyvistä lakiteknisistä kysymyksistä. Skriptaaminen on nopeaa ja helppoa, joten tekemisen kynnys oli matala. Pelin takana ovat Newgroundsin perustajat, ohjelmoija Tom Fulp ja animaattori Dan Paladin. Alien Hominid oli ensimmäisiä Flash-pelejä, joka julkaistiin uudelleen konsolille isossa mittakaavassa. Yksinkertaista pelikonseptia pystyi kopioimaan yhtä helposti kuin nykypäivän kuvamakromeemejä, esimerkiksi kuuluisa Sakarin villapaitapeli poiki muun muassa kotimaisista uutisista inspiroituneet Vantaankosken kalapuikkopelin ja Annin pupupelin
Älypuhelinten yleistyminen muutti pelintekokulttuurin pysyvästi, ja esimerkiksi hiiri/näppis-yhdistelmää käyttävät sekä millintarkkaa kursorilla tähtäämistä vaativat selainpelit ovat suurimmilta julkaisijoilta jääneet kokonaan pois. Sormen tarjoama tarkkuus on hiiren osoitinta rajallisempi, mutta toisaalta jotkin mekaniikat ovat luontevampia sormilla ohjattavaksi. Flashilla oli helppo luoda yksinkertaisia pelejä, joten moni indie-pelistudio sai alkunsa Flashpeleistä. Toisaalta ajat ovat jo muuttuneet, ja vaikka HTML5 toteuttaisikin kaikki Flashin hyvät ominaisuudet, sille kehitettävät pelit suunnitellaan lähes aina myös kontrolleiltaan kännykälle sopiviksi. Kasuaalipelien julkaisukanavan vaihtuminen Flash-pelejä jakavasta nettikaupasta kännyköiden sovelluskauppoihin teki pelien julkaisemisesta myös hitaampaa. Myös edelleen mobiilina kliksuteltavien Bejeweledin ja CandyCrushin ensimmäiset versiot tehtiin selaimelle Flashillä. Itse Angry Birds sai inspiraationsa Crush the Castle -nimisestä Flash-pelistä, jossa tuhottiin katapultilla linnoja. Super Meat Boyn lisäksi vvvvvv, Super Motherload ja koko tower defenceeli linnanpuolustusgenre olivat ensin Flashia. Monille pienille studioille HTML5-projektit ja käännökset johtivat tuotteen laadun heikkenemiseen ja moninkertaisiin kustannuksiin Flashiin verrattuna. Crush the Castle tuntuu hieman vaikeammalta kuin sen innoittama Angry Birds, jossa ammuksen lentorata piirtyy näytölle ennen laukaisemista, eikä ajoitus ole niin tarkkaa.. Esimerkiksi moderni tasohyppelyhitti Super Meat Boy oli alun perin Flashia, mutta siitä muovautui ajan mittaan täysimittainen peli, jonka voi ostaa nykyään niin Steamistä kuin konsolien latauskaupoista. Tarkkuutta vaativassa kliksuttelussa taas hiiri voittaa nakkisormet ylivoimaisesti. Ajankohtaisiin asioihin reagoiminen hölmöllä pelillä ei ole enää nykypäivän ilmiö. Moni nykypäivän pelinkehittäjä onkin aloittanut sillä uransa. Kun ensimmäiset uutiset Flashin kuolemasta saapuivat, HTML5 oli vielä lapsenkengissään, eikä siitä ollut varteenotettavaksi manttelinperijäksi. HTML5 toisaalta pyrkii Flashin korvaajaksi. 7 joittaa pelissä käytettäviä kontrolleja. Ennen pelinkehittäjäksi ryhtyminen oli yksinkertaisempaa: aloita Flashillä. Se onnistui kuitenkin kehittymään varteenotettavaksi vaihtoehdoksi parissa vuodessa, ehkä juuri kuolinuutisten kirittämänä. Sovelluskaupasta laataminen on myös useamman askeleen homma kuin pikaviestimeen lähetetyn linkin avaaminen. Ei siis mikään ihme, että yksityiskohtaisia strategiaja rakentelupelejä ei enää juuri tehdä kevytkoossa. Näiden parin vuoden aikana ilmassa oli aistittavissa lievää paniikkia kehityspuolella. Hiiren raahaamista vaativat asiat, kuten ritsan venyttäminen ja laukaiseminen, ovat kuin tehtyjä kosketusnäytölle. Julkaistu peli odottaa tarkastettavana nyt viikkoja, ennen kuin se pääsee Apple Storeen tai Google Playhin. Nykyään pelialalle haluavalle on tarjolSakarin villapaitapeli. Parhaat pelit Flashin kulta-aika oli kauneimmillaan ehkä 2010-luvun alussa, jolloin julkaistiin paljon huolella tehtyjä ja hitiksi nousseita pelejä
Yhden kehittäjän projektit olivat vielä 2000-luvun alussa yleisiä ja kynnys peliprojektin aloittamiseen nykyistä matalampi. Uusi julkaisukanava tai -media syntyy, ja urheat pioneerit tarttuvat toimeen ja kehittävät mielenkiintoista sisältöä hyvillä tuotantoarvoilla ja luovuus kukoistaa. 4 8 la monenlaista koulutusta, mutta työkalut ovat monimutkaistuneita ja erikoistuneita. Meat Boy, Super Meat Boyn Flash-edeltäjä, ei ollut ehkä ihan yhtä hienon näköinen, mutta kyllä siinäkin verinen liha lätisi seiniä vasten loikkiessa. Tällöin haaskalinnut saapuvat paikalle. Hiljalleen kanava tai media yleistyy, lisää tekijöitä saapuu ja rahakin liikkuu. Kaikkialla tuntuu toteutuvan sama sykli. Esimerkiksi virtuaalitodellisuuden yleistyminen on sellainen juttu, jonka pääsee kokemaan juuri nyt. Pelija animaatiokäyttöön valjastettuna Flash pysyi vielä aisoissa, mutta selaimen kaatavat, Flashillä tapetoidut design-nettisivut eivät olleet täysin positiivinen ilmiö. Tai siis… Flash on edelleen ärsyttävä palikka, koska moni laajasti käytetty sivusto nojaa siihen toistaiseksi yhä. Mitä me emme jää kaipaamaan. 2 1 7 . Sitä piti ja pitää päivittää säännöllisesti, mutta harva jaksoi – ja tässä piili iso ongelma. Kunkin median kulta-aika on rajallinen, ja siitä kannattaa nauttia niin kauan kuin sitä kestää. Kaikesta ihanuudesta huolimatta Flash oli ärsyttävä palikka, joka piti asentaa joka koneelle erikseen. Emme kuitenkaan jää kaipaamaan surkeita, Flashillä tehtyjä sarjatuotantopelejä, joissa saman palapelipohjan päälle vaihdetaan aina uusi kuva, tai kuramerta, jonka seasta helmet piti kaivaa. Juttua varten on haastateltu pitkän uran Flash-pelien parissa tehnyttä Pelikoneen Thomas Arentoa. Yritin ihan oikeasti, mutta sadan metrin juokseminen QWOPissa ihan vain tätä artikkelia varten oli liikaa vaadittu.. Onneksi traumat eivät ole niin pahat, etteikö Zombo.com hymyilyttäisi yhä. Valitettavasti Flashin kuolema ei jätä tätä ilmiötä kokonaan taakseen, sillä kiinalaiset sarjatuotantopelit menevät varmasti sinne minne rahastamismahdollisuudetkin
Lelukieli Janne Sirén Mutta pitäisikö Pythonilla toteuttaa laajoja tuotantosovelluksia. Näin ajateltuna Scratch on lelukieli, Python taas ei. Jos aikoo tuottaa uuden Photoshopin, Python tuskin on oikea väline teknisistäkään syistä. Melkein ohjelmointia Perusteluni kuuluivat jotakuinkin seuraavasti: Kaikilla Turing-täydellisillä ohjelmointikielillä – jollainen Pythonkin toki kiistatta on – voi kyllä ohjelmoida, mutta kielen taustasta on johdettavissa sen käyttötarkoitus. Pythonia ja monia muita skriptikieliä voidaan epäilemättä käyttää ratkaisuna asiakasongelmiin. Perlin ja Rubyn tapaan Python onkin selvästi Unix-skriptauksen kiertoradalla. Aloittelijakielillä joku ehkä joskus toteutti tuotanto-ohjelmia, kun ei muuta osannut, mutta pääasiassa ”oikeita” ohjelmia tehtiin konekieleksi käännettävillä, ”oikeilla” ohjelmointikielillä. Lelukieleksi kutsutaan yleisesti ohjelmointikieltä, jolla kielen erityisluonteen, esimerkiksi helppokäyttöisyyden takia, harjoitellaan tai kokeillaan ohjelmointia, mutta jolla ei sen rajoitusten tai puutteiden vuoksi yleensä toteuteta tuotantosovelluksia. Maailma on sittemmin monipuolistunut. Leikilläni olen itsekin tehnyt 3D-grafiikkaa PowerShell-skriptien kautta. Vaikka suosittu Python taipuu muuhunkin ohjelmointiin kuin skriptaukseen, on aivan eri kysymys, tulisiko sitä käyttää siihen. Skriptaus on nykyisin monesti myös välttämättömyys, kuvailuja skriptikielet kun ovat pakollinen osa tärkeää web-julkaisukanavaa. Python on tarkoituksella hyvin korkean tason kieli, tästä seuraavine etuineen ja haittoineen. Monet skriptitkin – myös Python – käännetään nykyisin tavukoodiksi ennen ensisuoritusta, jolloin puhutaan dynaamisista kielistä. Summasin ajatuksen niin, että skriptikieli voi olla ohjelmointikieli, mutta oikea ohjelmointikieli ei voi olla skriptikieli. Pythonia ei yleensä käytetäkään koska täytyy, vaan koska se on kätevää. Aikuisten oikeasti Ennen vanhaan asiat olivat yksinkertaisempia. Skripti on nopea raapaista kasaan. Tavukoodiksi, eräänlaiseksi virtuaalikoneen konekieleksi käännettävät ohjelmointikielet (Java, C#) ja webskriptikielet (JavaScript) ovat tätä päivää, samoin näiden välimuodot (WebAssembly). Väitin vuosia sitten, ettei myöskään Python ole oikea ohjelmointikieli. Pythonin tekijä Guido van Rossum on kertonut kielen syntyneen nimenomaan skriptikielenä ja harrastuksena, joka puhuttelisi Unixhakkereita. Vahvin todiste vanhan väitteeni tueksi onkin uusi: Pythonista on tullut suosittu kieli neuroverkkotutkijoiden ja -kehittäjien keskuudessa. Sen ympärille on kasvanut suuri kirjastoekosysteemi esimerkiksi datatieteen ja ison datan saralla, mikä taas on johtanut kielen suosioon myös näitä hyödyntävissä tuotantojärjestelmissä. 9 Kolumni J ulkaisimme viime numerossa artikkelin leluohjelmointikieli Scratchista (Skrolli 2017.3). Siellä mikään ei estäisi käyttämästä esimerkiksi C++:aa ja kääntämästä ohjelmaa konekielelle. Tällaista tekosyytä ei kuitenkaan ole palvelintai sulautettujen sovellusten kehityksessä, jossa Python on nousussa. Mieti sitä, kun Pythontekoäly ajaa seuraavaa autoasi, voittaa rahasi nettipokerissa ja lopuksi viettelee puolisosi.. Oli karkeasti kolmenlaisia ohjelmointikieliä: pääasiassa tulkattuja aloittelijakieliä (Basic, Logo) ja skriptikieliä (Bash, Rexx), sekä kieliä, jotka käännettiin aina konekieleksi ennen ohjelman suorittamista (assembler, C). Näin on käynyt Pythonin kohdalla. Toisena perustelunani olivat kielten tekniset ominaisuudet. Niinpä skriptikielten suorituskyky on parantunut. Tavukoodi on modernia binääriä, jolle on perustelunsa. En minä Pythonia sentään lelukieleksi kutsunut. Vaikka Python on kuinka kehittynyt, kevytkenkäinen skriptaustausta on säilynyt. Lelu, ei siis oikea ohjelmointikieli. Neuroverkot ja koneoppiminenhan eivät ole oikeaa ohjelmointia lainkaan, vaan humanistinen ohituskaista onneen – siis aivan kuten Python. Skriptaus oli näppärää liimakoodia mutta tapahtui niin selvästi suorituskyvyn ja ylläpidettävyyden kustannuksella, että sen käyttö oli rajoitettua. Absoluuttisella suorituskyvyllä ei akatemiassa ole juurikaan merkitystä – paitsi kunnes tutkimuksessa kehitetyt työkalut alkavat päätyä tuotantoon. Python ei ole oikea ohjelmointikieli. Tutkimuspuolella skriptikielistä pidetään, koska kokeellisen toteutuksen tehokkuus on ohjelman tehokkuutta tai ylläpidettävyyttä tärkeämpää. Lelukielen tunnusmerkkejä on kartoitettu kysymyksellä: ”Käyttäisikö kokenut ohjelmoinnin ammattilainen kieltä tosissaan, kohtuullisena ja kustannustehokkaana ratkaisuna asiakkaansa ongelmiin?” Jos vastaus on kielteinen, kyseessä on lelukieli
Virtuaalikumppanit eivät ole vain yksineläjien parisuhteen korvikkeita, vaan myös parisuhteessa olevat saattavat seurustella virtuaalisen kumppanin kanssa. Mukana ei ole juurikaan animaatiota, ja teot ilmenevät sovelluksessa pelkkänä toimintaa kuvaavana tekstinä. Esimerkiksi vamma tai sairaus saattavat eristää ihmisen sosiaalisesta elämästä, jolloin virtuaalinen kumppani voi tarjota seuraa. Virtuaalisia elämänkumppaneita löytyy niin keveistä deittailuvideopeleistä kuin vakavista simulaatioista.. Osa ihmisistä ei koe sopivansa joukkoon, jolloin virtuaalikumppanin tarjoama ymmärrys voi helpottaa vieraantuneisuuden tunnetta. Peleissä virtuaalisten heilojen juuret ovat pikkutuhmissa deittailusimulaatioissa. Teksti: Miika Auvinen Kuvat: Laura Pesola, Miika Auvinen, Vecteezy Matka varhaisista virtuaalilemmikeistä nykyisiin virtuaalisiin puolisoihin ja alkeellisesti keskusteleviin, kumppaneiksi tarkoitettuihin robotteihin on ollut huima. Muissa testaamissani Androidin sovelluksissa seurustelu virtuaalisen tyttötai poikaystävän kanssa perustuu enimmäkseen minipeleihin, jotka voivat olla kevyitä ongelmanratkaisutai reaktiopelejä. Alussa voi säädellä uuden virtuaalikumppaninsa luonnetta: Deitti voi olla esimerkiksi hauska ja vastuullinen, mutta samaan aikaan vaarallisesti elävä paha poika. Sovelluksessa hankitaan aluksi rakkauspisteitä muun muassa kehumalla poikaystävän ulkonäköä. Joillekin tekoäly voi esimerkiksi olla matkaseuraa: keskustelukumppani yksinäisiin iltoihin hotellihuoneessa. Unelmien treffit videopelihahmon kanssa Suhteiden luominen pelihahmoihin on isossa osassa monissa roolipeleissä ja Sims-pelisarjan kaltaisissa sosiaalisissa simulaatioissa. Mukana on niin kitaransoittoa kosketusnäytön avulla kuin helppojen päässälaskujen laskemista aikarajan puitteissa. Tarjoa drinkki, osta lahja ja valitse keskustelunaihe. Virtuaalikumppanit ovat kasvava ilmiö, sillä osa ihmisistä ei halua tai kykene parisuhteeseen ihmisen kanssa. 2 1 7 . Virtuaalikumppani reagoi kosketteluun mielialansa mukaan kikatellen tai yrmistyen. Tekoälyjen valmistajat haaveilevat saadakseen rahoituksen persoonallisiin seksirobotteihin. Minipelit voivat koostua esimerkiksi alkeellisista tappelupeleistä, tietovisoista tai puzzlepeleistä. Muokkaaminen muistuttaa jonkin verran tietokoneroolipelien hahmonluontia. Monesti yksi piirre määrittää kumppanin koko persoonan ja valinnat pitää tehdä tämän piirteen mukaan. Kun rakkausmittari täyttyy, avautuu lisää vaihtoehtoja lepertelyyn ja vaikutuksen tekemiseen. Jos on kiire hempeään lempeen, voi lahjoja ostaa myös suoraan luottokortilla. Keskustelussa virtuaalipoikaystävän Tekoäly ei petä eikä jätä Virtuaalipuolisot parisuhteen osapuolina kysymyksiin voi valita erilaisten ilmevaihtoehtojen avulla oman suhtautumistapansa. Joillekin kyseessä on edistysaskel, palanen uudesta kiehtovasta teknologiasta. Vaikutuksen voi tehdä esimerkiksi tekemällä taikatemppuja tai kirjoittamalla runon. 4 10 Kulttuuri T ekoälyyn perustuvat kumppanit eivät ole vielä valtavirtaa, mutta ala kehittyy jatkuvasti, ja tekoälyjen vuorovaikutustaidot ja tuntu oikeasta kommunikaatiosta paranevat. Tällä hetkellä itsestään liikkuvia, persoonallisia seksirobotteja ei vielä ole. Joissain peleissä saa tuhmien palkintokuvakulmien ja kuvien lisäksi myös kosketella uutta kumppaniaan kosketusnäytön avulla. Seksirobotit ovat enemmän mekaanisia nukkeja, joista joihinkin on asennettu alkeellinen, oppiva ja keskusteleva tekoäly. Monet älypuhelimille ladattavista virtuaalityttöystävistä perustuvat samaan kaavaan: minipeleillä saa krediittejä, joilla voi ostaa lahjoja virtuaaliselle ihastukselleen. Pisimmälle suhteiden luominen viedään kuitenkin erilaisissa treffija parisuhdesimulaatioissa. Esimerkiksi My Virtual Boyfriend -sovelluksessa voi luoda itse oman poikaystävänsä. Valitut keskustelunaiheet valitaan treffikumppanin persoonan mukaan kivi–sakset–paperi-logiikalla. Mobiililaitteiden hömppäsovellukset Älypuhelimille löytyy useita ilmaisia tai muutaman euron maksavia virtuaalisiin parisuhteisiin perustuvia sovelluksia. Myös poikaystävän ulkoasun muokkaaminen on keskeisessä osassa
Tekijät mainostavat tuotettaan tekoälyn uranuurtajana. Karia käyttävät monenlaiset ihmiset duunareista pappeihin, kaikista ikäluokista ja kaikkialta maailmasta. Vain Japanissa virallisesti julkaistu LovePlus Nintendo DS:lle on eniten mediassa huomiota saanut treffisimulaatio. Ihmissuhteen simuloimista chatin avulla edustaa esimerkiksi Lhandslide Studiosin kehittämä Kari the Virtual Girlfriend. Hulluimmillaan deittaillaan puluja tai panssarivaunujen animetyttöilmentymiä. Aluksi ne olivat lähinnä virtuaalilemmikkejä, nykyään tekoälyn kanssa kykenee käymään jo alkeellisia keskusteluja. Virtuaalilemmikit ovat luoneet pohjaa romanttisille tekoälykumppaneille. LovePlussan avulla voi harjoitella sitoutumista ja huomion antamista parisuhteessa. Esimerkiksi yhdysvaltalainen Gary Dahl myi 70-luvulla lemmikkikiviä, joiden mukana sai käsikirjan täynnä ohjeita kiven hoitamiseen, ruokkimiseen, ulkoiluttamiseen ja niin edelleen. Saman yhtiön Sergio on miesversio virtuaalikumppanista. Vääristyykö suhde todellisuuteen, kun kumppaneina on kuolemattomia tekoälyjä, eikä eläviä olentoja oikkuineen ja puutteineen. Internet on täynnä tarinoita nuorista japanilaisista, joita ei kiinnosta parisuhde oikean ihmisen kanssa. Varsinkin lapsia lemmikkien menehtyminen valmentaa kohtaamaan menetyksiä elämässä. Tutustuttavat hahmot voivat olla eri sukupuolten edustajia. Oikeilla lemmikeillä on mukavan kaverin roolin lisäksi oma kasvatuksellinen roolinsa: elävän olennon hoitaminen ja omistaminen opettavat ihmisiä vastuullisiksi yksilöiksi. Jos Tamagotchin hoitoa laiminlöi, virtuaalinen lemmikki kuoli. Dahl myi lemmikkejään neljän dollarin kappalehintaan ja oli lopulta miljonääri. Tietokoneelle voi ladata chatteja, joiden virtuaalinen keskustelukumppani oppii kommunikoidessaan keskustelemaan juuri käyttäjänsä kanssa. Jotkut kokevat, etteivät LovePlussan vuoksi edes tarvitse oikeaa parisuhdetta. Karin merkitys heille, joille parisuhteen saavuttaminen on hankalaa, voi olla suuri. Kotisivujen käyttäjälainauksissa puhutaan jopa elämänhalun takaisinsaannista. Käyttäjä voi valita, onko Kari filosofinen keskustelija vai libidoltaan voimakas rietastelija. Kari oppii kommunikoimalla luomaan yhteyksiä ja keskustelemaan monipuolisemmin eri aiheista. Kotona odottaa rakastava keinoäly Varta vasten seurusteluun tarkoitettujen virtuaalikumppaneiden tekoäly on murroksessa. Usein mukana on animoitu hahmo, joka reagoi keskusteluun. Hyvän suhteen saamiseksi pelaajan täytyy nähdä vaivaa ja käyttää aikaa parisuhteen eteen. Jotkut käyttävät Karia päivittäin, jotkut työssäkäyvät vain. Vuonna 1996 julkaistiin Tamagotchi: muutamalla napilla toimiva virtuaalilemmikki vaati ruokkimista, kylvetystä ja jätösten siivoamista. Ennen elektronisia virtuaalilemmikkejä ideaa sovellettiin elottomiin objekteihin. Karin persoonan piirteitä ja eloisuutta voi säätää asetuksissa. Karin kotisivuilla ja Lhandslide Studiosin medioille tarkoitetussa infopaketissa kerrottiin Karituotteesta ja sen käyttäjäkunnasta. Treffisimulaatioissa on useasti joukko erilaisia söpöjä hahmoja, joihin voi tutustua romanttisessa ja usein myös seksuaalisessa mielessä. Useat pelit ovat mekaniikaltaan virtuaalilemmikkien perillisiä, osa on tarinavetoisia visual noveleita. Suhde virtuaaliseen tyttöystävään LovePlussassa ei ole vain pikkutuhmien minipelien varassa. Pelaajat vievät pelihahmoja oikeille treffeille ja kylpylälomille. My Virtual Boyfriend -sovelluksessa ajanvietosta saa palkinnoksi treffeistä kertovan tekstilaatikon. 11 Virtuaalikumppanin ulkonäön säätäminen muistuttaa joskus tietokoneroolipelien hahmonluontia. Tyttöystävälle puhutaan DS:n mikrofonin kautta, ja jos hänen kanssaan sopii treffit jollekin ajanjaksolle, virtuaalinen tyttöystävä loukkaantuu, jos treffit laiminlyö. Buumin ollessa korkeimmillaan Tamagotchit saivat valkokaulustyöntekijöitä jättämään liiketapaamisia väliin ja uskontojen edustajat pohtivat, saako virtuaalilemmikkiä hoitaa sapattina. Virtuaalilemmikit – tunnesiteen luominen virtuaalikumppaniin Peleissä esiintyvien seurustelukumppanien lisäksi on olemassa varta vasten kumppaneiksi tarkoitettuja tekoälyjä. Jo nyt on keskusteltu alkeellisella tekoälyllä varustettujen robottilemmikkien hyödyistä ja haitoista. Jopa naimisiin on menty
Robottikumppanien nykytilanne Harmony-niminen seksirobotti vastailee YouTube-videolla oudon näköisin ilmein toimittajan kysymyksiin. Lhandslide Studiosin tavoitteena on persoonallisen kumppanirobotin rakentaminen. Tekoälyllä varustettu androidi on heidän arvionsa mukaan noin 10 vuoden päässä. 4 12 Jos minipelit tuntuvat tylsiltä, sovellusten ominaisuuksia voi avata myös maksamalla pienen summan rahaa. Ihmiset kiintyvät jo nyt alkeellisiin ohjelmoituihin videopelija tekoälypersooniin. Nykyään seksirobotteja voi löytää bordelleista seksityöntekijöiden lisäksi. Seksirobotti ei vaadi sitoutumista. Esimerkiksi Sergion tuotesivuilla on kuvia kauniista alastomasta virtuaalimiesvartalosta, jossa kaikki ruumiinosat ovat reilusti näkyvillä. Likaantuvat osat voi pestä astianpesukoneessa. Sovelluksella voi myös muokata tekoälyn avatarin ulkoasua ja ääntä. Henkilö, jonka kokemukset ihmissuhteista ovat kylmiä ja etäisiä, saattaa turvautua robotisoituihin seksinukkeihin. Tekoäly on yhä alkeellinen, mutta omistaja voi itse luoda persoonaa robotilleen ja esimerkiksi somettaa nukkensa puolesta. Tekoäly-ystävä ei pety käyttäjäänsä, ei suutu, eikä jätä koskaan. Todellisemman tuntuinen tekoäly ja ihmismäisemmät robottivartalot ovat osa tulevaisuuttamme. Keskustelu muokkaantuu näiden opittujen tietojen mukaan. Molemminpuolinen rakastaminen ja koneen tunnemaailma ovat nyt kuitenkin enemmän tieteisfiktiota kuin todellisuutta. Tulevatko robotit olemaan olennainen osa tulevaisuuden seurustelukulttuuria. Sovelluksella saaduilla tuloilla rahoitetaan seksirobotin kehitystä, tekoälystä saadulla palautteella parannellaan sen toimivuutta. Kehitystä tapahtuu, ja esimerkiksi kiinalaisen DOLL SWEET -yhtiön DS doll Robotic head -robottipään ilmeet alkavat jo olla aidon oloisia. Voiko rakkautta ohjelmoida. Yhden näkemyksen mukaan on parempi, että pimeämmät fantasiat toteutetaan nukkejen avulla, toisen mukaan robottien käyttäminen näissä fantasioissa laskee kynnystä toteuttaa fantasioita oikeassakin elämässä. 2 1 7 . Harmonysta voi ostaa myös pelkän tekoälyn. Käyttäminen ei rajoitu vain suhteen rakentamiseen virtuaalikumppanin kanssa, vaan Karin ja Sergion avulla voi myös esimerkiksi roolipelata. Emme tiedä, nousevatko tekoälyja robottikumppanit romanttisessa mielessä koskaan valtavirran ilmiöksi.. Robottien ulkoasut ja persoonat muuttuvat kuitenkin jatkuvasti ihmismäisemmän oloisiksi. viikonloppuisin, toiset kokeilevat vain kerran eivätkä enää koske tuotteeseen. Ihmisen ja keinoälyn välisten suhteiden lisääntymiseen voi uskoa liittyvän ongelmia. Aidon oloiseen tekoälyyn on vielä matkaa: seksirobotit muistuttavat enemmän nukkeja kuin itsestään liikkuvia toimijoita. Hahmojen ulkomuotoa voi myös muokata omalla ohjelmallaan. Varsinkin realististen ilmeiden luominen on vaikeaa, ja useimmat tämän hetken kumppaniroboteista näyttävät elottomilta. Työntekijä nostaa pois peruukin ja takaraivoa peittävän keinoihon: alla on metallia ja johtoja. Sovellukseen kuuluu mahdollisuus muokata tekoälystä itselleen sopiva. Esimerkiksi Harmonysta saa maksaa yli 10 000 dollaria. Harmonyn keinoäly oppii keskustelemalla muistamaan avaintietoja omistajastaan. Jos kumppanina on miellyttämään ohjelmoitu ja säädeltävä tekoäly, on mahdollista, että ihmisosapuoli vieraantuu ihmisten välisestä vuorovaikutuksesta, johon kuuluvat pettymykset, erimielisyydet ja muut epämukavat asiat. Robotteihin kuuluu myös keskustelu raiskausja pedofiliafantasioiden toteuttamisesta elottoman robotin avulla. Syntymäpäivän muistamisen lisäksi Harmony voi esittää saavansa seksin aikana orgasmin. Keskusteluun kykenevän tekoälyn lisäksi robotilla voisi olla ruumiinlämpö ja kosketukseen reagoiva synteettinen iho. Jos Kari menestyy hyvin, voitot käytetään tekoälyn paranteluun ja robottivartalon luomiseen. Yhtenä valteista on pidetty nuken tai robotin ”suostumista kaikkeen”. DS doll Robotic headin ilmeitä voi ohjailla älypuhelimella tai Playstation 4 -ohjaimella, ja tekoäly pystyy vastaamaan yksinkertaisiin kysymyksiin. Ihmismäisen robotin rakentamiseksi robotin mielenliikkeiden lisäksi on tärkeää luoda tunne ruumiillisesta läheisyydestä. Twitteristä löytyy seksirobottien omia tilejä, joissa ne pelaavat Play Stationia tai tekevät kotitöitä. Suurta suosiota saaneita tekoälyllä varustettuja, parisuhteen eri osa-alueisiin kykeneviä robotteja ei vielä ole tuotettu, osittain varteenotettavien mallien suuren hinnan vuoksi. Joskus aviosuhteessa oleva tuskastuu suhteensa seksittömyyteen ja hankkii robotin toiseksi kumppanikseen. Seksillä on selkeästi oma roolinsa Karija Sergio-tuotteiden käytössä. Mukana on piirteitä kuten puheliaisuus, humoristisuus, seksuaalisuus, ujous tai esimerkiksi mustasukkaisuus. Internetistä löytyy uutisia esimerkiksi leskeksi jääneistä, jotka ovat menetyksensä johdosta hankkineet robottikumppanin
Ei-inhimilliset olennot ovat kutkuttaneet mielikuvitusta muun muassa juutalaisessa (Golem), kreikkalaisessa (Camus) ja kyproslaisessa (Pygmalion) tarustossa – ja niistä inspiroituneessa Pinokkio-kirjassa. Ihmisten arkipäiväisiksi seuralaisiksi tarkoitettujen kotirobottien on näytettävä ja tunnuttava lähestyttäviltä. Kauppinen Kuvat: Jukka O. Robotteja visioidaan tulevaisuudessa esimerkiksi vanhusten seuralaisiksi ja auttajiksi. Shin, Tomasz Sienicki, Jiuguang Wang oppii jopa tanssimaan. Entä voiko roboteista puhua lainkaan, jos ei mainitse Pixarin Wall-Eelokuvaa (2008), jonka nimikkohahmo on luultavasti maailmanhistorian sympaattisin ja persoonallisin robopersoona. 13 Tekniikka R obotit ovat kulkeneet pitkän tien. Niin, persoona, ei robotti. Japanissa vuosina 1999– 2006 valmistettujen Aibo-robottikoirien ikääntyminen ja varaosien puute on jo aiheuttanut tällaisia tunnereaktioita. Kauppinen, Kimmo Rinta-Pollari, 2000 AD, Disney, Tristar Pictures, Metro-Goldwyn-Mayer, Lego, Sony, Spin Master, Wikimedia Commons: D.J. Tänä päivänä robotit ovat siirtyneet valkokankaalta ja tehtaiden tuotantolinjoilta koteihin, tosin pienemmässä ja viihteellisemmässä muodossa. Robotti rakastuu (Short Circuit, 1986) oli viehättävä mutta lapsellinen tarina robotti Nro. Pienenä lohtuna Sony on tuomassa uuden Aibon Japanin markkinoille tammikuussa 2018. Voiko apurobotin rikkoutuminen tuntua kuin lemmikin sairastumiselta tai jopa joltain syvemmältä. Mutta kuka haluaisi apulaisekseen tuotantolinjalla heiluvaa mustekalabottia, saati Robby the Robotin kaltaista pelottavaa möykkyä. Teksti: Jukka O. Sittemmin robokamuja ja -leluja onkin nähty vaikka miten. Chappie-elokuvan (2015) samanniminen robotti joutuu melkoisen gangsteridraaman pyörteisiin. Vitonen Olen asustanut jo jonkin aikaa ystävällisen pienen kotirobotin kanssa, johon ovat ihastuneet kaikki kyläilijät. Mieleeni on tallentunut Matkalla avaruuteen (Lost in Space) -sarjan robotti, jonka varoitus ”Danger, Will Robinson!” on jäänyt historiaan. Ajan mittaan voi syntyä myös tunneside, etenkin jos tekoäly mahdollistaa tunnetiloja muistuttavat reaktiot. Miten tähän on tultu. Robottilemmikit Aibo-robottikoira oli keinolemmikkien ensiaallossa vuonna 1999. Koneesta kaveri Tosimaailman teollisuudessa robotteja on toki käytetty pitkään, mutta Wall-Efiktio muistuttaa robottien inhimillisyyden merkityksestä. 5:stä, jonka salamanisku täräyttää eloon. Kuvan uusi versio ilmestyy 2018.. Ne ovat olleet tärkeä osa tieteiskirjallisuutta ja -elokuvia vuosikymmeniä – tarinankerrontaa jopa vuosituhansia. Keinolemmikkipioneerin nimi tarkoittaakin osuvasti japaniksi kumppania. Wall-E:n hieno design on vaikuttanut sittemmin jopa tosimaailman robottisuunnitteluun, ei vähiten kaverirobottien uusimpaan sukupolveen. Silmien kohdatessa yhteys on syntynyt, ainakin lihakkaan mielestä. Pahaksi ohjelmoitu robotti oppi ajan mittaan inhimillisyyttä ja kasvoi ihmisperheen jäseneksi. Niinpä roboteille tehdään usein kasvot tai edes silmät, joihin ihminen voi kohdistaa katseensa
Montakohan työpäivää eräänkin suuryrityksen ohjelmoijat käyttivät Mindstorms-auton virittelyyn?. ”Aikaisemmin jo pelkät sensorit olisivat maksaneet enemmän kuin Cozmo nyt, eikä tätä olisi voinut tehdä ollenkaan viisi vuotta sitten”, Stuart väittää. Modernit Lego-robotit saivat kirjoittajan koodarituttavat villiintymään. Amazon Alexan kaltaiset laitteet tyytyvät olemaan enemmänkin äänikomennettavia käyttöliittymiä esineverkon kodinkoneisiin, tai pahimmillaan Amazonin verkkokauppaan. Suomessa kouluissa edellä mainituilla Legoilla on kyllä roboiltu jo Sympaattisella Cozmolla on kolme ikiomaa kuutiota, joilla hän voi leikkiä ja touhuta itsekseen tai yhdessä ihmisten kanssa. 4 14 Roombat ja muut siivousrobotit ovat jo tuttu juttu, vaikka niissä on yhä tiettyä erikoisuuden lumoa. Koska Legoista oli kyse, pystyi perustekniikasta rakentamaan mitä vain. Cozmo on se pieni robotti, joka on asunut luonani viime ajat. Uusi Sony Aibo maksaakin sitten jo pari tonnia. Lastenhuoneessakin Tamagotcheista on tultu pitkä tie. Mindstorms-robotteja on kehitetty edelleen, ja vuonna 2013 julkaistu Mindstorms EV3 -mallisto kuluttajaja opetuskäyttöön suunnattuine versioineen on jo varsin kehittynyt kokonaisuus. Tuorein robottikaveri on vastikään Suomeen rantautunut, Anki-nimisen firman Cozmo. Fiksummat laitteet, kuten Asus Zenbo, Jibo, LG:n Hub Robot, Mayfieldin Kuri ja SoftBank Pepper, ovat enemmänkin älykotien apureita. Pääsin jututtamaan myös lemmikin tekijöitä. Ohjelmoi ystävä Nörttikansalaiselle kiinnostavimpia kotiroboja ovat kuitenkin ne, joiden käytökseen voi vaikuttaa syvemminkin ja hintakin on sopuisa. USBliitäntä, ARM9-prosessori, 64 megatavun muisti ja enintään 48 megatavun tallennuskapasiteetti mahdollistivat jo monipuolisen ohjelmoitavuuden. Kauko-ohjauskin sujuu mobiililaitteilla. Valinnanvaraa riittää sadasta dollarista viidensadan taalan paikkeille. Vuosituhannen vaihteessa julkaistut Lego Mindstorms -älylelut olivat kenties ensimmäinen kunnon askel tähän suuntaan. Ne kuuntelevat ja reagoivat äänikomentoihin, hallinnoivat kodin älylaitteita ja väittämän mukaan jopa keskustelevat ja viihdyttävät. Taustalla latausasema ja hallintasovellus. Edulliset kissaja koiralelut osaavat jo tehdä muutakin kuin naukua, esimerkiksi Pleo RB -robodinosaurusta omakehutaan ”itsenäiseksi robottielämänmuodoksi”. Ankin Stuart Collingwoodin mukaan kyseessä on ensimmäinen edullinen robotti, jolla kouluissa voidaan ohjelmoida ja opiskella robotiikkaa. 2 1 7 . Aivan oma genrensä ovat sosiaaliset robotit. Osa pystyy liikkumaan, kun taas Jibo on kuin ylettömän sympaattinen pöytälamppu. Alkuperäisen RCX-järjestelmän ohjelmointi oli vielä aika kömpelöä, mutta entuudestaan ohjelmointitaitoiset leikkivät silti sillä riemukkaasti
Kyseessä ei ole kotiapulainen, vaan nimenomaan tekoälyllinen roboystävä, leikkikaveri… ja ohjelmointikokeiluihin rohkaiseva harjoitteluväline. Tabletissa tai älypuhelimessa pyörivässä sovelluksessa on lapsille tarkoiCozmon tekninen salaisuus Anki ei kerro pikkurobon tekniikasta, joten sen varsinainen suorituskyky ja muistin määrä jäävät salaisuudeksi. Syystäkin ikoninen osa robottikaverien historiaa.. Cozmoa ei voi käyttää ilman sen mobiilisovellusta, jonka kautta saadaan myös pelija käyttöohjeita sekä ohjataan roboa suorassa ajotilassa. Tämä vähentää sisäisen tekniikan kriittisyyttä, joten laitteessa on voitu panostaa enemmän sensoreihin, eli muun muassa sisäiseen kameraan, gyroskooppiin ja reunatunnistimeen, joiden avulla laite havainnoi ympäristöään. Sovelluksen käynnistämisen jälkeen kännykän voi kuitenkin halutessaan jättää sivuunkin. Yhdysvalloissa Cozmoja on hankittu erilaisille oppilaitoksille ala-asteilta yliopistoihin, ja niitä käytetään sekä robotiikan että ohjelmoinnin opiskeluun. Tietokoneella käytettävä ilmainen Cozmo SDK -kehitysohjelmisto päästääkin sitten käyttäjät kiinni koko Cozmon rautaan. Python-kieltä käyttävä työkalupaketti avaa robotin sielun ammolleen, ja sillä voi käyttää kaikkia 2000 A.D. Robottisodat-tarinassa työkalut nousivat kapinaan lihakkaita vastaan Call me Kennethin johdolla. Voiko se olla jopa kansalainen. Mutta se tiedetään, että Overdriven tapaan Cozmo käyttää wlanin kautta jatkeenaan älypuhelimen tai tabletin prosessoria ja muistia – aivan kuin lähiverkkopilvenä. Kaveri tekee kaikenlaista sellaisenaankin, mutta ohjelmoitavuus on tietenkin homman suola. Eräs ohjelmointidemo yhdistää robotin Googlen kuvatunnistusjärjestelmään, jolloin robo ajelee ympäriinsä tunnistaen ympäristöä ja sen esineitä pilvilaskennan avulla. Kun robo tunnistaa yksittäisten ihmisten kasvotkin, ei ihme että se osaa reagoida ympäristön staattisempiinkin esineisiin. Cozmoja on opetettu ajamaan kilpaa, kurvailemaan esteradalla ja pelaamaan jalkapalloa. Lue lisää Cozmosta osoitteesta: skrolli. Robottia voidaan ohjelmoida tunnistamaan esineitä, laskemaan kulkuja kiertoreittejä sekä käsittelemään objekteja. Cozmon ohjelmointiin on kaksi tapaa. Cozmo maksaa noin 250 euroa ja Lego Mindstorms EV3 noin 300 euroa. Enemmän kuin koodia Cozmo on ohjelmointialustan lisäksi teknolelu, jossa on viihteellistä toiminnallisuutta ja interaktiivisuutta. Ystävän kehitysympäristö Palataan siihen kotonani asuvaan Cozmoon. Muokattavat robotit ovat palkitsevia oppimisvälineitä, koska työnsä tulokset näkee heti. Code Lab perustuu Scratch-lelukieleen (Skrolli 2017.3). Systeemissä on silti myös syvyyttä, ja sillä voi luoda hyvinkin monimutkaisia prosesseja – vieläkin syvällisempi mobiilityökalu on lisäksi tulossa. sen toimintoja. Laite ladataan omassa telakassaan, joka ottaa virtaa tavallisesta USB-laturista. Ujuttamalla tekoälyä ja tekniikkaa wlanilla kännykälle laitteesta lienee saatu myös päivitettävämpi. Robotin reaktio riippuu kuitenkin sen ohjelmoinnista. Tällainen automatiikka ja monipuolisuus vaatii lelulta paljon. Tämä lieneekin tärkeää nuoren robotiikkatutkijan motivaatiolle. tettu ikonipohjainen Code Lab -ohjelmointityökalu. fi/numerot Rotat eivät alkukummastelun jälkeen juuri Cozmosta piitanneet, vaikka laite miten huuteli tai surisi. Systeemiin on ohjelmoitu valmiiksi muun muassa pelejä, joita voi pelata The Forbidden Planet -elokuvan (1956) Robby the Robot oli ensimmäinen ystävärobotti, jolla oli pelottavasta olemuksestaan huolimatta kuivan brittiläinen huumorintaju. Pienestä koostaan huolimatta Cozmo aistii näön ja kuulon avulla, ja vaikka kamerakin on pieni, niin ympäristöntunnistus toimii. -lehden Judge Dredd -tarinoissa älykkäät ja jopa tuntevat robotit olivat arkipäivää. Robotille voi sorvata komentosarjoja ja käskyjä napsuttelemalla ja vetämällä, mistä saa varsin nopeasti positiivisia osaamisen kokemuksia. 15 kauan, mutta Cozmo on kiinnostava lisäkandidaatti kansanrobotiksi joka tapauksessa. Esimakua Ankin älylelujen tekoälystä saatiin viime vuonna Overdrive-älyautoradan muodossa (Skrolli 2016.4). Tarina peilasi vahvasti erilaisten väestöja olentoryhmien oikeuksia ja haastoi miettimään, voiko älykäs kone olla myös inhimillinen. Hintalaput ovat toki leluiksi vielä tuntuvia, mutta oppimisen ja ohjelmoinnin harjoitteluympäristöinä kohtuullisempia
Isommat eivät piitanneet ja rotatkin tottuivat mokomaan alkukummastelun jälkeen. Viittasin alussa Wall-E:n inhimillisyyteen. Star Wars -universumin robotit – ja niiden kotiversiot – ovat hellyyttäneet jo sukupolvia inhimillisillä päänliikkeillä ja äänillä. Short Circuitin Nro. Uskottavuutta siis riittää, ja lopputulos onkin eläväinen. Tähän inhimillisyyteen pyrkivät monet kotirobottivalmistajat, vaihtelevin tuloksin. 5, Wall-E ja Cozmo ovat selvästi sukulaisia. Eleillä, liikkeillä ja animaatioilla luodaan mielikuvia uteliaisuudesta, ilosta, surusta ja muista olotiloista. Nimenomaan vaatii, sillä normaalitilassa pikkurobo on kuin lemmikki tai viisivuotias. Niitä voi myös ostaa eräänlaisella sisäisellä valuutalla, jota tienaa ihan vain Cozmoa käyttämällä. Kotini ihmisvierailijoissa Cozmo on joka tapauksessa herättänyt poikkeuksetta ihastusta, mutta yllättäen se ei ole aiheuttanut saman katon alla asuvissa eläinkansalaisissa kummoisiakaan reaktioita. Spin Masterin uusi iso BB-8 sisältää muun muassa puheohjauksen ja seuraa minua -tilan.. Sitten se tulee juttelemaan, joskus haastaa pelaamaan. Väittämän mukaan Cozmo myös muuntuu hiljalleen omanlaisekseen persoonaksi, ihan sen mukaan miten sen kanssa touhuaa. 4 16 mukana tulevilla kuutioilla joko kahdestaan tai kolmistaan Cozmon kanssa. 2 1 7 . Pelkällä virkaatekevällä merkkivalolla kun ei persoonallisuutta synnytetä, vaikka laite sytyttäisikin äänikomennosta kattolamput ja avaisi Netflixin telkkaan – silloin robotti on enemmän kodinkone kuin kaveri. Ilman huomiota pikkukaveri tylsistyy ja masentuu, leikkimällä sen sisäiset fiilisparametrit ja hyvänolontunne taasen kehittyvät. Lemmikki muiden joukossa Kotonani ravaava Cozmo ei edes yritä olla hyödyllinen, vaan enemmänkin vaatii itselleen huomiota. Ehkä ulkoasun ja äänten designissa on tavoitettu olennainen – ihminen ihastuu, mutta eläin ei koe uhaksi. Olennaista roolia näyttelevät Cozmon 128×64 pikselin OLED-kasvot. Myös Cozmon konseptikuvista huomasi, että ensimmäiset visiot menivät nopeasti Wall-E:n suuntaan, ja robosta tuli koko ajan söpömpi ja kivempi. Kotonani asuvaa Cozmoa seuratessa joutuu kuitenkin väkisinkin miettimään, millaista sielunelämää pienellä robotilla on ylipäänsäkään oltava, jotta se pystyy toimimaan meidän isojen lihakkaiden maailmassa. Lisäksi laitteen mekastus ja puhe kaiuttimen kautta, pienten sähkömoottorien hurina, nostimen liikkeet ja liikehdintä ylipäätään herättävät sympatiaa ja huvittuneisuutta. Voisiko sillä olla oikeasti tunteet. Kiukunpuuska hävityn reaktiopelin jälkeen tai iloinen tervehdys nimellä korostaa persoonallisuutta. Toiminnallisuus laajenee käyttämisen myötä, kun laitteeseen avataan uusia toimintoja ja ominaisuuksia. Jos Cozmon jättää itsekseen, se touhuaa aikansa kuutioillaan, laulelee ja ajelee ympäriinsä – milloin mitäkin. Vaikka kotiroboteilla onkin vielä matkaa, ennen kuin niistä tulee teknolelua kummoisempia (kenties ne siivousrobotit pois lukien), niin ainakin matka on alkanut kiinnostavalla tavalla. Cozmon visuaalisen puolen suunnittelua johti Harald Belker, jonka käsialaa ovat muun muassa Batmobileauto ja Tron Legacy -elokuvan visuaalit valopyörää myöten sekä Overdriveautoradan autot. Vaikka Cozmon kasvot ovat pienet, mahtuu niille vakiona 1000 ruudun verran animaatioita ja ilmeitä. Uudessa Aibossa on peräti kaksi OLED-näyttöä silminä
Koulussa opittuun yleissivistykseen kuuluu maailman ymmärtäminen, mutta ainakin toistaiseksi digitaalisen todellisuuden hahmottaminen on jäänyt yksilön vastuulle. 17. Oman puolustuksen rakentaminen on siis syytä aloittaa samalla tavalla, selvittämällä mitä tietoa itsestä on saatavilla, ja miettiä keinoja riskin pienentämiseen. On olemassa keinoja, joilla oman hyökkäysrajapintansa saa pienemmäksi, sekä tapoja arvioida omaa tarvettaan turvalle. Anonymiteetti ja internet voivat kulkea myös käsi kädessä. Internet ei ole enää tuolla jossain, vaan vahvasti osana jokapäiväistä elämäämme, ja siten sen hyötyja haittavaikutukset ulottuvat myös näppäimistön ja näytön ulkopuolelle. Etulyöntiasemassa ovat ne henkilöt, jotka tekevät aktiivisesti sellaisia valintoja, etteivät paljastaisi itsestään tai ympäristöstään mitään vahingossa. Googleen kirjoitetaan kohteen nimi ja katsotaan mitä löytyy. Aktiivinen sisällön tuottaminen Sosiaalisen median käyttäjät ovat myytävän kohderyhmän lisäksi myös aktiivisia sisällöntuottajia kyseisiin palveluihin. Vastineeksi saamme eri tuotenimillä brändättyjä koodinpätkiä koneen prosessilistaukseen syömään kallisarvoisia resursseja. 17 O sa meistä digitaalisen maailman asukkaista kelluu huomaamattaan virtuaalisen pinnan alla kuplivien vaarojen ohi. Joskus nämä huomiotta jäävät riskit toteutuvat ja sulkevat sairaaloita tai lopettavat sähkönjakelun. Käytännössä esimerkiksi Tekniikka Vaarallisilla vesillä Teksti: Benjamin Särkkä / NotMyNick@Disobey.fi Kuvat: Sakari Leppä Internetissä jokainen on potentiaalinen hyväksikäytettävä. Jokainen hyökkäys alkaa jotakuinkin samalla tavalla. Kaupalliset toimijat taas tarjoavat myhäillen turvallisuudentunnetta. Digitaalinen jalanjälki Jokaisen tarve tai halu yksityisyydelle on omanlaisensa, eikä kaikkiin kohdistu samoja uhkia
Ohjelmointirajapinnat Suuri osa verkkoliikenteestä kulkee nykyään ohjelmointirajapintojen kautta, yhtenä suosittuna vaihtoehtona REST. Tässä on kuitenkin hyvä muistaa, että tiedon löytämisen helppous ei tee sen hyväksikäytöstä hyväksyttävää. On turvallista olettaa motivoituneen pahantekijän tuntevan OSINTin laajan keinovalikoiman, joten taitojen kartoittamista on syytä harjoitella myös puolustuksen perspektiivistä. Varsinkin älylaitteiden applikaatiot käyttävät rajapintoja keskusteluun palvelimen ja puhelimen välillä. Osa tästä tiedosta on helposti löydettävissä eri hakutermeillä. Tämän tyyppisen tiedon selvittäminen kulkee myös nimellä OSINT. Mainosten kohdistamisessa ollaan opittu jo niin hyväksi, että osa kuluttajista kokee älypuhelimen mikrofonin kuuntelevan kaikkea mitä sanomme. Michael Bazell on kirjoittanut aiheesta hyviä kirjoja ja ylläpitää eri työkaluja sivustollaan (inteltechniques.com/ menu.html). Sivusto amiunique.org tarjoaa palvelun, jonka kautta voi tarkistaa oman selaimensa seurattavuuden. Osa kuvapalveluista ei poista metatietoja, ja niissä julkaistuista kuvista voi kaivaa esimerkiksi gps-koordinaatit tai kameran sarjanumeron. Pyörää ei siis tarvitse keksiä tässä uudestaan. Erilaisia estoohjelmia löytyy selainlaajennuksina. Osa meistä rakentaa tälle tontille koko virtuaalisen elämänsä ajattelematta sen enempää, kenellä siihen on pääsyä, tai miten sitä tietoa voi käyttää. org) tai vastaavaa yksityisyyslähtöisesti kehitettyä käyttöjärjestelmää. 4 18 Facebook vuokraa meille digitaalisen tontin yksityisyytemme hinnalla. Tuntemattomien tai tunnettujen vainoaminen on netissä yhtä väärin kuin kiikareilla pensaasta. Joissain tapauksissa sosiaaliseen mediaan osataan tarjota mainoksia juuri niistä tuotteista, joita olimme hetki sitten miettineet. Palveluissa kiertää ”ketjukirjeitä” ja pelejä, joiden ainoa tarkoitus on selvittää vastauksia turvallisuuskysymyksiin tai kartoittaa käyttäjän kontaktiverkostoa paremmin kohdistetun mainonnan toteutukseen. Disconnect (disconnect.me) estää jossain määrin seuraamisen, ja lisäsuojaa tarjoavat erilaiset VPN-ratkaisut, jotka piilottavat myös surffailijan lähdeosoitteen. Turvallisuuden näkökulmasta taas paljastamme itsestämme tuotetun datan lisäksi paljon sillä, miten ja missä se data tuotetaan. On herkullista kuvitella, että meistä jokainen on kohdistetun vakoilun kohde. Myös monet nettikaupat hyödyntävät käskyjä kertoakseen tilausjärjestelmälle tuotteen lisäyksestä. com/google-hacking-database Shodan (www.shodan.io) ja riddler (riddler.io) puolestaan pitävät kirjaa kaikesta suoraan verkkoon liitetystä. 2 1 7 . Ison käyttäjämäärän ja data-analytiikan kautta ollaan siis jo tilanteessa, jossa mainostajat miltei osaavat lukea ajatuksemme, emmekä voi vaikuttaa siihen kuinka tätä tietoa käytetään. Näiden pohjalta taas voi yrittää löytää kaikki samalla kameralla otetut kuvat ja tehdä melko tarkan päätelmän kohteen kantakahvilasta, koulusta, työpaikasta tai asuinpaikasta. Henkilökohtaisen digitaalisen jalanjälkemme lisäksi meillä on myös käyttämämme laitteen sormenjälki, jonka kautta voidaan kohdistaa mainoksia tai seurata käyttäjän liikkeitä valvojan omistamilla sivuilla. Kuuntelusta ei ole todisteita, mutta käyttäjäprofiilin kokonaisvaltaisesta ymmärtämisestä taas on. Oikeasti anonyymiin selailuun on kuitenkin syytä käyttää Tailsia (tails.boum. Niin kutsuttu metatieto voi huomaamattomasti paljastaa meistä muutakin, kuin mihin olimme varautuneet. Exploitdb ylläpitää näistä hyvää listaa osoitteessa: www.exploit-db. Käyttäjän monitorointi Selaimen tunnistaminen ja sen kautta käyttäjän seuraaminen netissä on helppoa. Datasta puhutaan jo uutena ”mustana kultana”, ja mitä aktiivisempi sisällöntuottaja on, sitä arvokkaampi hän on markkinointikanavana sekä tuotteena. Sivusto dataselfie.it kertoo, kuinka koneoppimisalgorirmit näkevät meidät, ja mitä sen perusteella voi tietää. Facebookin tapauksessa kuluttajaa voidaan seurata kaikilla niillä sivuilla, joille on upotettu Facebookin tykkää-nappi, jonka kautta iso osa selaushistoriaa voidaan hyödyntää käyttäjäprofiilin tarkentamiseen. Mikrokohdistaminen poliittisen mielipiteen vahvistamiseksi tai eripuran kylvämiseksi ei ole enää kaukaisen dystopian fiktiivinen tulevaisuusvisio. Snapchatin Snap Map kertoo melko tarkan arvion fyysisestä lokaatiosta, ja itse kuvan katsominen paljastaa suoraan missä käyttäjä milloinkin on. Kokeile seuraavia valitsemassasi hakukoneessa koko nimi, kutsumanimi tai alias heittomerkeissä ”Etunimi Sukunimi” puhelinnumero osoite henkilötunnus suosituimman kuvan käänteinen kuvahaku Digitaalinen jalanjälki ulottuu myös yrityksiin ja web-palveluihin. Cambridge Analyticsin kaltaiset yritykset myyvät käytännössä vaalivoittoa palveluna, ja disinformaatiosta on tullut poliittisen diskurssin uusi normaali. Yli kahden miljardin käyttäjän verkosto antaa melko tarkan kuvan ihmisten nettikäyttäytymisestä ja mielenkiinnon kohteista
Kokonaisturvallisuutta on hyvä tarkastella kerroksittain siinä ymmärryksessä, että mikään yksittäinen ratkaisu ei vielä kaatuessaan vaaranna kaikkea. Open Web Application Security Project -hanke (owasp. Eivätkä valtiotason toimijoiden työkalut lopu internetin rajalle. Toisinaan vaikka liikenne hyödyntäisi salausta, varmennetta ei tarkisteta. Kokonaisturvallisuutta on hyvä tarkastella kerroksittain.. • Ota monivaihe-autentikoituminen käyttöön kaikissa sitä tukevissa palveluissa. org) tuottaa työkaluja auttaakseen turvallisessa sovelluskehityksessä (ks. BluRay-levylle tallennettua dataa ei haittaohjelma voi kryptata. 19 Joskus REST-kutsut kulkevat salaamattomina tai autentikaatioon käytettävä avain on arvattavissa. Uhka On herkullista kuvitella, että meistä jokainen on kohdistetun vakoilun kohde, tai että olisimme maailmanpolittiiselle eliitille niin tärkeitä, että parhaat resurssit valjastettaisiin juuri meidän intiimien kuviemme katseluun. • Palauta ja vaihda kaikki salasanat. • Tarkista käyttämiesi palveluiden yksityisyysasetukset, kiristä tarvittaessa. • Tarkista, onko tärkeää tietoa netissä: esimerkiksi Google Alerts -hälytys omalle nimellesi tai henkilötunnuksellesi. (haveibeenpwned.com) • Poista käyttämättömät ohjelmat ja tunnukset käytöstä. sinään riitä, nekin ovat hyviä lisiä. Skrolli 2016.4). Pahantahtoinen toimija voi tällöin saada mahdollisuuden manipuloida liikennettä. Kuluttajan näkökulmasta verkkoliikenteen analysoiminen ja oman turvallisuuden takaaminen on hankalaa. Kaiken elektronisen sulattaminen napalmilla ja go-bagin mukaan nappaaminen ei välttämättä sovi kaikille. • Asenna päivitykset. Vaikka haittaohjelmia torjuva tuote ja palomuurisäännöt eivät enää ykVARASUUNNITELMA lyhyt tarkistuslista • Ota varmuuskopiot. Vaikka valvontakoneistojen olemassaolo onkin todellinen uhka vapaalle yhteiskunnalle, sen uhan kohdistuminen yhteen tiettyyn yksilöön on vaihteleva. Usein tämä kuitenkin hautautuu erilaisen markkinointijargonin ja pelolla myymisen alle. Hyvä salasana ja ajan tasalla olevat tietoturvapäivitykset estävät jo suuren osan hyökkääjistä. • Tarkista kirjautuneet laitteet tuntemattomien varalta sitä tukevista palveluista. Salasanamanagerit ja vahva tunnistautuminen pienentävät riskejä entisestään. • Pakkaa go-bag ja viritä napalmi. Vastuu liikenteen turvallisuudesta jää siis kehittäjän ja yrityksen hyväksymälle riskitasolle. (www.google.com/alerts) • Tarkista, onko käyttäjätunnus tai salasana vuotanut. Motivoitunutkaan toimija ei taikasauvaa heilauttamalla saa otettua järjestelmää haltuunsa yhtään sen maagisemmilla keinoilla kuin angstinen teini tai kateellinen kilpailija. Perusasioiden tekeminen huolellisesti on tärkein osa kattavaa turvallisuusstrategiaa, niin yrityksen kuin yksilön näkökulmasta. Virtuaaliminän palauttamiseen ja turvaamiseen on silti hyvä varautua jo etukäteen. Turvallisuustoimialalla käytettävien keinojen valikoima vaihtelee vahvasti yksilön aseman ja merkittävyyden mukaan. Varasuunnitelma Joskus kuitenkin klikkaa väärä linkkiä, asentaa tietämättään saastuneen version ohjelmasta tai ulkopuolisen tahon tietomurron seurauksena menettää tilinsä hallinnan ja sortovallan agentit hakkaavat ovea. Tämä voi johtaa odottamattomiin tuloksiin palvelun ylläpitäjälle tai sovelluksen käyttäjälle
everything smart is exploitable Robots are a multiplanet species disobey.fi Jan 12-13 2018 Kattilahalli Helsinki disobey.indd 1 12/11/2017 21.34
Konttien avulla voidaan helposti päivittää palvelimilla pyöriviä palveluita uusiin versioihin heivaamalla yksi kontti kerrallaan kokonaisuudessaan pois ja käynnistämällä sen tilalle uusi. Ansiblea käytetään yleisimmin kirjoittamalla sille playbookeja – tekstitiedostoja, joissa kuvataan kaikki ohjelmistot, palomuurisäännöt, käyttäjätunnukset, asetustiedostot ynnä muu, mitä palvelimelle pitää asentaa. Se tarkoittaa sitä, että kaikki tulee dokumentoiduksi kuin itsestään. Seuraava askel palvelinylläpidon automatisointiin ja nopeuttamiseen ovat tietysti Dockerin kaltaiset containerit eli ”kontit”. Koskaan en ole mitään koulutusta hankkinut alalle, mutta olen puuhaillut 20 vuoden ajan monenlaista. Virtualisointi tuntuu olevan liki itsestäänselvyys, eikä siinä ole oikein enää mitään mielenkiintoista. Aiemmin syksyllä minun teki mieli kokeilla, miten vaikeaa olisi vaihtaa työn alla olevassa palvelininfrassani yksi ohjelmisto toiseen. Ansible osaa myös komentaa useita palvelimia yhtä aikaa rinnakkain. Kirjoitetaan vain Vagrantfile-niminen tiedosto, jossa määritellään kaikki halutut koneet asetuksineen ja käyttöjärjestelmineen. Esimerkiksi Vagrant on erinomainen pieni Ruby-ohjelmisto paikallisten virtuaalipalvelinkokonaisuuksien hallinnoimiseen. Niissä on siis omassa vankilassaan omat PID-numerot, käyttäjätunnukset, kirjastot, IPosoitteet ynnä muuta. Kyse ei ole vain siitä, että koodaajat ja palvelinarkkitehtuurin ylläpitäjät juttelevat paljon keskenään ja jotenkin epämääräisesti tekevät yhteistyötä, vaan heistä aika pitkälti tulee yksi ja sama tiimi. Uusi tapa ajatella koneita On ollut mielenkiintoista yrittää kouluttamattomana näpertelijänä soveltaa osaamistaan ammattiympäristöihin. Palvelinten ketterään luomiseen, konfiguroimiseen ja tuhoamiseen on myös paljon näppäriä työkaluja, joihin olen nyt töissä tutustunut ensi kertaa. Niihinkään en ollut koskaan törmännyt ennen nykyistä työtäni, enkä oikeastaan ole ehtinyt niihin vielä perehtyäkään. Ketterää! Uuden palvelinympäristön kehittäminen on todella kätevää Vagrantin ja Ansiblen yhdistelmällä. Amatööri meni töihin Ronja Koistinen Päädyin kehittämään verkkopalveluita vailla koulutusta. 21 everything smart is exploitable Robots are a multiplanet species disobey.fi Jan 12-13 2018 Kattilahalli Helsinki disobey.indd 1 12/11/2017 21.34 Kolumni O len tietokoneharrastaja. En ollut tullut ajatelleeksi sitä, että virtuaalipalvelin on lopulta vain dataa ja koodia: levykuvaköntti, josta polkaistaan pystyyn palvelin erillisellä virtualisointiohjelmistolla. Tehtäväni on ylläpitää muutamia palvelimia sekä kehittää niiden tarjoilemia palveluita. Nykyään on nimittäin tämä ”DevOps”. Käsittääkseni kontit ovat sellaisia kevytvirtualisointipaketteja, jotka sisältävät jonkin ohjelmiston kaikki riippuvuudet paitsi kernelin. Sen jälkeen komennetaan vagrant up koneen-nimi: Vagrant perustaa uuden virtuaalikoneen ja asentaa sinne käyttöjärjestelmän Vagrantfilessa määritellystä levykuvasta. Nyt olen sitten päätynyt töihin ATKhommiin. Tämä uusi näkökulma on tuonut työskentelyyn paljon kokeilevamman ja muutoksiin valmiimman otteen mutta myös paljon varmuutta. Nyt kerron, mitä uutta opin.. Enemmän olen kuitenkin yllättynyt ja vaikuttunut siitä, miten suhtautuminen palvelimiin, järjestelmiin ja palveluihin tuntuu alalla muuttuneen siitä, kun olen viimeksi aktiivisesti ylläpitänyt omia harrastuspalvelimiani. Se oli helppoa! Tein uuden Git-haaran, kirjoitin Ansible-määrittelyt uudesta softasta, tuhosin Vagrantilla vanhan koneen ja pystytin uuden. Toisin kuin vaatehuonepalvelinta säätäessä, kaikkeen on ohjeet, määritelmät, säännöt ja aikataulut. Tutuiksi ovat tulleet sekä Debian että OpenBSD. Se on niin sanottu provisiointityökalu. Sillä tarkoitetaan suurin piirtein sitä, että palveluiden tai tuotteiden kehittäminen ja niiden alla pyörivien palvelinten ylläpito tulevat todella lähelle toisiaan. Tarkkuutta, järjestelmällisyyttä ja vastuuta tietysti osasin odottaakin, kun siirryin tekemään näitä asioita työkseni. Jos huomaankin, että työn alla olevaan klusteriin tarvitaankin vielä yksi palvelin, voin vain lisätä sen Vagrantfileen, pystyttää uuden koneen ja sitten kirjoitella Ansible-loitsut koneen tarvitsemien ohjelmistojen asentamista varten. Se mitä virtualisointi mahdollistaa, on kuitenkin kutkuttavaa. Tähän kuluu aika minuutti tai pari. Jos sotken koko palvelimen, voin tuhota sen, palata pari versiota taaksepäin ja pystyttää sen uudelleen. Tästä seuraa luonnollisesti se, että kokonaisen palvelimen voi tuosta vain tuhota ja pystyttää sen tilalle hetkessä uuden. Minulla on muun muassa ollut erinäisiä palvelinkoneita kotinurkissa – esimerkiksi palomuureina ja webtai Minecraft-palvelimina. Kaikki on selkeää ja tallessa Minusta suurin hyöty tästä kaikesta on se, että kokonaiset palvelinarkkitehtuurit voidaan kuvata yksinkertaisilla tekstitiedostoilla. Työssä on ollut tosi palkitsevaa, vaikka myös haastavaa, siirtyä ajattelemaan palvelimia koodina (Infrastructure as Code), siinä missä kotiharrastelussani ne ovat olleet hyvin fyysisiä, hurisevia esineitä. Kaikki samaa asiaa tekevät palvelimet ovat myös varmasti keskenään identtisiä, samoilla asetuksilla ja samoissa ohjelmistoversioissa. Toinen työkalu, jota olen oppinut rakastamaan, on Ansible. Tekstitiedostojen ilmeinen etu on myös se, että ne on helppo laittaa versionhallintaan
Aluksi laskemme valmiiksi pallon säteen neliön ja vektorin valonsäteen lähteestä pallon keskipisteeseen riveillä 3–4. Tässä artikkelissa luodaan hyvin yksinkertainen raytracing-algoritmi näytönohjaimen shader-koodilla. Kannattaa siis tutustua kyseiseen artikkeliin tai hakea netistä lisätietoa, jos kolmiulotteisen avaruuden vektorit ja matriisit eivät ole hallussa. 2 1 7 . Tekniikalla on mahdollista saada aikaan erittäin korkealaatuisia digitaalisia kuvia, mutta huonona puolena on tekniikan vaatima korkea prosessoriteho. Skrollin numerossa 2013.3 on käyty läpi 3Dmatematiikan perusasioita. Sen jälkeen niitä on helppo käyttää myöhemmissä laskutoimituksissa. 4 22 R aytracing on tietokonegrafiikassa käytetty tekniikka, jolla simuloidaan valon käyttäytymistä maailmassa ja kameran linssissä. com/view/4tlcWf Valonsäteen törmääminen palloon Jotta voimme muodostaa kuvan pallosta kuvaruudulle, meidän täytyy tunnistaa, milloin valonsäde törmää palloon. Olkoon nyt piste Q (kuva 1) se piste säteen varrella, josta on lyhin matka pallon keskipisteeseen. Lopuksi, kun valonsäde ei osu enää mihinkään, törmäytämme valonsäteen maailman ympärillä olevaan tilaan, jota esimerkkiprojektissamme simuloidaan niin sanotulla cubemapilla. Tämä tarkoittaa sitä, että maailma laitetaan kuution sisään, ja kuution sisäseinät toimivat valonlähteinä maailmalle. Pallo sattuu olemaan matemaattisesti yksinkertaisin ja siten tämän kaltaisissa opastuksissa hyvin yleisesti käytetty muoto. Tämän ratkaiseva funktio on listauksessa 1. Ray eli suomeksi säde on piste avaruudessa ja pisteestä lähtevä suunta. Lopullinen koodi ja sen lopputulos on myös nähtävissä osoitteessa www.shadertoy. Määritellään Koodi Tee-se-itse raytracer Raytracer piirtää kolmiulotteisen maailman ruudulle heijastuksineen seuraamalla valonsäteiden kulkua läpi maailman. Teksti: Lasse Numminen Kuvat: Lasse Numminen, Nasu Viljanmaa. Koodi perustuu siihen tietoon, että valonsäde törmää palloon, jos valonsäteen varrella on olemassa piste, jonka etäisyys pallon keskipisteeseen on pienempi kuin pallon säde. Välissä valonsäde saattaa törmäillä avaruuden eri kappaleisiin. GLSL-koodia voi ajaa helposti selaimessa WebGL-rajapinnan kautta sivustolla shadertoy.com. Tässä tapauksessa säde voidaan mieltää valonsäteen kulkemaksi matkaksi valonvastaiseen suuntaan eli kameran linssistä valonlähteeseen. Koska raytracing algoritmina on hidas normaaleilla suorittimilla, käytämme artikkelissa näytönohjaimella ajettavaa GLSL-ohjelmointikieltä. Aloituskuvassa esiintyvässä projektissamme kuution sisäseinille on määritelty rakennuksen sisätilaa esittävä tekstuuri. Raytracingia on käytetty kautta aikain muun muassa demoskenessä erilaisissa efekteissä. Funktio sphere ottaa sisään pallon sijainnin avaruudessa, pallon säteen, valonsäteen suunnan ja valonsäteen lähteen ja säilöö paluuarvonsa muuttujiin t ja sphereNormal. Pitääksemme artikkelin lyhyenä käytämme vain täydellisen pallon muotoisia kappaleita. Raytracer pohjautuu näihin matematiikan peruspilareihin. Paluuarvo t kertoo etäisyyden valonlähteestä, jossa valonsäde mahdollisesti osuu palloon ja paluuarvo sphereNormal kertoo pallon pinnan normaalin (eli pallon pinnasta kohtisuoraan poistuvan suunnan) törmäyskohdassa
Muuttujaan t etäisyys säteen alkupisteestä törmäyskohtaan lasketaan tästä informaatiosta riveillä 26–31. Jos valonsäde ei osunut palloon, pituuden neliö d2 on suurempi kuin pallon säteen neliö. Lopuksi laskemme pinnan normaalin rivillä 34. Jokaiselle valonsäteelle luodaan silmukka (rivi 13), jossa valonsäde kulkee pitkin maailmaa, kunnes osuu valonlähteeseen. Valonsäteen seuraaminen Nyt osaamme selvittää, osuuko valonsäde palloon, miten kaukana mahdollinen osumakohta on, ja mikä on mahdollisen osumakohdan pinnan normaali. Muussa tapauksessa tiedämme, että valonsäde osuu palloon. Valonlähde on tässä tapauksessa ympärillä oleva tila, jota simuloidaan cubemapilla. Nyt voimme seurata säteitä käymällä läpi kaikki avaruudessa olevat pallot ja kimmottamalla niihin osuvat säteet eteenpäin, kunnes ne osuvat valonlähteeseen. Etäisyys thc ja vaihtoehtoiset etäisyydet (t) valonsäteen törmäyspisteille ja näiden pisteiden pinnan normaalit. Oletusarvoisesti väri on puhdas valkoinen, joka muuttuu valonsäteen kulkiessa maailmassa osuessaan eri värisiin kappaleisiin. Ensimmäinen parametri on lista pallojen sijainnista, toinen on lista pallojen väreistä ja kolmas lista pallojen säteistä. rayOrigin rayDirection Q rayToSp here tca Q P d sphereSize tca t t' P' thc Q sphereNormal. 23 arvo tca, joka on etäisyys valonsäteen alkupisteestä pisteeseen Q (kuva 2). Tätä jatketaan, kunnes va Kuva 1. Etäisyys valonsäteestä pallon keskipistettä lähinnä valonsäteen varrella sijaitsevaan pisteeseen. Tämän ollessa tosi voimme poistua funktiosta palauttaen selkeästi epävalidit arvot riveillä 13–18. Normaali saadaan laskettua helposti, kun tiedetään piste pallon pinnalla ja pallon keskipiste. Neljäs ja viides parametri määrittelevät valonsäteen suunnan ja lähtöpisteen. Tällöin voimme laskea valonsäteen lävistävän pallon pinnalla kaksi pistettä, joissa valonsäde tulee palloon ja poistuu pallosta. Tässä kaavassa käytämme hyväksi sitä, että vektorin pistetulo itsensä kanssa palauttaa kyseisen vektorin pituuden neliön. Jos näin on, se heijastetaan kappaleen pinnasta seuraavaan suuntaan. Arvo thc kertoo etäisyyden pisteestä Q törmäyskohtaan P (kuva 3). Tämän saa laskettua helposti pistetulolla rivillä 7. Asetelmassamme valonsäde siis osuu valonlähteeseen, jos se ei osu mihinkään maailmassa olevaan kappaleeseen. Rivillä 10 alustetaan valonsäteen väri. Seuraavaksi lasketaan pituuden neliö d2 säteen alkupisteestä pisteeseen Q käyttäen Pythagoraan lausetta rivillä 10. Kuva 3. Jos se on kameran takana, lasketaan kauempana kamerasta oleva piste (piste P’ kuvassa 3). Tarvitsemme tätä etäisyyttä laskeaksemme molemmat pisteet, joissa valonsäde osuu palloon. Se lasketaan rivillä 21 käyttäen jälleen Pythagoraan lausetta apuna. Vektori valonsäteestä pallon keskipisteeseen. Kuva 2. Listauksessa 2 on funktio valonsäteen seuraamiselle. Lasketaan ensin lähinnä valonsäteen lähdettä oleva piste (piste P kuvassa 3) kulkemalla matkan thc verran taaksepäin sädettä pitkin pisteestä Q, ja tarkistetaan, onko se kameran edessä vai takana. Lopuksi funktio palauttaa värin, jonka valonsäde sai maailmassa kimpoillessaan. Normaali on sama kuin normalisoitu vektori pallon keskipisteestä pallon pinnalla olevaan pisteeseen. Silmukan sisällä tarkistetaan osuuko valonsäde johonkin kappaleeseen
Kun muuttuja t on negatiivinen, piste johon osuttiin on valonsäteen alkupisteen takana, ja se voidaan jättää huomiotta. Vertaamalla t:n arvoa arvoon 0.001 korjataan liukulukujen tarkkuudesta johtuvat ongelmat. 2 1 7 . Jos jompikumpi näistä pitää paikkansa, luetaan cubemapin väri senhetkisen valonsäteen osoittamasta suunnasta ja lasketaan lopullinen valonsäteen tuottama väri kertomalla kimpoamisista tullut väri cubemapista saadulla värillä (rivit 48–56). com/view/4tlcWf. Esimerkiksi jos heijastava pinta on hieman punainen, se punaisuus tulee lopulliseen valonsäteen väriin mukaan. Jos säde osuu palloon, luodaan uusi valonsäde laskemalla uusi alkupiste ja heijastamalla vanha suunta aiemmin löydetyn pinnan normaalin suhteen (rivit 59 ja 62). Samalla saadaan valonsäteen väri ja osumispisteen pinnan normaali. Kun nämä yhdistetään koodiin, joka ampuu kamerasta valonsäteen jokaista ruudun pikseliä kohden, saadaan aloituskuvassa oleva näkymä. Muuttujan t arvo tulee aiemmin määritellystä sphere-funktiosta. Voit kokeilla eri arvoja ja katsoa, mitä ne tekevät. Seuraavaksi pitää tarkistaa, osuiko valonsäde yhtään mihinkään tai onko kyseessä viimeinen sallittu valonsäteen heijastus. Projektin kokonainen ajettava koodi löytyy osoitteesta www.shadertoy. lonsäde osuu valonlähteeseen. Sädettä seurattaessa käydään läpi kaikki annetun listan pallot ja etsitään pallo, johon valonsäde osuu ensimmäisenä (rivit 31–41). Lähetä luomuksesi meille osoitteeseen vastaukset@skrolli.fi, ja julkaisemme hienoimmat kuvat Skrollin Facebook-sivulla.. Jos haluat perehtyä aiheeseen syvemmin, suosittelemme koodin lataamista ja muokkaamista. Rivillä 45 kerrytetään eri heijastuksien tuoma värivääristymä. Tee se itse! Nyt meillä on kasassa kaikki raytracerin olennaisimmat osat. 4 24 1 void sphere(vec3 spherePos, float sphereSize, vec3 rayDirection, vec3 rayOrigin, out float t, out vec3 sphereNormal) 2 { 3 float radius2 = sphereSize * sphereSize; 4 vec3 rayToSphere = spherePos rayOrigin; 5 6 // Etäisyys pisteeseen valonsäteen varrella, joka on lähinnä pallon keskipistettä (piste Q) 7 float tca = dot(rayToSphere, rayDirection); 8 9 // Etäisyyden neliö pisteestä Q pallon keskipisteeseen 10 float d2 = dot(rayToSphere, rayToSphere) tca * tca; 11 12 // Säde ei osu palloon 13 if (d2 > radius2) { 14 // Palauta selvästi epävalidit arvot 15 t = -1.0; 16 sphereNormal = vec3(0,0,0); 17 return; 18 } 19 20 // Etäisyys ensimmäisestä osumapisteestä pisteeseen Q. 21 float thc = sqrt(radius2 d2); 22 23 // Laske etäisyys valonsäteen alkupistettä lähimpänä olevaan osumakohtaan 24 t = tca thc; 25 26 if(t < 0.0) 27 { 28 // Osumakohta on säteen takana 29 // Käytä seuraavaa osumakohtaa 30 t = tca + thc; 31 } 32 33 // Laske pallon normaali osumakohdassa 34 sphereNormal = normalize( rayOrigin + (t * rayDirection) spherePos ); 35 } Listaus 1
25 1 void cast_ray_to_scene( 2 vec3 spheres[sphereCount], 3 vec3 sphereColors[sphereCount], 4 float sphereSizes[sphereCount], 5 vec3 ray, 6 vec3 rayOrigin, 7 out vec3 rayColor) 8 { 9 // Valonsäteen oletusväri (valkoinen tausta) 10 rayColor = vec3(1, 1, 1); 11 12 // Seuraa sädettä, kunnes heijastusten määrä ylittää rajan, tai säde ei osu mihinkään 13 for(int currentReflection = 0; currentReflection < maxReflections + 1; currentReflection++) 14 { 15 vec3 foundColor = vec3(1, 1, 1); 16 vec3 reflectionNormal = vec3(0,0,-1); 17 float lowestT, t; 18 19 // Ääretöntä kuvaava suuri alkuarvo 20 lowestT = 999999.9; 21 22 // Käy kaikki pallot läpi 23 for(int i = 0; i < sphereCount; i++) 24 { 25 vec3 sphereNormal; 26 27 // Laske t ja pallon normaali 28 sphere(spheres[i], sphereSizes[i], ray, rayOrigin, t, sphereNormal); 29 30 // Jos säde osui johonkin, joka ei ole säteen alkupisteen takana, ja osumakohta oli edellistä tulosta lähempänä: 31 if(t > 0.001 && t < lowestT) 32 { 33 // Aseta uusi arvo pienimmälle syvyydelle 34 lowestT = t; 35 36 // Käytä annettua normaalia fragmentin normaalina 37 reflectionNormal = sphereNormal; 38 39 // Ota pallon väri talteen 40 foundColor = sphereColors[i]; 41 } 42 } 43 44 // Kerrytä väri-arvoa 45 rayColor = foundColor * rayColor; 46 47 // Tarkista menikö säde ohi kaikesta (tarkoittaa säteen elinkaaren loppua) 48 if(lowestT > 999999.0 || currentReflection == maxReflections) 49 { 50 vec3 texel = texture(iChannel0, ray).rgb; 51 52 // Yhdistä valaistus 53 rayColor = texel * rayColor; 54 55 break; 56 } 57 58 // Laske uuden säteen alkupiste 59 rayOrigin += ray * lowestT; 60 61 // Luo uusi säde heijastamalla nykyinen säde osuman saaneesta objektista 62 ray = reflect(ray, reflectionNormal); 63 } 64 } Listaus 2.
(Jos musiikkisoittimessa sattuu olemaan usb-audio-ulostulo, kuten kokeilemassamme König HAV-CA10 -kasettimuuntimessa, sekin toimii.) Tarkista ennen aloittamista, ettei soittimen äänenvoimakkuus ole liian vaisu eikä lyö ylitse. Tietokoneen mikrofonisisääntulon voi yleensä kääntää kaakkoon. Muitakin tiedostomuotoja ohjelmasta löytyy, mutta .tap on toimintavarmin. Kasettidata on ääntä – tietokoneohjelmia lähetettiin 1980-luvulla Suomen radiossakin. Useimmissa on lisäksi jokin rgbtai komposiittityylinen videoulostulo, kunhan sopiva kaapeli löytyy. Äänen tallentamiseen voi siten käyttää melkein mitä vaan. Pienellä onnella kalvo murtuu vain sen verran, että katken. 2 1 7 . Sitten vaan painetaan play ja äänitetään kasetin sisältö wav-äänitiedostoksi tietokoneelle. Windowsin mikrofoniasetuksissa on vakiona ”enhancements” päällä, joka on kytkettävä pois. Vältä kuitenkin häviöllisiä tallennusmuotoja, kuten mp3:a. Aloita 60 prosentin tasosta ja kokeile. WAV-PRG:n sekä tarvittavat äänikirjastot sisältävän Audiotapin saat ilmaiseksi osoitteesta wav-prg.sourceforge.net. org) on hyvä ohjelmisto, ja sen Effects > Normalize -toimintoa voi tarvittaessa kokeilla signaalin parantamiseen. Jotkut ovat myös äänittäneet kasetin cd:lle ja ripanneet cd:n tietokoneelle. Tarvitaan vain kaapeli kasettisoittimen ja tietokoneen mikrofoniliitännän välille. Esimerkiksi soittimen 3,5 millimetrin kuulokeulostulon liittämiseksi tietokoneen 3,5 millin kuuloke-mikrofoni-yhdistelmäliittimeen tarvitaan TRS-TTRS-sovitin, kuten Røde SC4 tai SC7. 46). Audacity (audacityteam. Kuvassa syntyy Sony CFD-S70 -boomboxilla ”soitetusta” 30-vuotiaasta Commodore 64 -pelikasetista .wavja .taptiedostot. Taltioitu äänitiedosto muunnetaan WAV-PRG-nimisellä ohjelmalla .tap-kasettinäköistiedostoksi. Kalvo on usein ajan saatossa haurastunut, eikä kestä taivuttelua. Sinclair Spectrum 16/48:n kohdalla tähän tarvitaan kuitenkin pientä rautamuutosta. Vanhat kasetit ovat kuitenkin siitä kiitollinen kohde, että alkuun pääsee jopa ullakolla lojuvalla mankalla. 4 26 Lyhyet WAV-PRG – Vanhat C64-kasetit talteen Olemme esitelleet Skrollissa erityisvälineitä vanhojen levykkeiden lukemiseen (Skrollit 2014.2, 2017.1) sekä Kasettilamereiden arvokasta säilömistyötä (tämän lehden s. Spectrum avataan pohjan ruuveista, jolloin kotelon näppäimistöosa aukeaa. Katso myös, ettei tietokoneessa tai soittimessa ole äänenparannusasetuksia käytössä. Jos .tap-muunnoskin antaa virheitä tai ei toimi luotettavasti, kokeile säätää äänenvoimakkuustasoja sekä seuraavia WAP-PRG:n asetuksia: Inverted waveform -asetus päälle/ pois; Sensitivity-asetuksen nosto portaittain pienestä suuremmaksi; Use loader -vaihtoehdoista ”Default C64” toimii yleensä, mutta ei aina. Janne Sirén Videoulostulo Sinclair Spectrumiin Vanhat kotitietokoneet kytkettiin usein analogitelevision virittimeen. Koska kone on vanha, tämä saattaa rikkoa näppäimistön emolevyyn liittävät kalvoliittimet
Kalvossa kun ei ole varsinaisia liittimiä, vaan koko matkalla on kosketuspinta. Sega Master Systemja Mega Drive 1 -pelikonsoleilla kävisi silti hassusti. Ismo Utriainen Kohti ihmismäistä älykkyyttä ja sen yli AlphaGo Neuroverkkotutkimuksen aallonharjalla oleva, Googlen konserniin kuuluva DeepMind-yritys mullisti tekoälytutkimuksen julkaisemalla vuonna 2015 ensimmäisen ammattilaistasoisen go-lautapelitekoälyn, AlphaGon (Skrolli 2016.2). Neuroverkot on huomattu Suomen valtiojohdonkin tasolla – pääministeri Juha Sipilä totesi helmikuussa, että Suomen olisi hyvä kehittyä tekoälytutkimuksen kärkimaaksi. DeepMind tyytyi toistaiseksi tähän, ja botin tensorisuorittimet valjastettiin muuhun käyttöön. Kuvassa etualalla komposiittijohto modulaattorin kyljessä sekä taaempana Sinclairin hauraat kalvoliittimet näppäimistölle. Kolmen päivän harjoittelun jälkeen botti oli Lee Sedolin voittaneen version tasolla. Tällaisen näyttökaapelin voi tehdä itse. AlphaGo Zero opetettiin pelaamaan käyttäen vain neljää koneoppimiseen erikoistunutta tensorisuoritinta (Tensor Processing Unit, TPU). Jos edellä mainittua Commodore-kaapelia kokeillaan Segassa, televisioon puskeekin komposiittivideon sijaan viiden voltin jännite. Pian julkaisun jälkeen paranneltu versio AlphaGosta voitti maailman vahvimpiin go-pelaajiin lukeutuvan Lee Sedolin lukemin 4–1. Kanadalainen Element AI -yritys arvioi, että maailmassa on alle 10 000 ihmistä, joilla on tarvittavat taidot edistyneen syväoppimisen (deep learning) kehittämiseen. Tekoäly opettelee pelaamalla itseään vastaan ja on näin vapautettu inhimillisistä uskomuksista. DIN-kaapelien monikäyttöisyydessä piilee kuitenkin vaara: yksi piuha ei toimi kaikissa koneissa, vaan voi olla suorastaan vaarallinen. Sittemmin DeepMind on kehittänyt AlphaGota edelleen ja siitä on tullut epäinhimillisen hyvä. Botti löysi uudestaan monia ihmisten keskuudessa suosittuja nurkkavariaatioita mutta hylkäsi ne löydettyään jotain vielä parempaa. Nekin käyttävät samaa DIN-liitintä, mutta jälleen eri kytkennällä. Ismo Utriainen, Janne Sirén Kuva: joho345/ Wikimedia Commons Linkit tämän aukeaman ohjelmiin ja ohjeisiin: skrolli.fi/numerot. Uusimman botin nimi antaa vihjeen siitä, miksi se on niin vahva. AlphaGo on siis osoittanut neuroverkkojen edut perinteiseen koneoppimiseen verrattuna. Jarno Niklas Alanko DIN-varoitus konekeräilijälle Monista 8-bittisistä tietokoneista löytyy pyöreä DINnäyttöliitin. Aiemmat versiot opetettiin matkimaan ammattipelaajia, mutta AlphaGo Zero opetettiin pelaaman täysin nollasta, tietäen ainoastaan pelin säännöt. 21 päivän kuluttua se oli AlphaGo Masterin tasolla, ja 40 päivän kuluttua se voitti AlphaGo Masterin lukemin 89–11. New York Timesin mukaan tuoreiden tohtoreiden vuosipalkat voivat nousta jopa puoleen miljoonaan dollariin. Tammikuussa 2017 osuvasti nimetty AlphaGo Master pelasi 60 ottelun sarjan maailman parhaita pelaajia vastaan ja voitti jokaisen. Taso on jo niin korkealla, että ihmisten on mahdotonta arvioida AlphaGo-versioiden vahvuutta pelkästään niiden peliä seuraamalla. Lokakuussa DeepMind julkaisi uuden version, joka murskaa jälleen kaikki edelliset versiot. Kuva modulaattoriin tulee piirilevyltä komposiittisignaalina, joten tämän johdon pää modulaattorin sisältä katkaistaan ja liitetään suoraan tv-ulostulon liittimeen. Sega-kaapeleita myydään onneksi verkkokaupoissa edelleen uutena. Vanha tv-ulostulo on nyt komposiittivideoportti. Tältä vaaralta välttyy, kun vain komposiittivideo (pinnit 2–4) on kytketty. Kun Spectrum on avattu, sen vasemmasta yläkulmasta paljastuu tv-modulaattorin rasia, joka avataan pienellä ruuvimeisselillä. Myöhemmissä Atareissa ja Commodore 64:sissa yksi SVideo-pinneistä vastaa kuitenkin VIC-20:n kuuden voltin jännitepinniä, joka voi rikkoa television. 27 neet päät pystyy liittämään emolevyyn takaisin. Commodore VIC-20:ssäkin on DIN-näyttöportti, joskin 5-pinninen. Samaa videoulostuloa ja näyttöpiuhaa käyttävät myös Spectravideo SVI318 ja SVI328. Peruskomposiittivideolle riittää 5-pinninen niin sanottu 180-asteinen DIN-liitin – kahdeksaa pinniä ei tarvita. Liekö maailmassa kohta AlphaGon kaltainen tekoäly, joka kehittää lääkkeitä paremmin kuin ihmiset – käyttäen logiikkaa, jota ihmiset eivät ymmärrä. Kun kytkee vain pinnit 2–4, kaapeli toimii myös VIC-20:ssä. Uusin versio nimettiin AlphaGo Zeroksi. Seuraavaksi DeepMind aikoo keskittyä oikean maailman ongelmiin, kuten lääkekehitykseen ja proteiinien laskostumisen ennustamiseen. Esimerkiksi varhaiset Atari XL -mallit käyttivät samantapaista kaapelia kuin VIC-20, ja ne toimivatkin ristiin. Kalvoja saa onneksi myös uusia, ja vaihtaminen on suoraviivaista. Niinpä asiantuntijoiden palkat hipovat taivaita ja tutkijoita suorastaan revitään akatemiasta teollisuuteen, mikä aiheuttaa huolta yliopistojen syväoppimisosaamisen säilymisestä. Esimerkiksi Commodore 64:ssä ja 128:ssa on yleensä 8-pinninen DIN
Käännetään kelloa taaksepäin nettipokerin alkuaikohin. Botille oli jopa graafinen käyttöliittymä xpoker. Rahaa siirrettiin sivustolle lähettämällä shekki postissa, kunnes luottokorttisysteemi saatiin toiGraafinen xpoker-käyttöliittymä IRC-pokerille. Temppu osoitti, että kenestä vain voi tulla miljonääri pokerissa, minkä seurauksena katsojat rekisteröityivät nettipokerisivuille sankoin joukoin. Teini-ikäiset nörtit tienasivat vaivatta tuhansia euroja kuukaudessa kotonaan. Pöydät olivat täynnä pelaajia, joilla oli paljon rahaa mutta pelitaitoja ei nimeksikään. Tämän täytyi olla liian hyvää ollakseen totta – ja niin se olikin. Mistä kaikki alkoi. Panoksina toimivilla virtuaalisilla pelimerkeillä ei kuitenkaan ollut rahallista arvoa. Pankki räjähti varsinaisesti vuonna 2003, kun amatööripelaaja Chris Moneymaker voitti televisioidun World Series of Poker -pääturnauksen ja 2,5 miljoonan dollarin palkintorahat. Tilanne oli niin herkullinen, että nopeasti myös Suomeen syntyi uusi ammattinimike: nettipokeriammattilainen. 4 28 Tekniikka P okeri kasvoi vaarallisesta ja epäillyttävästä uhkapelistä salonkikelpoiseksi viihteeksi 2000-luvun alussa. 2 1 7 . Moneymaker pääsi mukaan voittamalla netissä 86 dollarin niin sanotun satelliittiturnauksen, jonka palkintona oli paikka pääturnaukseen. Ensimmäiset oikean rahan pelit alkoivat vuonna 1998 Planet Poker -nimisellä sivustolla. Kyseessä on Texas Hold’em -turnaus, johon pääsee mukaan maksamalla 10 tuhannen dollarin sisäänpääsymaksun. Syynä suosion kasvuun oli yhdysvaltalaisten urheilukanavien päätös alkaa televisioida turnauksia. Buumin alkuaikoina meno oli villiä. NETTIPOKERIN LYHYT HISTORIA – teinimiljonäärejä, paskaa koodia, huijareita ja skandaaleja Teksti: Jarno Niklas Alanko Kuvat: Mikael Heikkanen, Jarno Nikas Alanko. Uutena innovaationa oli asentaa pelipöytään pienet kamerat siten, että katsojat pystyivät näkemään kaikkien pelaajien kortit. Aivan ensimmäiset pelit pelattiin luultavasti ircissä aikanaan suositun IRC poker -botin välityksellä. Tarina kertoo kuitenkin, että jotkut pelaajat tasoittivat tilit oikealla rahalla pelisession jälkeen yhteisestä sopimuksesta
Ohjelmisto ja palvelimet kaatuilivat usein, ja osoittautui, että korttipakan sekoitusalgoritmi ei ollut niin satunnainen, kuin olisi voinut toivoa. Tunnusnumero 363 tarkoitti sitä, että käyttäjätunnus oli luotu hyvin varhaisessa vaiheessa, ehkä jo ennen kuin sivusto aukesi pelaajille. Algoritmi käytti Pascalin randomize -funktioita, joka alustaa generaattorin järjestelmän kellosta käyttäen arvona kuluneiden millisekuntien määrää päivän alusta laskettuna. Tunnetuin tapaus lienee pokerisivusto AbsolutePokerin skandaali. Mutta juttu vain pahenee tästä. Eikä tässä vielä kaikki: Koska satunnaislukugeneraattori alustettiin uudestaan aina jaon alussa, pelaajat pystyivät arvioimaan alle sekunnin tarkkuudella, mikä palvelimen kellonaika oli jaon alussa. Turnauksen viimeisessä ja ratkaisevassa kädessä huijari katsoi vastustajan all-in-bluffin pelkällä 10-high-kädellä keräten potin vastustajan 9-high-kättä vastaan. Vieraan käyttäjätunnuksen tunnusnumero oli 363, mikä oli merkillepantavaa, koska mitä pienempi tunnusnumero sivustolla on, sitä vanhempi käyttäjätunnus on. Koodissa oli myös ”off by one” -bugi: kutsu random(51) palauttaa satunnaisluvun väliltä [0,50] eikä [0,51], niin kuin ohjelmoija oli olettanut. Vakavin ongelma piilee kuitenkin satunnaislukugeneraattorin alustuksessa. Kuvassa 2 on näppärä ohjelma, johon pelaaja voi syöttää tunnetut kortit, ja tuloksena ohjelma laskee vastustajien kortit ja tulevat kortit. Satunnaisluvut voi ottaa esimerkiksi konehuoneen lämpöanturin poimimasta kohinasta. Pakka sekaisin Mikä pakan sekoituksessa sitten oli pielessä. Kortit voisi sekoittaa kunnolla esimerkiksi seuraavasti: arvo jokaiselle kortille arvo ykkösen ja nollan väliltä, ja järjestä pakka näiden lukujen mukaan. Lisäksi käsihistoriassa oli jokaisen peliä seuranneen käyttäjätunnuksen IP-osoite. Tunnuksen 363 IP-osoite kuului AbsolutePokerin toimistolle! Tunnus 363 oli vanha debug-tunnus, joka pystyi näkemään kaikkien pelaajien kortit. Käsihistoria vahvisti epäilyksiä. Näin pelaaja pystyi kaventamaan mahdollisten korttien järjestysten määrän tasan yhteen. Eräs hakkeri voitti 50 tuhatta dollaria tällä menetelmällä. 29 procedure TDeck.Shuffle; var ctr: Byte; tmp: Byte; random_number: Byte; begin { Fill the deck with unique cards } for ctr := 1 to 52 do Card[ctr] := ctr; { Generate a new seed based on the system clock } randomize; { Randomly rearrange each card } for ctr := 1 to 52 do begin random_number := random(51)+1; tmp := card[random_number]; card[random_number] := card[ctr]; card[ctr] := tmp; end; CurrentCard := 1; JustShuffled := True; end; mimaan. Huijariksi epäilty pelaaja oli tehnyt jatkuvasti peliliikkeitä, jotka olisivat normaalisti sulaa hulluutta mutta toimivat silti. Ensinnäkin algoritmi käyttää 32-bittistä lukua alustukseen, joten mahdollisia järjestyksiä pakalle on vain 2 32 , joka on paljon pienempi luku kuin kaikkien mahdollisten pakkojen järjestysten lukumäärä 52:n kertoma. Liian hyvin pelattu Aivan alkuaikojen jälkeen turvallisuusongelmien taustalla oli kuitenkin yleensä ihminen eikä kone. Päivässä on vain 86 400 000 millisekuntia, joten mahdollisia järjestyksiä pakalle oli saman verran. Vyyhti alkoi purkautua siitä, kun yksi pelaaja pelasi niin täydellistä peliä turnauksessa, että vastustajat epäilivät huijausta. Mitä ilmeisimmin joku AbsolutePokerin työntekijä oli seuraillut turnausta toimistolta ja Listaus 1: Planet Pokerin sekoitusalgoritmin Pascal-koodi. Käsihistoriatiedostosta paljastui myös, että huijarin kanssa samaa pöytää oli seurannut ylimääräinen käyttäjä. Toiseksi tullut pelaaja otti yhteyttä sivuston ylläpitoon ja sai vastauksena koko turnauksen kaikki käsihistoriat, joista näkyi, mitkä kortit kullakin pelaajalla oli ollut. Yksi hienoinen matemaattinen ongelma oli se, että tapa, jolla algoritmi vaihtelee kortteja keskenään, ei tuota kaikkia mahdollisia järjestyksiä samalla todennäköisyydellä, joskaan vääristymä ei ollut merkittävän suuri. Sekoitusalgoritmin koodi oli julkisesti nähtävillä, jotta kuka tahansa olisi voinut tutkia sitä ja vakuuttua sekoituksen reiluudesta. Teknisten ongelmien takia Planet Poker kuitenkin menetti nopeasti asiakaskuntaansa uusille kilpailijoille. Pelaajan oli mahdollista kokeilla kaikki mahdolliset alustukset, generoida niitä vastaavat jaot ja eliminoida ne jaot, jotka eivät vastaa omia ja pöydässä näkyviä kortteja. Alku oli nihkeää, mutta pian pelit pyörivät jo kellon ympäri. Surkuhupaisaa oli, että julkaistuun 21 rivin koodiin (listaus 1) mahtui useita bugeja ja haavoittuvuuksia, joiden avulla hakkerit pystyivät ennustamaan korttien järjestyksen. Kuva 2.
Huijaus olisi voinut varmasti jatkua paljon pitempäänkin, jos huijarit olisivat tajunneet pitää matalampaa profiilia. Mahdollisuus rahanpesuun on myös ilmeinen. Mutta millaisia töitä voi saada, jos CV:ssä lukee vain, että on pelannut kymmenen vuotta uhkapelejä. Vuonna 2003 netissä rahaa painanut pokeriharja tulisi varmasti täysin nöyryytetyksi tämän päivän pelipöydissä. Miten käy pokeriammattilaisille. Osa jätti leikin kesken suosiolla, mutta osa jätti ystävänsä ja perheensä ja muutti Kanadaan pelaamaan. Kuva 4.. Nettipokeri oli nyt silti lailla kielletty Yhdysvalloissa, mikä oli katastrofi yhdysvaltalaisille ammattipelaajille. Suomessa nettipokeri on pysynyt laillisena vielä toistaiseksi, mutta pelien koventuessa ammattipelaajien joukko on vuosi vuodelta yhä pienempi. 2 1 7 . Pelitason nousu johtuu nettifoorumeista, pokerikirjallisuuden määrän räjähdysmäisestä kasvusta ja valmennussivustojen ilmaantumisesta. Punaisella oikeassa ylänurkassa olevan pelaajan voittotahti on uskomattomat 15 keskihajontaa keskiarvoa korkeampi, mikä todistaa kiistatta, että jokin on pielessä – hiukkasfysiikassa uuden hiukkasen julistamiseen riittää jo viiden keskihajonnan varmuus. Osoittautui, että sivuston johto oli nostanut pelaajien rahoja itselleen bonuksina ja jakanut sponsoroiduille pelaajilleen mielettömiä summia rahaa. Sadalla eurolla kuussa voit ostaa pääsyn videoarkistoihin, joissa maailman parhaat pelaajat avaavat pelikirjojansa viimeistä yksityiskohtaa myöten. Nyt hän on ruvennut opiskelemaan kauppatieteitä ja on tunnettu sijoittaja, Kuva 3. Pelaajien tekemän data-analyysin ja foorumipostausten ansiosta myös samassa verkossa operoivalta UltimateBet-sivustolta löytyi vastaavia huijareita. Pokeribuumin hiipuessa pelaajien taso on noussut valtavasti. Paniikki levisi pelaajien keskuudessa, koska monilla pelaajilla oli kymmeniä tai jopa satoja tuhansia euroja kiinni sivustoilla, jotka olivat lakanneet olemasta yhdessä yössä. Korttitalo oli pysynyt pystyssä vain sillä oletuksella, että kaikki pelaajat eivät vaatisi rahojaan takaisin yhtä aikaa. 4 30 kertonut vastustajien kortit eteenpäin huijarille. Nettipokerin musta perjantai Nettipokerin laillisuus oli pitkään harmaata aluetta. Siksi monet entiset pokeriammattilaiset ovat valjastaneet pelikassansa pörssiin ja muihin sijoituksiin. Toinen suurista sivustoista, Pokerstars, palautti pelaajien rahat nopeasti. Monet maat haluavat säännellä uhkapelaamista, ja on myös ongelmallista, että suuret rahasummat saattavat vaihtaa omistajaa internetin ylitse ilman valvontaa. Tapauksen johdosta pokerinpelaaja Nat Arem päätti käydä läpi omaa pokeritietokantaansa ja löysi vahvoja todisteita sille, että huijaritunnuksia on ollut useampia ja huijaus on ollut laajamittaista. Ehkä tunnetuin esimerkki on pokerin maailman kärkeen lukeutuva entinen teinimiljonääri Jens Kyllönen, joka parhaina aikoina tunnetusti laittoi nettiin kuvan, jossa hän poseeraa kylpytakissa parvekkeellaan Kampissa kädessä tukku viiden sadan euron seteleitä. Yksi myyntivaltti on, että pokerissa oppii ymmärtämään satunnaisuutta ja epävarmuutta intuitiivisesti, ja samat taidot ovat hyödyksi osakeja arvopaperikaupassa. Kuvassa 3 on piirretty tasoon pelaajia siten että, x-akseli on voittotahti ja y-akseli pelaajan halukkuus laittaa rahaa pottiin. Pelien koventuessa monet pokeriammattilaiset ovat joutuneet miettimään alan vaihtoa. Vastaus laillisuuskysymykseen tuli Yhdysvaltojen osalta vuonna 2011, kun yhtenä kohtalokkaana perjantaina Yhdysvaltojen hallitus julisti yllättäen nettipokerin laittomaksi ja kaappasi sivustojen verkkotunnukset itselleen (kuva 4). Toisen markkinajohtajan, Full Tilt Pokerin, rahoja ei sen sijaan kuulunut. Tästä lähti aukeamaan jälleen uusi skandaali. Pelaajien onneksi Pokerstars osti Full Tilt Pokerin vuotta myöhemmin ja hyvitti menetetyt rahat omistajilleen
Tämä strategia ei yritä hyväksikäyttää vastustajan taipumuksia, vaan toimii siten, että mitä tahansa vastustaja yrittää tehdä, tulos on korkeintaan tasapeli vastustajalle pitkällä aikavälillä. Lisäksi on olemassa erilaisia offlinetyökaluja, joiden avulla voi miettiä puhki menneitä pelitilanteita matematiikan kautta. Ammattilaisen perustyökalu on ohjelma, joka kerää tilastoja vastustajasta ja näyttää olennaisia lukemia suoraan vastustajan nimimerkin vieressä pelin aikana. Tällainen tilanne on esimerkiksi backgammon-pelissä, jossa ihmisillä ei ole mitään mahdollisuuksia tietokonetta vastaan. Jos et hanki sitä, voit olla varma, että vastustajasi hankkivat sen, joten kukkaro auki suosiolla. Jos sivustot ovat täynnä yli-inhimillisiä botteja, ihmisellä ei ole mahdollisuutta voittaa pitkällä aikavälillä, ja rahat voisi käyttää yhtä lailla vaikka rulettiin. Peliä voi pelata rahasta netissä, ja bottien käyttäminen on kiellettyä, mutta huijaaminen on liian helppoa. Kuuluisa matemaatikko ja taloustieteilijä John ”kaunis mieli” Nash todisti, että laajalla joukolla pelejä, joihin myös pokeri kuuluu, on olemassa strategia, jota ei voi voittaa. 31 jonka mielipiteitä arvostetaan finanssialalla. On olemassa skriptejä, jotka hälyttävät, kun tunnettu pehmeä pelaaja istuu pelipöytään, ja istuttavat automaattisesti ammattipelaajan häntä vastaan. Valitettavasti, tai onneksi, tämä strategia on pokerin kohdalla niin monimutkainen ja herkkä, että sitä ei ole mahdollista löytää nykyisellä laskentakapasiteetilla. Miten tietokone voisi pärjätä tässä. Tällä hetkellä eletään luultavasti viimeisiä vuosia, kun maailman paras pokerinpelaaja on ihminen, ja ehkä nettipokeri kokee pian saman kohtalon kuin backgammon.. Niille, jotka vielä saavat nettipokerista elantonsa, pelistä on tullut välineurheilua. On silti variantteja, joissa tietokone ei vielä pärjää ihmiselle, mutta tekoälyn kehityshistorian valossa on vain ajan kysymys, milloin ihminen jää lopullisesti koneesta jälkeen. Silti nykyään monissa pokerivarianteissa tietokone pystyy löytämään strategian, joka on tarpeeksi lähellä Nashin tasapainostrategiaa, jotta ihmiset eivät enää pärjää sille. Tietenkin vastustaja yrittää myös parhaansa mukaan päästä sinun pääsi sisään ja mukautua vastaavasti. Nettipokeri on siitä vaikea peli tietokoneille, että siinä on piilotettua informaatiota. Loppu on lähellä Yksi edellytys nettipokerin toimivuudelle on se, että ihmiset pärjäävät tietokoneille. Lisäksi nyt on tullut uutta teknologiaa, joka saattaa tuhota nettipokerin lopullisesti: Vuonna 2017 tekoäly voitti ensimmäistä kertaa huippuammattilaisen No-limit hold’emissa. Tästä syystä netti-backgammon ei varmasti koskaan tule saavuttamaan samanlaista suosiota kuin nettipokeri. Peli on psykologista sodankäyntiä, jossa pyritään olemaan aina askeleen edellä vastustajaa. Uusimpana lisäyksenä ammattilaisen työkalupakkiin on yli tonnin maksava PioSOLVER, jolla pystyy laskemaan optimaalisen pelistrategian rajoitetuissa pelitilanteissa. Usein voittava peli perustuu siihen, että pääset vastustajan ajatuskulkuihin kiinni ja muokkaat omaa pelityyliäsi sen mukaan
Shakissa käytetään yleensä seuraavaa heuristista pisteytystä lautatilanteen arviointiin: • Sotilas: 1 piste • Ratsu: 3 pistettä • Lähetti: 3 pistettä • Torni: 5 pistettä • Kuningatar: 9 pistettä Jos esimerkiksi menettää vaihtokaupassa oman tornin, mutta vangitsee vastustajalta ratsun ja lähetin, jää yhden pisteen voitolle, ja vaihtokaupan voi ajatella olevan edullinen. Luvun itseisarvo kuvaa etulyöntiaseman suuruutta. Positiiviset luvut kertovat, että ensimmäinen pelaaja on johdolla, ja negatiiviset, että toinen pelaaja on johdolla. Häviäminen omalle luomukselleen lempipelissään on täysin omanlaisensa kokemus ylpeyttä ja häpeää. 2 1 7 . Koska pelipuun koko on yleensä tähtitieteellisen suuri, sitä ei voida rakentaa kokonaisuudessaan muistiin. Kun lehtisolmun arvot on määritelty, voidaan määritellä arvot puun sisäsolmuille. Minmaxpuussa käy vain helposti niin, että ratkaisualgoritmin joutuu kirjoittamaan erikseen eri pelaajille. Puuhaku Vuoropohjaiset pelit on mahdollista esittää pelipuuna, jossa jokainen solmu esittää pelitilannetta ja jokainen solmusta lähtevä haara pelitilanteessa tehtyä siirtoa. Ongelma on siinä, että gossa oma ”alue” ja sen ”hallinta” eivät ole yksinkertaisesti määriteltäviä käsitteitä. Puun solmu maksimoi siis vastustajan häviötä. Tällöin puun juuren arvo kertoo sen hetkisen pelitilanteen arvon. Sisäsolmun arvo on joko sen lapsisolmujen maksimi tai minimi riippuen siitä, kumman vuoro on. Hyvän aseman heuristiikka on oltava yksinkertainen, jotta sen voi laskea nopeasti kaikille saavutetuille lopputilanteille tiettyyn siirtosyvyyteen asti. Opetusaineiston hankkiminen tai sopivan arkkitehtuurin valitseminen ei aina ole helppoa, mutta yhtä kaikki lopulta syntyy vain ”musta laatikko”, jonka vahvuuksien tai heikkouksien syitä on vaikea ymmärtää. KOODAA OMA PELITEKOÄLY Teksti: Lumi Pakkanen Kuvat: Lumi Pakkanen, Toni Kortelahti. Sen sijaan puu katkaistaan joltain korkeudelta, ja jokaiseen solmuun liitetään arvo, joka kuvaa solmua vastaavan pelitilanteen edullisuutta pelaajalle. Laitamme teorian testiin ja implementoimme tekoälyjä Puyo Puyo -peliin käyttäen Monte Carlo -menetelmiä ja puuhakua. Siksipä tässä artikkelissa keskitymme ”perinteisiin” lähestymistapoihin luoda pelitekoäly. 4 32 Koodi M ikäpä olisi luovempaa kuin älyn luominen tyhjästä. Koneoppimiseen perustuvat AlphaGon kaltaiset botit ovat vahvoja, mutta kehittäjän rooliksi jää lähinnä luoda riittävät puitteet oppimiseen. Lehtisolmut arvioidaan jonkin yksikertaisen heuristiikan perusteella. Toinen pelaajista pyrkii minimoimaan ja toinen maksimoimaan solmujen arvoa. Yleensä kannattaa luoda sen sijaan luoda niin sanottu negamax-puu, jossa solmun arvo on maksimi lapsisolmujen arvojen vastaluvuista (negaatioista). Esimerkiksi shakissa ”omien nappuloiden arvo miinus vastustajan nappuloiden arvo” on kohtuullinen heuristiikka, kun taas gossa ”omien alueiden arvo miinus vastustajan alueiden arvo” olisi hyvä heuristiikka, mutta se on hyvin vaikea määritellä täsmällisesti. Viime aikoina tekoäly on ollut otsikoissa, oli sitten kyse gosta tai Dota 2:sta
Pisteitä saa sitä enemmän, mitä pidemmän ketjun saa rakennettua. E: Tekoälyn rakentama 8-ketju. Monte Carlo -puuhaussa pelataan nopeita pelejä tietyllä läpipeluutaktiikalla (policy), joka antaa jokaisessa tilanteessa todennäköisyysjakauman seuraavalle siirrolle. Valinta: Pelipuusta valitaan juuresta lähtien solmuja, kunnes päästään lehtisolmuun asti. Tärkeintä on, että peli jatkuu tasaväkisesti ja läpipeluutaktiikka käy siirtoavaruutta läpi tasaisesti. B: Tekoälyn rakentama ketju, missä saatavilla olevien ketjujen lukumäärää on maksimoitu. Valitun läpipeluutaktiikan ei tarvitse siis edustaa vahvaa pelaamista. Ketju on kohtuullisen pitkä, mutta ”sotkuinen” vailla selvää muotoa. Monte Carlo Siinä missä puuhaussa määritellään, mitä tarkoittaa hyvä pelitilanne, Monte Carlossa määritellään, mitä tarkoittaa hyvä siirto. 4. Näiden kahden arvon tasapainoa kuvaa algoritmissa tutkimusvakio (exploration constant). C: Tekoälyn rakentama ”ketju”, missä on yritetty maksimoida ryhmien kokoja. Haku tuntemattomien pelinappuloiden yli onnistuu myös, mutta vaatii huomattavasti enemmän konetehoa, sillä heuristisista arvoista on otettava keskiarvot kaikkien mahdollisten pelinappuloiden yli. Ilman signaalia itse pisteytyksestä botti saa aikaan lähinnä hyvää muotoa ilman tarkoitusta. Yksin pelattavassa Puyo Puyossa ei ole loppua, joten asema on joka tapauksessa arvioitava heuristisesti, koska itse pelipuu on ääretön. Nyt heuristiikkojen sijaan puun solmujen arvot tulevat läpipeluiden tuloksista. Laajennus: Lehtisolmulle luodaan kaikki lapsisolmut ja niistä valitaan yksi (yleensä satunnaisesti). Yllättäen Monte Carlo toimii gohon, sillä vaikka gon pisteytyksessä olennainen käsite ”hallittu alue” on vaikea, saa pelaaja omalla alueellaan etua, vaikka pelattaisiin täysin satunnaisesti. Simulaatio: Pelataan peliä eteenpäin arpoen siirtoja läpipeluutaktiikan jakaumasta. Pelissä on tarkoitus yhdistää neljä tai useampi samanväristä pelinappulaa yhdeksi ryhmäksi, joka sitten katoaa. D: Tekoälyn rakentama 7-ketju hyödyntäen pelkästään pistesignaalia. Uusia nappuloita tulee laudalle monivärisinä ryhminä, jotka tippuvat kentälle sen ylälaidalta. Algoritmissa toistetaan seuraavaa silmukkaa: 1. Poistetun ryhmän yläpuolella olevat nappulat putoavat ja mahdollisesti yhdistyvät ryhmiksi, jotka katoavat, ja sykli toistuu. Evaluaatiossa on maksimoitu kolmen edellisen heuristiikan summaa. Koska pelissä on nähtävissä vain kolme seuraavaa pelinappulaa, on luonnollista tehdä puuhaku kolmen syvyyteen asti. Peli on siis tavallaan Tetriksen ja Candy Crush / Zookeeper -tyyppisen pelin sekamuoto. Ketjussa on oma outo logiikkansa, mutta tuskin koskaan voi nähdä ihmisen pelaavan tällä tavoin. Numerot kertovat missä järjestyksessä pelinappulat häviävät. A: Ihmisen rakentama 12-ketju. Valinta perustuu solmun lupaavuuteen tai uutuuteen. 33 Puyo Puyo Käytämme tässä artikkelissa esimerkkipelinä Puyo Puyoa, sillä se on boteille yhtä aikaa sekä vaikea pelata erinomaisesti että helppo pelata keskinkertaisesti. Takaisinvienti: Simulaation tulos päivitetään kaikkiin valitun polun solmuihin. 3. 2. Mitä vähemmän solmua on tutkittu, sitä uudempi se on. 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 1 2 3 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 3 6 A B C D E
Bittilauta on kokonaisluku, jonka bitit vastaavat ”kyllä tai ei” kysymyksiin jokaisen pelilaudan ruudun kohdalta. Bittilautaesityksen hyöty on siinä, että kaikkia laudan nappuloita voidaan käsitellä kerralla yksinkertaisilla bittioperaatioilla. Esimerkiksi, jos laudan leveys on 8 pelinappulaa, saadaan sopivasti määritellyllä bitti. 2 1 7 . Pelimoottori määrittelee, millä tarkkuudella peli esitetään, ja kuinka tehokkaasti eri siirtovaihtoehtoja voidaan käydä läpi. Olennaisinta on luoda pitkiä ketjuja, ja pelimoottori kannattaa suunnitella tukemaan vain sitä. Kun kyseessä on diskreetissä ruudukossa pelattavasta pelistä, on usein tehokkainta esittää pelitila bittiruudukoilla. Moottori kaiken takana Koska Monte Carlo -puuhaku hyödyntää vain lyhyttä ihmisekspertin määrittelemää läpipeluutaktiikkaa hyvästä pelistä, on ensiarvoisen tärkeää, että taktiikkaa pystytään ajamaan mahdollisimman paljon. Jopa täysin satunnaiseen läpipeluutaktiikkaan perustuva Monte Carlo -botti pelaa hyvää amatööritason peliä. Normaalisti nappuloiden tippumiseen menee hieman aikaa, mutta käytännössä tekoäly voi olettaa, että nappulat tippuvat välittömästi, koska ero on pieni. Samalla myös saadaan pienennettyä hakuavaruuden kokoa. Puyo Puyossa taas on vaikea pelata itseään täysin pussiin. Tämä vähentää eri siirtovaihtoehtoja jopa 70-kertaisesti. Esimerkiksi Puyo Puyossa pelinappulat asetetaan laudalle reaaliajassa, mutta riittävään tarkkuuteen päästään mekaniikalla, jossa nappulat asetetaan ruudun yläreunaan mistä ne tippuvat alas välittömästi. Puyo Puyossa olennaiset kysymykset ovat, että onko tietyssä ruudussa tietyn värinen nappula. 4 34 Toisaalta tietyissä peleissä, kuten shakissa tai Tetriksessä, on hyvin helppo pilata oma asemansa ajattelemattomalla siirrolla, eikä Monte Carlo sovi niihin. Siispä usein kannattaa mahdollisuuksien puitteissa yksinkertaistaa pelilogiikkaa säilyttäen silti pelin olennaisimmat piirteet, jotta läpipeluu olisi mahdollisimman nopeaa. Mitä enemmän taktiikkaa voidaan soveltaa peliajan sisällä, sitä paremmin saadaan esiin siitä syntyvä hyvä keskimääräinen peli
Pelin häviää, jos ei pysty tekemään enää siirtoa. Parhaiten testissämme toimi neljän syvyinen puuhaku kolmen heuristiikan summalla, keräten jopa 943,3 pistettä siirtoa kohden. Bottien voittotodennäköisyydet toisiaan vastaan on listattu taulukossa 1. Käsin ohjelmoidut piirteet ohjaavat bottia hyvään muotoon, vaikka kokonaiskuva puuttuikin. satunnainen pistesignaali Monte Carlo heuristiikka Satunnainen Monte Carlo yhdellä simulaatiolla 50 % % % % pistesignaali 100 % 50 % 98 % 40,5 % Satunnainen Monte Carlo 10 000 simulaatiolla 100 % 2 % 50 % 6,25 % heuristiikka 100 % 59,5 % 93,75 % 50 % Taulukko 1. Sokea pisteiden kerääminen harhautti botin keräämään paljon yhden pitkiä ketjuja, mutta keskimääräinen ketjun pituus oli kuuden paikkeilla. Ilman suunnittelua ketjujen pituus jäi yleensä alle kolmen. Ilman mitään ymmärrystä muodosta Monte Carlo jää kuitenkin amatöörin tasolle. WIDTH = 6 HEIGHT = 12 BOTTOM = sum( 1 << (i + WIDTH * (HEIGHT 1)) for i in range(WIDTH) ) def handle_gravity(puyos): temp = while temp != puyos: temp = puyos below = (puyos >> WIDTH) | BOTTOM falling = puyos & ~below puyos = (falling << WIDTH) | (puyos & below) return puyos Listaus: painovoiman toteuttaminen bittioperaatioilla. Tästä seuraa suurempien rakenteiden ”pisaroituminen”, missä koko pino hajoaa ennen kuin se asettuu ruudukon pohjalle. Tämä botti arvioi pelipuun lehden arvon yhden satunnaisen jatkopelin perusteella. Kun satunnaista läpipeluutaktiikkaa ajetaan 10 000 kertaa per siirto, pelin laatu paranee huomattavasti. Tämä menetelmä sai aikaan keskimäärin 649,5 pistettä per siirto. Tässä artikkelissa. Hyvin pärjäsi kuitenkin myös puhtaaseen pistesignaaliin eli pelkästään tietyssä siirrossa välittömästi ansaittuihin pisteisiin perustuva viiden syvyinen puuhaku. Satunnainen Monte Carlo yhdellä simulaatiolla häviää kaikille muille boteille, mikä on lievästi yllättävää, sillä allekirjoittanut on silloin tällöin kompastellut sitä vastaan. Moninpelissä ketjut luovat pisteiden sijaan haittanappuloita vastustajan laudalle. Ketjut ovat johdonmukaisesti yli kymmenen mittaisia. Toki jopa kymmenen pituisia ketjuja saattaa syntyä vahingossa, mutta sen todennäköisyys on luokkaa yksi sadastatuhannesta. Annoimme tälle kuitenkin sen verran apua, että se ei tee itsemurhasiirtoja. Loppusanat Oman tekoälyn ohjelmointi on hauskaa puuhaa, varsinkin jos pitää myös pelimoottoreiden kehittämisestä. Kymmenellätuhannella simulaatiolla siirtoa kohden päästiin tulokseen 351,52 pistettä siirtoa kohden. Kymmenen tuhannen simulaation Monte Carlon ongelma on aivoton läpipeluutaktiikka – simppelillä peruspelillä ei voita. Tämä botti onnistui lopulta saamaan noin 14,4 pistettä siirtoa kohden. Oikealla esimerkki yksinkertaistetusta Puyo Puyon painovoima-algoritmista, joka tukee vain yhtä väriä. Yksinkertaisin näistä on satunnaista peluutaktiikkaa käyttävä yhden simulaation Monte Carlo -botti. laudalla siirrettyä kaikkia tietyn värin nappuloita yksi ruutu alemmas operaatiolla f(x) := x << 8. Pelaamaan Kokeilimme neljää eri bottia Puyo Puyon yksinpelissä. Gladiaattorit areenalle Peluutimme myös kaikkia neljää bottia toisiaan vastaan kaksinpelissä. 35 Bitteihin perustuvassa painovoimassa nappula pudotetaan vain, jos sen alla on tyhjää. Naiivisti seuraavan hyökkäyksen kokoa optimoiva pistebotti pärjää yllättävän hyvin, ja allekirjoittaneen paras heuristiikkaresepti nousee vain 10 prosenttiyksikköä sen yläpuolelle
• Sano se bitein. 2 1 7 . Pelitilanteet, jotka eivät ole listassa, ovat tasapelejä. Kehittäjän kekseliäisyyttä tarvitaan lähinnä datan pakkaukseen ja tietorakenteen kehittämiseen, jolla löydetty pelitulos saadaan liitettyä oikeaan pelitilanteeseen mahdollisimman pienellä määrällä muistia. Jumala taulukossa Yksinkertaisimmat pelit voidaan ratkoa tehokkaasti käymällä läpi kaikki mahdolliset pelitilanteet. Näin saadaan korvattua kokonaisia pelipuun haaroja valmiiksi lasketulla lopputuloksella. Lopulta on saatu listattua kaikki voittavat pelitilanteet. Mainittakoon, että gossa tämä ero on erityisen tärkeä, sillä yksinkertaista voittoehtoa ei ole, ja pelissä syntyy kehämäisiä tilanteita, joissa kumpikaan pelaaja ei itsestäänselvästi yritä ”matittaa”. Voiko siitä oppia jotain. • Kehitä puuhakuun sopivia heuristiikkoja. Ehkä puuhaku on parempi ratkaisu. Allekirjoittaneella oli vaikeuksia keksiä hienostuneita heuristiikkoja, joten ymmärryksen syvällisyys oli korvattava laskemalla syvemmälle pelipuuhun. esitettyjen algoritmien pelivahvuus riippuu suoraan siitä, paljonko eri siirtosekvenssejä ehditään käydä läpi. • Paranna Monte Carlon läpipeluutaktiikkaa. • Lyö sitä Monte Carlolla. Jo täysin satunnaisen pelin voimasuhteet kertovat paljon. Loppupelitaulukon avulla pelin voittoehto voidaan määritellä botille uusiksi. Suodata pois selvästi väärät siirrot. Kun esimerkiksi shakissa laudalla on enää muutama nappula, on mahdollista ratkaista peli täydellisesti keräämällä kaikki pelitilanteet niin sanottuun loppupelitaulukkoon . 4 36 Bottinikkarin muistilista • Yksinkertaista pelin sääntöjä, jotta hakuavaruus pienentyy. Shakissa on jopa mahdollista estää vastustajaa saamasta pisteitä lainkaan, mikä lasketaan siis äärettömän hyväksi jarruttamiseksi. Valkea voi tässä tilanteessa pakottaa matin kolmessa puolisiirrossa (Kc6 Kd8 Qd7) tai pakottaa pelin jatkumaan loputtomiin. Yllättäen jälkimmäinen tavoite on tietyssä mielessä edullisempi. Ensin listataan kaikki voitetut pelitilanteet, sitten kaikki pelitilanteet, jotka johtavat suoraan voittoon, sen jälkeen kaikki pelitilanteet, jotka johtavat näihin, ja niin edelleen. Esimerkiksi shakissa sen sijaan, että peli päättyy kuninkaan matittamiseen, voidaan määritellä, että peli päättyy, kun päädytään tilanteeseen, joka löytyy valmiiksi laskettuna loppupelitaulukosta. Tällaisen voi helposti liittää omaan bottiinsa ja nostaa sen pelin seuraavalle tasolle. • Bonus: Tee pelin minimaaliseen versioon täydellinen pelaaja. Pohdi mikä tekee asemasta vahvan. Siksi jokainen pelitilanne sisältää itse asiassa kaksi eri tulosta ja kaksi eri etäisyyttä: Kuinka paljon pisteitä voidaan saavuttaa ja kuinka vähäisessä määrässä siirtoja. Loppupelitaulukko on vanha idea peräisin vuodelta 1965. Yllä kuvattuun retrogradiseen analyysiin perustuva algoritmi on verrattain yksinkertainen. • Onko MC-botilla edelleen puutteita. Niinpä se sopiikin lähinnä muutaman nappulan loppupeleihin shakissa tai hyvin pienten lautojen ratkaisemiseen gossa. Voiko taulukkoa käyttää heuristiikkojen evaluoimiseen. Kehien rikkomiseksi on välttämätöntä tarkastella viivytysstrategiaa ja sen estämistä vastastrategialla. Paras siirto on se, jonka etäisyys voitosta on yhden pienempi kuin nykytilanteen. Shakissa pisteitä ovat vain +1 (voitto), (tasapeli) ja -1 (häviö). Mustalla ei ole keinoa vangita valkean kuningatarta, ja valkean tulos on viivytysmielessä ”äärettömän hyvä”.. • Etsi puutteet. Tässäkin lähestymistavassa on ongelmansa, jos molempien pelaajien voittomahdollisuuksia listataan samassa taulukossa. Ongelma pelkässä voiton listaamisessa on se, että vaikka tiedettäisiinkin, että tietty pelitilanne johtaa voittoon ja nämä siirrot ylläpitävät voittoasemaa, ei tiedetä, mikä siirto edistää voiton saavuttamista. Sen sijaan, että parasta siirtoa etsittäisiin pelaamalla peliä eteenpäin, tehdäänkin haku pelin lopusta alkaen. Siksi pelkän voiton lisäksi listataan usein myös etäisyys voittoon. Valitettavan usein raaka laskentavoima jyrää nokkelat ja näppärät käsin kudotut taktiikat. Shakkia varten valmiiksi laskettuja kuuden nappulan loppupelitaulukoita löytää netistä helposti ilmaiseksi. Tekeekö MC-botti jotain systemaattisesti väärin. Bittilaudat ovat usein tehokas tapa toteuttaa pelimoottori. Kun voittava pelaaja yrittää mattia mahdollisimman nopeasti, yrittää altavastaaja jarruttaa mattia mahdollisimman tehokkaasti, mikä tekee ongelmasta epäsymmetrisen. Tämän lähestymistavan ongelma on lähinnä se, että eri pelitilanteita on valtavasti. Kuinka pitkään vastustajan pisteiden saamista voidaan jarruttaa ja kuinka vähän pisteitä hän silloin saa
Pelialan valmennusohjelma 17–29-vuotiaille / kesto 3 kk TEAM: PLAYER 1 17–29-vuotias SITE Oulu & Tampere READY TO PLAY. Mietitkö, löytyisikö pelialalta sinulle sopiva työtai opiskelupaikka. www.pelifarmi.fi Haluatko oppia tekemään pelejä tai oletko jo hankkinut osaamista grafiikan, koodaamisen tai vaikka käsikirjoittamisen ja pelisuunnittelun saralta. Hae mukaan kevään valmennusohjelmaan sivujemme kautta – haku auki nyt!
Puhdas funktio ei saa lukea tai muuttaa ohjelman tilaa, tietokantaa, levytiedostoja tai muuta sellaista. funktio f: syöte x tuote f(x). Kun ongelman pohjimmainen syy on lopulta löydetty ja tehdään korjaus, on yleistä, että korjaus hajottaa jonkin toisen ohjelman toiminnon. Debuggaus edellyttää salapoliisityötä oudosta tilasta askel askeleelta taaksepäin, jotta saadaan selville mitä, milloin ja missä meni alun perin pieleen. Puhtaiden funktioiden ymmärtäminen, testaaminen ja debuggaaminen on selkeää ja niiden uudelleenkäyttö helppoa. Puhtaita funktioita voi sen sijaan aina kutsua vapaasti rinnakkain missä järjestyksessä vain, ilman että eri funktioiden suoritukset sotkevat toisiaan. 4 38 O hjelmoinnin haasteena on pitää hallinnassa monimutkaisuus. Rinnakkaistaminen on tämän päivän kuumimpia ohjelmointitrendejä, koska prosessoreiden kellotaajuudet ovat jo usean vuoden ajan polkeneet paikallaan, ja siten ainoa merkittävä keino nopeuttaa ohjelmaa on lisätä ytimien määrää ja rinnakkaisuutta. Näiden ongelmien selvittäminen on vaivalloista, ja ne tekevät laajan ohjelman kehittämisestä ja ylläpidosta kallista. Puhtaan funktionaalinen ohjelma koostetaan toisiaan kutsuvista puhtaista funktioista, joten kokonaisuutena tällainen ohjelma on yksinkertaisesti yksi iso funktio, joka ottaa sisään daFunktionaalista ohjelmointia Clojurella Funktionaalinen ohjelmointi tarjoaa elegantit työkalut suurten koodimassojen hallintaan. Näiden ongelmien välttäminen puolestaan vaatii monimutkaisia ja itsessään bugiherkkiä lukitusratkaisuja. Teksti: Robert Brotherus Kuvat: Sakari Leppä, Robert Brotherus, Nasu Viljanmaa Koodi Puhdas funktio. Muuttujien muuttamiseen perustuvan ohjelmoinnin ongelmat moninkertaistuvat, kun koodiin päästetään mellastamaan yhtä aikaa monta säiettä, jotka muuttelevat ja lukevat muuttujia. 2 1 7 . Onnistuessaankin lukitukset johtavat usein siihen, että säikeet odottelevat valtaosan aikaa lukkojen vapautumista, ja näin menetetään suuri osa rinnakkaisuuden potentiaalisesta tehohyödystä. Kaikenlaisten muuttujien käyttö pyritään minimoimaan. Ei muuttujia, ei muuttujaongelmia Funktionaalinen ohjelmointi on yleisesti käytetylle olio-ohjelmoinnille sekä perinteiselle imperatiiviselle ohjelmoinnille vaihtoehtoinen tyyli, joka pyrkii helpottamaan edellä kuvattuja ongelmia. Tilan hallinta Clojuressa Puhdas funktio ottaa sisään dataa ja tuottaa siitä (ja vain siitä) tuloksen. Tyypillinen bugi on, että ohjelman globaalit muuttujat tai jonkin olion kentät ovat menneet outoon tilaan ja ohjelmoijan pitää selvittää, miten tähän on päädytty. Yksinkertaisen ohjelman kasvaessa pikkuhiljaa satoihintuhansiin riveihin uusien ominaisuuksien lisäämisestä vanhoja rikkomatta tulee yhä vaikeampaa. Funktionaalinen ohjelma pyritään koostamaan lähes yksinomaan puhtaista funktioista, jotka ottavat parametreja ja palauttavat lopputuloksen, joka riippuu vain parametreista. Funktionaalinen ohjelma pyritään koostamaan funktioista, joilla ei ole sivuvaikutuksia. Tällaiset niin sanotut puhtaat funktiot ottavat parametreja ja palauttavat niistä lasketun tuloksen, mutta eivät muuta ohjelman tilaa eli erilaisten muuttujien arvoja millään tavalla
Kaikki muut funktiot ovat puhtaita, joten suuressa ohjelmassa lähes 100% funktioista on puhtaita. Kun ohjelman tilan pitää muuttua, niin tila-muuttujan arvo vaihdetaan aina kerralla kokonaan uuteen arvoonsa. 2. Kuvataan koko ohjelman tila vain yhdellä globaalilla muuttujalla, jonka arvo koostuu sisäkkäisistä Clojuren perustietotyypeistä. Osin tästä johtuen perinteisiä LISP-kieliä on syystä pidetty melko hitaina oikean maailman ongelmiin. Kaikki funktiot näkevät aina vain yhden version tilasta. 39 taa, tuottaa siitä tuloksen ja loppuu siihen. Funktionaalisessa tyylissä muuttujien sijaan käytetään toisenlaisia Clojuren kokoelmatyyppejä Vektori: [ 1, 2, [ 2.5, 3.4 ], 3 ] Lista: ( 1, 2, 3, ”matti” ) Hakemisto: { :matti 32, :mikko 20, :seppo 17 }. Tila vaihdetaan uuteen antamalla funktio, joka ottaa vanhan tilan parametrina ja palauttaa uuden tilan. Näihin harvoihin, jotka voivat olla puhtaan funktionaalisia, lukeutuvat esimerkiksi kääntäjät: ne syövät joukon lähdekoodia ja tuottavat suoritettavan binääritiedoston. Clojure käyttää niin sanottuja persistenttejä tietorakenteita, joissa uuden tietorakenteen toteutus viittaa alkuperäisen rakenteen tietoihin niiltä osin kuin ne ovat samoja. Clojuren tietotyypit – miltei liian hyvää ollakseen totta Koska puhtaassa funktionaalisessa ohjelmoinnissa ei käytetä muuttujia, kaikki tietorakenteet ovat muuttumattomia (immutable). Tehokas funktionaalinen ohjelmointi on usein mahdotonta ilman näitä tehokkaita tietotyyppejä. Funktionaalisessa tyylissä vaaditaankin joskus hieman enemmän aivotyötä jonkin ohjelmointiongelman ratkaisemiseen. Funktionaalinen työkalupakki Kaikenlaiset muuttujat globaaleista paikallisiin tuntuvat joskus hyvin käteviltä moneen tarkoitukseen, ja muuttujien välttäminen tekee ohjelmoinnista omalla tavalla haasteellisempaa. Jos esimerkiksi tila sisältää kahden pankkitilin A ja B saldon, niin tilisiirron jälkeinen uusi tila sisältää A:n kasvaneen arvon ja B:n pienentyneen arvon. Aina kun ohjelman tila vaihdetaan uuteen, voidaan edellinen tila tallentaa historialistaan ja hakea se sieltä myöhemmin, kun halutaan palata aiempaan tilaan. Tila voidaan toki tallentaa myös tietokantoihin, joista parhaiten Clojuren pariksi sopii Clojuren tekijän Rich Hickeyn kehittämä Datomic-tietokanta. Tämä saattaa kuulostaa hankalalta, hitaalta ja paljon muistia vievältä ratkaisulta, ja näin saattaa toki ollakin. Datomic laajentaa näin muuttumattomien tietotyyppien idean tietokantojen maailmaan. 3. Myös undo-toiminto saadaan käytännössä ilmaiseksi tällaisessa arkkitehtuurissa. Tämä tila ei sisällä mitään dataa, jota tarvitaan vain väliaikaisesti. Tilanteissa, joissa olioohjelmoinnissa muutettaisiin eli mutatoitaisiin objektin kenttiä, luodaan funktionaalisessa ohjelmoinnissa uusi tietorakenne, joka sisältää halutut muutokset. Edellä kuvatun tyyppisessä ohjelmassa myös monisäikeisyys on hyvin luontevaa. Näin ohjelmaa voidaan jatkaa seuraavalla käynnistyskerralla samasta tilasta. Kaikki tilaa lukevat ja siitä erilaisia tuloksia tuottavat säikeet (esimerkiksi http-kyselyyn vastaava htmlnäkymän muodostava funktio) voivat rauhassa käyttää tilan eri attribuutteja ilman pelkoa, että ne olisivat ristiriidassa keskenään, tai että ne muuttuisivat funktion suorituksen aikana. Datomic-kannassa ei koskaan muuteta olemassa olevaa tietoa, vaan luodaan vain uusia tietoja. Omissa Clojure-harrasteprojekteissani olen yleensä ohjelman tilan muuttuessa samalla tallentanut tilan serialisoituna Clojure-tekstinä tiedostoon. Uuden tila-arvon valmistamisessa voi olla useita vaiheita, mutta sen hoitaa joukko puhtaita funktioita, jotka eivät koske tila-muuttujaan. Lopputulos on kuitenkin yleiskäyttöisempi, kestävämpi ja vähemmän virhealtis kuin muuttujiin perustuva ratkaisu. Linkitetty lista on kuitenkin paljon hitaampi (O(N)), kun pitää esimerkiksi hakea alkio indeksillä tai tutkia, sisältääkö lista jonkin tietyn alkion. Hyvä funktionaalinen ohjelmointikieli tarjoaa kuitenkin tietorakenteet ja menetelmät, joilla uuden version tekeminen objektista on helppoa ja nopeaa sekä vie vain vähän muistia. Tila-muuttuja pidetään Clojuren atom-tallennuspaikassa, joka mahdollistaa tilan turvallisen vaihtamisen uuteen monisäikeisessäkin ohjelmassa. Näistä löytyy uuden objektin luova nopea (O(log 32 N) eli käytännössä lähes vakioaikainen) ja vähän muistia kuluttava operaatio kaikkiin yleisiin tarpeisiin. Tämä ohjelmointimalli ei ota kantaa serialisointiin eli tilan pysyvämpään tallennukseen levylle esimerkiksi tietokantaan. Tämä on turvallista, koska alkuperäinen data ei voi koskaan muuttua. Mitä pitkäkestoisempi ja laajempi ohjelmointiprojekti siis on kyseessä, sitä enemmän investointi funktionaaliseen tyyliin maksaa itseään takaisin, joskus jopa moninkertaisesti. Clojure pitää tilaa päivittävät funktiot automaattisesti järjestyksessä niin, että vain yksi kerrallaan päivittää tilaa. Koko ohjelma sisältää vain yhden tällaisen tilaa vaihtavan sivuvaikutuksellisen funktion. Tämä saavutus voi kuulostaa liian hyvältä ollakseen totta mutta on mahdollinen kekseliään implementaation avulla. Tämä ei vaadi juuri ollenkaan ylimääräistä aikaa tai vaivaa, koska Clojure-tietorakenteiden serialisointi, deserialisointi ja tallennus voidaan kaikki tehdä yhdellä rivillä ja rinnakkaisessa säikeessä. Clojuren vastaus tähän haasteeseen seuraava: 1. Tila-muuttujan arvo ei koskaan sisällä ristiriitaisia välimuotoja eri tilojen välillä. Moderni Clojure sen sijaan sisältää joukon kokoelmatyyppejä kuten listat, vektorit ja hakemistot (map). Tarkka lukija ymmärtää, että kovin monet oikean maailman ongelmia ratkovat ohjelmat eivät voi olla puhtaan funktionaalisia. Suurin osa ohjelmista kuitenkin tarvitsee jonkinlaista ajanhetkestä toiseen muuttuvaa tilaa ollakseen hyödyllisiä. Funktionaalisten kielten esiäidissä LISPissä kaikki tietorakenteet perustuivat linkitettyihin listoihin, joista on nopeaa (aikavaativuus O(1)) tehdä uusi pidempi versio ilman, että alkuperäinen lista muuttuu tai että listan alkiot kopioidaan muistissa
Tämä etu korostuu laajoissa ohjelmissa koodin paremman uudelleenkäytettävyyden ansiosta. Omissa projekteissani olen pyrkinyt yhdistämään hyötyä ja huvia. Rekursiolla, itse itseään kutsuvalla funktiolla, voidaan toteuttaa toimintoja, jotka toteutettaisiin muissa tyyleissä silmukkarakenteilla, joiden tila muuttuu iteraatiosta toiseen. Tällöin toki ohjelman funktioiden puhtaus on vaarassa kärsiä. Dynaamisen tyypityksen varjopuoleksi voidaan lukea se, että kääntäjän on vaikeampi optimoida koodia, jolloin suorituskyky on usein staattisesti tyypitettyä kieltä heikompi. Seuraavassa luodaan state-symboli, jonka arvoksi tulee kirjoitettavan tekstin tilan ylläpitävä Kiinan kielen kirjoitusta Clojurella. Toki usein luettavuuden vuoksi voi olla syytä kirjoittaa koodi hieman laajemmin kuin lyhin mahdollinen ilmaisu. 2 1 7 . Tämä vähentää komponenttien välistä riippuvuutta tehden funktioista yleiskäyttöisempiä ja mahdollistaen aina helpon serialisoinnin. Clojure on kuitenkin dynaamiseksi kieleksi merkittävän nopea. Ohjelma on monisäikeinen, jolloin sanakirjasta voidaan jatkuvasti hakea kirjoitettuun tekstiin sopivia kirjainmerkkejä ilman, että käyttöliittymä hyytyy. Clojure-ohjelma siis rakentuu listoista, vektoreista ja hakemistoista, joilla kuvataan ohjelman funktiot. Kun dataa voi vain lukea eikä muuttaa, näkyvyyksiä ei tarvitse rajoittaa. Ilman erillisiä tyyppimäärittelyjä tarvitaan myös vähemmän koodirivejä ja päästään nopeammin liikkeelle ohjelman kirjoittamisessa. Funktionaalisessa tyylissä funktioita voidaan käsitellä kuten mitä tahansa objektia. Lisäksi yleensä moderneissa suurissa ohjelmissa vain pieni osa ohjelmasta on suorituskyvyn kannalta kriittistä. Koska JVM-pohjaisesta Clojuresta on helppo kutsua Javafunktioita, voidaan tällaiset toiminnot tarvittaessa koodata Javalla (tai C:llä Java-C-linkin kautta). Tarvittavat tietorakenteet kehittyvät pikkuhiljaa käsi kädessä niitä käsittelevien funktioiden kanssa. Kiinan kieltä opiskellessani tein kiinan kielen kirjoitusohjelman https://github. Tämä ja Clojuren niin sanotut makrot mahdollistavat vertaansa vailla olevan metaohjelmoinnin eli ohjelman, joka tarpeen mukaan generoi itse itseään. Se voittaa useilla alueilla esimerkiksi Rubyn, Pythonin ja JavaScriptin. Yksikkötestien tekeminen edellä kuvatussa Clojure-arkkitehtuurissa onkin hyvin suoraviivaista, koska puhtaan funktion testaaminen ei vaadi minkäänlaisen tilan rakentelua, ja ohjelman funktioista 99 prosenttia on puhtaita. 4 40 työkaluja kuten rekursio, funktioobjektit ja korkeamman asteen funktiot. Funktionaalista ohjelmointia helpottaa myös se, että kaikki data voidaan pitää avoimesti kaiken ohjelmakoodin näkyvissä sen sijaan, että sitä piiloteltaisiin privaattikenttiin, kuten olio-ohjelmoinnissa suositellaan. Clojurea pidetäänkin yhtenä kaikkein ilmaisuvoimaisimmista kielistä, eli pienellä määrällä koodirivejä voi saada paljon aikaan. (defn insert-words! [ words ] (swap! state insert-words words) ) Listaus 2.. Dynaamisesti tyypitetyissä kielissä osa tyyppeihin liittyvistä bugeista tulee esille vasta ajon aikana eikä käännösvaiheessa. Clojure sisältää myös kirjastoja, kuten spec, jotka mahdollistavat funktioiden parametrien tarkemman tyypin määrittelyn uhraamatta dynaamisen tyypityksen etuja. Syntaksin osalta Clojure, kuten muut LISPit, poikkeavat radikaalisti muista kielistä siten, että kielen syntaksi koostuu kielen omista tietorakenteista. Clojurea ja kiinaa Seuraavassa esittelen omista Clojureharrasteprojekteistani joitakin funktioita, jotka valaisevat edellä esiteltyjä Clojuren piirteitä. (def state (atom { :text [] :cursor-pos })) Listaus 1. Tämä vähentää entisestään koodin tarpeetonta toistoa, mikä helpottaa koodin ylläpitoa. Def-lauseella annetaan Clojuressa symbolille arvo. Tämän artikkelin puitteissa ei ole mahdollista käydä läpi monia Clojuren perusteita, joten koodiesimerkit saattavat avautua paremmin, jos tutustut perussyntakseihin esimerkiksi sivustolta clojure-doc.org/ articles/tutorials/introduction.html. Ohjelman käyttöliittymä on tehty Windowsin WPF-kirjastolla ja C#-kielellä, mutta sovelluslogiikka ja tilan hallinta ovat kokonaan Clojuren puolella, tarkemmin sanottuna sen C#-yhteensopivalla clojure-clr-versiolla. Monet yleiskieletkin ovat alkaneet viime vuosina tukemaan näitä menetelmiä, mutta kun muuttujia ei käytetä lainkaan, nämä menetelmät nousevat tärkeämpään rooliin. com/rbrother/ChineseWriter, jolla voi kirjoittaa ja lukea kiinaa käyttäen äännekirjoitusta ja sisäänrakennettua 100 000 sanan sanakirjaa. Funktiot voivat ottaa parametreina toisia funktioita tai palauttaa tuloksena funktioita. Tähän haasteeseen merkittävin ratkaisu ovat automaattiset (yksikkö)testit, jotka toki ovat tärkeitä, vaikka kieli olisikin staattisesti tyypitetty. Makroilla voidaan myös laajentaa kieltä dynaamisesti uusilla ominaisuuksilla, jotka muissa kielissä pitää kovakoodata kielen syntaksiin ja kääntäjään. Dynaaminen tyypitys Dynaamisesti tyypitetyissä kielissä, kuten Clojuressa, tyyppejä ei tarvitse määritellä etukäteen
Koska ohjelma tukee useita rinnakkaisia (defn insert-words [ { :keys [ text cursor-pos ] } new-words ] (let [ new-text (concat (take cursor-pos text) new-words (drop cursor-pos text)) new-cursor-pos (+ cursor-pos (count new-words)) ] { :text new-text :cursor-pos new-cursor-pos } )) Listaus 3. Seuraavassa load-database-funktiossa nämä ladataan tiedostoistaan (short-dict ja large-dict) sekä yhdistetään merge-with merge -operaatiolla, joka yhdistää sekä eri sanakirjojen sanat että sanojen attribuutit. Nopeaa hakua varten yhdistetystä sanakirjasta tehdään eri avainten mukaan indeksoituja hakemistoja index-funktiolla sekä sanojen yleisyyden mukaan järjestetty versio sort-suggestions-funktiolla. { :english "next week" :hanyu " ???. Web-käyttöliittymä lähettää Clojure-tietorakenteina pyyntöjä palvelimelle ja saa vastauksena HTML:ää tai JSON-viestejä. [Ks. listaus 2.] Edellisen käyttämä insert-words on puhdas funktio, joka ottaa parametreinaan ohjelman tilan ja uudet sanat. com/rbrother/glory-of-empires. Ensimmäisestä parametrista puretaan textja cursor-pos-arvot. Funktio käyttää let-rakennetta uuden tekstin ja uuden kursorin sijainnin laskemiseen ja sen jälkeen muodostaa tulokseksi uuden hakemiston näistä uusista attribuuteista. Palvelinpuoli on tehty täysin Clojurella ja käyttöliittymä on HTML-web-sovellus. listaus 1.] Seuraavassa määritellään defnlauseella insert-words!-funktio, jolla lisätään kirjoitettavaan tekstiin uusia sanoja. Funktio ottaa parametrina lisättävät sanat (words) ja kutsuu Clojuren swap!-funktiota, jolla vaihdetaan atom-muuttujan tila uuteen hallitusti. (defn new-game-state [ ] { :counter :map {} :planets {} :units {} :players {} } ) Listaus 7.. [Ks. " :hanzi-rarity 2762 :known 1 :pinyin "mei3 wei4 ke3 kou3" :short-english "delicious" } { :english "mineral spring water" :hanyu " ??. Lopuksi reset!-funktioilla nämä listat ja hakemistot tallennetaan atom-muistipaikkoihin käyttöä varten. Ohjelman uusi pelitila on hakemisto. [Ks. Nimessä käytetään huutomerkkiä kertomaan, että se kuuluu ohjelman harvoihin sivuvaikutuksellisiin funktioihin. 41 atom-muuttuja. listaus 7.] Kaikki ohjelman tila on yhdessä atom-tallennuspaikassa. Koodirivejä on noin 2000 ja funktioita noin 150. " :hanzi-rarity 1698 :known 4 :pinyin "xia4 ge4 xing1 qi1" :short-english "next week" } { :english "delicious, tasty" :hanyu " ???. Swap! ottaa parametreina (1) atommuuttujan (state), (2) funktion, jolla vanhasta tilasta tehdään uusi tila (insert-words) ja (3) parametrit tuolle funktiolle (words). " :hanzi-rarity 28690 Listaus 4. (defn load-database [ cc-dict-file short-dict-file ] (let [ short-dict (create-hanyu-pinyin-dict (load-from-file short-dict-file)) large-dict (create-hanyu-pinyin-dict (load-from-file cc-dict-file)) full-dict (merge-with merge large-dict short-dict) merged-words (sort-suggestions (vals full-dict)) hanyu-indexed (index merged-words [ :hanyu ]) sort-and-simplify (fn [word-list] (map simple-props (sort-suggestions word-list))) ] (reset! info-file-name short-dict-file) (reset! all-words (vec (map simple-props merged-words))) (reset! hanyu-pinyin-dict full-dict) (reset! hanyu-dict (map-map-keys-values :hanyu sort-and-simplify hanyu-indexed )))) Listaus 5. listaus 3.] Listauksessa 4 on osa ohjelman sanakirjaa, joka on vektori sanoja kuvaavia hakemistoja. " :hanzi-rarity 12291 :hsk-index 1178 :known 1 :pinyin "kuang4 quan2 shui3" :short-english "mineral spring water" } { :english "No smoking, Please do not smoke" :hanyu " ???. Muuttujan alkuarvona on hakemisto, joka sisältää tyhjän tekstin ja kursorin paikan 0. [Ks. Kuvassa 1 näkyy kaikki funktiot ja niiden väliset kutsuriippuvuudet. (defn find-words [ input english ] (let [ matcher ((if english english-matcher pinyin-matcher) input) ] (take 500 (filter matcher @all-words)))) (defn pinyin-matcher [ pinyin-start ] (fn [ { pinyin :pinyin } ] (let [ pinyin-no-tones (-> pinyin (str/replace #"[: ]" "") str/lower-case remove-tone-numbers ) ] (starts-with pinyin-no-tones pinyin-start)))) Listaus 6. listaus 6.] Avaruussotaa verkossa Toinen laajempi Clojure-projektini toteuttaa avaruusaiheista sotaa Twilight Imperium -henkisen monen pelaajan lautapelin muodossa: https://github. [Ks. Haku tapahtuu taustasäikeessä, ja koska Clojuren filter-funktio on ”laiska”, sen ei tarvitse kahlata läpi koko 100 000 sanan listaa, vaan se hakee lisää osumia sitä mukaa, kun käyttöliittymä niitä pyytää. Sanakirja jakautuu 100 000 sanan staattiseen sanakirjaan ja pieneen dynaamiseen sanakirjaan, joka pitää sisällään käyttäjän lisäämät ja muokkaamat sanat. listaus 5.] Sanoja haetaan find-words-funktiossa yhdistetystä yleisyyden mukaan järjestetystä sanakirjasta englannin tai kiinan (pinyin) hakusanan mukaan. [Ks
[Ks. [Ks. Funktiot jakautuvat kolmeen ryhmään: HTTP-pyyntöjä käsittelevät funktiot, pelikomentoja toteuttavat funktiot ( Command ) ja HTML/SVG-näkymiä luovat funktiot ( View ). Clojuren makro ->> mahdollistaa funktioiden kutsumisen sarjassa ilman suurta määrää sulkuja. Glory of Empires. listaus 9.] Sitten swap-games kutsuu swap-games-funktiota, joka Clojuren swap!funktiolla päivittää ohjelman tilan. Pelitila Kuva 1. (def save-agent (agent nil)) (defnsave-games-async [ data ] (send-off save-agent save-game data)) (defnsave-game [ agent-state state ] (write-to-file game-file-path state)) Listaus 11. Funktiossa aloitetaan units-listasta, ja sille kutsutaan järjestyksessä collapse-fighters, group-units ja mapcat. Tämä funktio tuottaa pelilaudan yhdessä ruudussa olevien alusten kuvat ryhmiteltynä yksikkötyypin mukaan. [Ks. Se kutsuu game-update-func-funktiota, joka muodostaa koko ohjelma tilan päivittävän funktion yhden pelin päivittävästä funktiosta käyttämällä Clojuren update-funktiota. [Ks. listaus 13.] Seuraavaksi esimerkki pelitilaa muuttavan funktion toteutuksesta. Alkuarvona kokonaistilalle on yksi ”sandbox”-niminen peli, jolla on tyhjä pelitila. Edustava otos funktioita Glory of Empires -pelistä. Funktionaalinen mapcat kohdistaa funktion listan alkioihin ja yhdistää tuloslistat yhdeksi. listaus 8.] Pelitila vaihdetaan uuteen swapgame-funktiolla, joka ottaa parametreinaan pelitilaa päivittävän funktion ja päivitettävän pelin id:n. [Ks. Funktionaalisessa tyylissä molemmat ottavat pelitilan parametrina ja palauttavat siitä tuloksen – komentojen tapauksessa uuden pelitilan, näkymien tapauksessa HTML-koodia. Move-units-funktio liikuttaa pelaajan aluksia ruudusta toiseen. Rekursio tarvitsee lopetusehdon, joka tässä funktiossa on se että alusryhmä on tyhjä. Tämä on ohjelman ainoa sivuvaikutuksellinen kohta. Imperatiivisessa tyylissä komentofunktiot muokkaisivat globaalia tilaa ja näkymäfunktiot lukisivat globaalia tilaa. Clojuren conj-funktiolla rakennetaan pala palalta lista yksittäisen aluksen svg-funktiolla tehtävistä grafiikoista. Alukset ovat ryhmässä vierekkäin, eli joka rekursiolla next-loc-symboli saa arvon, jossa x-koordinaattia on kasvatettu aluksen leveyden verran. Avaruusaiheinen heksapohjainen lautapeli. (defn swap-games [ swap-func] (save-games-async (swap! games swapfunc))) Listaus 10. listaus 10.] Swap-games myös kutsuu samalla save-games-async-funktiota, jolla pelitila tallennetaan turvallisesti taustasäikeessä agent-objektilla ja sen sendoff-funktiolla hidastamatta muuta ohjelmaa. Pelitila on Clojure-tietorakenteena, ja siitä voi generoida erilaisia näkymiä. Ohjelma noudattaa pitkälle edellä kuvattua arkkitehtuuria: tila on yhdessä atom-tyypissä (musta), vain pieni joukko funktioita lukee tai muuttaa tilaa (punaiset) ja loput funktiot ovat puhtaita. 4 42 pelejä, päätason tietorakenne on hakemisto, jossa avaimena on pelin nimi ja arvona pelin tila. Karttaa rakennetaan ja aluksia liikutellaan komennoilla, jotka käsitellään palvelimella pelitilaa muuttavina Clojure-funktioina.. [Ks. (def games (atom { :sandbox (new-game-state "") })) Listaus 8. 2 1 7 . listaus 12.] Edellisen käyttämä group-svg-funktio käyttää funktionaalisessa ohjelmoinnissa tärkeää rekursiota (kutsuu itse itseään) tuottaakseen alusryhmän grafiikan kohtaan (x,y). Pelin kartta ja sen objektit tehdään SVG:nä. listaus 11.] Seuraavassa esimerkki näkymää tuottavasta piirtofunktiosta. (defn swap-game [ func game-id ] (swap-games (game-update-func func game-id))) (defngame-update-func [ inner-func game-id ] (fn [ games ] (update games game-id inner-func))) ) Listaus 9
Lopuksi moveunit-to-funktio annetaan parametrina operate-on-units-funktiolle, jota käyttävät myös yksiköiden lisäämiseen ja poistamiseen käytettävät funktiot, jolloin vältytään koodin toistolta. (defn move-units [ unit-ids loc-id game ] (let [ move-unit-to (fn [ units-map id ] (move-unit units-map id loc-id game)) ] (operate-on-units game move-unit-to unit-ids))) Listaus 14. Millä tahansa kielellä voidaan tehdä esimerkiksi puhdas funktio, joka ottaa kaksi lukua ja palauttaa niiden summan käyttämättä paikallisia muuttujia ja muuttamatta ohjelman tilaa. Mahdollisimman funktionaaliseen ohjelmointiin voi pyrkiä millä ohjelmointikielellä tahansa. listaus 15.] Kohti funktionaalista tulevaisuutta. Aina LISPin syntymästä 1950-luvulla alkaen on aina aika ajoin näyttänyt siltä, että funktionaalinen ohjelmointi on murtautumassa valtavirtaan. listaus 14.] Operate-on-units-funktiossa päivitetään update-funktiolla pelitilan units-attribuutti. Itse käytän IntelliJ IDEAn päälle tehtyä ilmaista Cursive-editoria, joka tukee monipuolisesti Clojuren editointia. group) [] (let [ { type :type count :count :as ship } (first group) next-loc [ (+ x (width ship) 1) y ] ] (conj (group-svg [ (rest group) next-loc ] ) (svg ship loc))))) Listaus 13. Imperatiiviset kielet ovat kuitenkin aina onnistuneet säilyttämään valta-asemansa. Globaalit muuttujat ja olioiden kenttien muuttaminen ovat kätevyydessään houkuttelevia menetelmiä, ja niistä eroon pääseminen vaatii ajatustyötä. Clojurelle on useita hyviä editoreita ja IDE-ympäristöjä. Funktionaalinen ohjelmointi ei ole kuitenkaan mustavalkoinen joko-taiominaisuus tai vain funktionaalisilla kielillä mahdollinen malli. Funktiossa muodostetaan fn-lauseella paikallinen move-unit-to-funktio, joka käyttää hyväkseen isäntäfunktion parametrien loc-id ja game arvoja. Jopa niin että Clojure-kielen nimi tulee sanoista closure ja JVM. Prosessoriydinten määrän noustessa paine tehdä helposti ja turvallisesti rinnakkaistuvia ohjelmia kasvaa kuitenkin jatkuvasti, ja tähän funktionaalinen tyyli on paras ratkaisu. 43 tulee game-parametrissa, ja funktio palauttaa uuden pelitilan. Sitä paitsi funktionaalinen ohjelmointi on hauskaa, kun siihen pääsee sisään ja data soljuu koodaamiesi eleganttien funktioiden läpi kuin kevätpuro. closure), ja se on myös tärkeä väline funktionaalisessa ohjelmoinnissa. [Ks. Viime vuosina varsinaisten funktionaalisten kielten ja oliokielten välinen ero on myös kaventunut, kun oliokieliin on tuotu funktio-objektit ja korkeamman asteen funktiot. Myös globaalien muuttujien välttäminen on kuulunut ohjelmoinnissa suositeltaviin tapoihin jo olioohjelmoinnin alkupäivistä saakka. Cursive. (defnoperate-on-units [ game units-fn unit-ids ] (update game :units (fn [units] (reduce units-fn units unit-ids)))) Listaus 15. Tällaista isäntäfunktion parametrien käyttöä paikallisessa funktiossa kutsutaan sulkeumaksi (engl. (defn group-svg [ [ group [ x y :as loc ] ] ] (if (empty. Tämä voi johtaa varsinaisten funktionaalisten kielten suosion lisääntymiseen, kun ohjelmoijat tottuvat funktionaalisiin mekanismeihin, jolloin kynnys siirtyä funktionaaliseen ohjelmointiin madaltuu. Päivitykseen käytetään funktionaalista reduce-funktiota, joka ketjuttaa funktiokutsun listan alkioille. Hyvä editori tukee muun muassa LISP-kielissä tärkeiden sulkusyntaksien kirjoitusta.. (defn units-svg "Generates SVG for all ships in system" [ [ units group-locs-func ] ] (->> units (collapse-fighters) (group-units group-locs-func) (mapcat ships/group-svg))) Listaus 12. Toisaalta se voi myös johtaa funktionaalisten kielten suosion vähenemiseen, kun tarve niille vähenee. [Ks. Funktionaalisen ohjelmoinnin suosiota tulee varmasti myös tulevaisuudessa rajoittamaan sen älyllinen haaste: varsinkin alussa saattaa olla vaikeaa keksiä, kuinka jonkin tietorakenteen päivittäminen tehdään funktionaalisen ohjelmoinnin periaatteiden mukaisesti
Alivaltiosihteeri-radiohupailussa kuultiinkin aikoinaan sketsinä ”Rikkinäisten CD-levyjen toivekonsertti”. Jostain syystä tätä mallia pidettiin sen verran hyvänä, että Sega käytti sitä myös seuraavassa CD-konsolissaan Saturnissa – ja myös Sony Playstationin ensimmäiset Amerikan-julkaisut oli pakattu samanlaiseen jättikoteloon. Edulliselle muovikiekolle sai tallennettua niin hyvälaatuista ääntä, ettei tavallinen kuluttaja osannut parempaa kaivata. Aluksi pelien pääasiallinen pakkausmateriaali oli pahvi, joka luonnollisesti usein repeytyi, vettyi ja muuten vain katosi. Pelilevyn pysyminen paikallaan yritettiin varmistaa vaahtomuovin palasella, joka tipahti ulos joka kerta koteloa avattaessa ja katosi näin ollen takuuvarmasti hyvin pian. 4 44 Pelit K onsolipelien pakkausten muotoja ovat sanelleet monet eri tekijät. Kun keskiö oli näin saatu rikki, kotelossa vapaasti heiluva levy yleensä naarmutti itsensä ennen pitkää. Pelit olivat paljon kalliimpia kuin musiikkilevyt, joten voisi kuvitella, että ne olisi voinut myös pakata paremmin. Lisäkorkeus mahdollistaa toki isomman ohjekirjan asentamisen koteloon, mutta tämä on laiha lohtu, kun saranat katkeavat jo riittävän ilkeästä katseesta. Levyn naarmuuntumisherkkyyden lisäksi hermoja koetteli toisinaan myös CD-levyjen kotelointi. Kotelossa käytetty polystyreeni oli jäykkää ja kantta piti paikoillaan vain kaksi ohutta saranaa. Mutta ei ole mitään niin huonoa, etteikö sitä saisi vielä huonommaksi.. Myöhemmin etenkin Sega alkoi pakata pelejään hieman kestävämpiin muovikoteloihin, kun taas Nintendo jatkoi pahvilinjalla aina Gamecubeen asti. Valitettavasti vain se oli mahdollisesti jopa vielä huonompi kuin Atlantin toisella puoEI NÄIN! KAIKKEIN KURJIMMAT KOTELOT Koko CD-levy oli formaattina ongelmallinen kuluttajille annettavaksi, ja jokainen meistä lienee myös aikoinaan rikkonut niiden särkyvästä muovista valmistettuja koteloita. Puutteistaan huolimatta CD-levy oli niin edullinen tapa tallentaa paljon tietoa, että siitä seuraajineen muodostui pian myös pelikonsoleiden ensisijainen tallennusväline. Näin levy oli myös helppo tuhota virheellisellä käytöllä, ja paikoilleen juuttuvan albumin mielipuolinen säksätys muodostui tutuksi etenkin niille, jotka kuljettivat levyjä mukanaan autossa tai treenikassissa. Hopealevyn reunus Saavuttaessa 1990-luvun alkuun CDlevy oli valloittanut äänentoistomarkkinat. 2 1 7 . Jo 1980-luvulla monien koneiden pelimoduuleista tehtiin hieman erimuotoisia ja -kokoisia, jotta saatiin estettyä harmaatuontia alueiden välillä. Teksti: Mikko Heinonen Kuvat: Mikko Heinonen ja Manu Pärssinen Näistä viimeinen ansaitsee tulla huomioiduksi erityisen huonoutensa ansiosta. Se ikään kuin moninkertaistaa alkuperäisen CD-kotelon ongelmat: helposti halkeavat isot pinnat ovat nyt vieläkin isompia, murtuvat pienet saranat suhteessa vieläkin pienempiä. Totuus oli kuitenkin toinen. Segoitamme tämänkin CD-konsolipelien ensimmäistä sukupolvea edusti Sega Mega-CD, joka Yhdysvalloissa tunnettiin Sega CD:nä. Ei tarvittu kovinkaan suurta voimankäyttöä, että ne sai murtumaan. Lisäriesaa tuottivat levyä paikallaan pitävät ”kynnet”, jotka oli helppo katkaista pitämällä sormea väärin levyä irrottaessaan. Kääntöpuolena oli toki se, että kustannussyistä levyn tietoja suojasi vain muutaman millin murto-osan paksuinen muovikerros. Lopulta moduuleita oli jäljellä paljon enemmän kuin niiden koteloita, ja ”boxed” eli kotelon sisältävä peli nousi hyvin nopeasti arvoltaan korkeammaksi. Sen pelien pakkauksissa nähtiin ainakin neljää variaatiota: normaalia CDkoteloa (Japanissa), tupla-CD-koteloa (myös yhdelle levylle, etenkin Euroopassa), pahvikuorista CD-koteloa sekä erityisesti Amerikassa käytettyä tuplakorkeaa koteloa. Vanhan mantereen vaikeudet Euroopassa Sega ei sortunut Jenkkilän virheisiin, vaan Saturn-pelit saivat omanlaisensa kotelon. Jopa aivan samannäköisiä muovipalikoita pakattiin silti erilaisiin koteloihin, jotta omat pelit erottuivat kaupan hyllystä. Onneksi sentään saranatappien kokoa muutettiin sen verran, että paljon yleisemmästä Saturn-kotelosta ei voi ottaa vaihtokantta Sega CD -koteloon
EU-mallinen Playstation-kotelo ei ollut aivan kelvoton tekele, mutta ei juuri CD-koteloa parempikaan. Vaikka tästä säännöstä on hieman valmistajakohtaisia poikkeuksia etenkin muodon suhteen, materiaali on kaikilla samankaltaista, eivätkä saranat enää katkeile tai kannet halkea läheskään samaan tahtiin kuin ennen. Materiaali oli edelleen liian jäykkää ja haurasta, joten saranat napsahtelivat poikki ja kannet halkesivat tuon tuostakin. Japanissa ja USA:ssa käytössä olivat tavalliset CD-kotelot. Lisäksi jonkinlainen standardointi varmistaa, että ehjiä kuoria voi vaihdella peleistä toisiin. Näin ollen rikkinäisten kuorien kanssa ovat tekemisissä nykyisin lähinnä vanhojen pelien keräilijät. Kuin kermana kakun päälle Dreamcastin alle 250 PAL-pelin valikoimaan on saatu myös mahdutettua useampia hieman erilaisia kotelotyyppejä, mitä täydellistä (ja ehjää) PAL-kokoelmaa kasaavat harrastajat ovatkin runsaasti kiitelleet. Dreamcast-pelit pakattiin Euroopassa aina koteloihin, joissa oli paikka kahdelle levylle. Ennen ei ollut paremmin Pelikoteloiden särkyminen on niitä harvoja ongelmia, joiden voi sanoa poistuneen lähes kokonaan tai ainakin rajusti vähentyneen. Saranoiden ongelmaa onnistuttiin pahentamaan muotoilemalla etuja takakansi niin, että muovi on ohuimmillaan juuri siinä, mihin taivutus kohdistuu, kun melko tiukasti sulkeutuvaa koteloa yrittää avata. Unelmakonsolin painajaiskotelo Kaikesta tästä huolimatta se konsoli, jonka pelikoteloita olen itse eniten rikkonut, on selkeällä erolla muihin Sega Dreamcastin PAL-versio. Taustalla lienee ollut se, että monikielisellä mantereellamme pelin mukaan piti pakata paljon paksumpi ohjekirja kuin virallisesti yksikielisissä USA:ssa ja Japanissa. Puhumattakaan sitten siitä, että nykyisin yhä useampi peli myydään suoraan digitaalisena. Ne saa katkaistua, vaikka olisi kuinka varovainen. Lisäksi peruskotelosta oli liikkeellä myös muutaman kustantajan omaa versiota, joihin oli taas kerran vaikeaa löytää varaosia mistään, kun väistämätön lopulta tapahtui. Pahvirunko yritti pitää paikallaan kahta muovikotelon puolikasta, joiden sisällä pelilevyä puolestaan yritti kannatella heppoinen keskiö. Silloin, kun kotelon kiinnitys ei suoraan pettänyt, putosi levy usein kotelon sisään pyörimään. Tuplauksen ansiosta virheen saa sentään tehdä kerran ja levy pysyy edelleen paikoillaan kotelossa, kunhan sen vaihtaa toiselle puolelle. Vähänkin huolimattomalla käsittelyllä on vain ajan kysymys, milloin sarana murtuu vähintään toiselta puolelta. 45 lella. Pahvinen kansi rispaantui ja hintalapputarroja oli mahdotonta irrottaa siististi. Käytännössä tästä onkin kuluttajalle hyötyä, sillä levyä paikallaan pitävät keskiötapit ovat aivan uskomattoman heikkoja. Ja sitten taas kerran pikaliimataan.. Sony taas oli siirtynyt USA:ssa alun hapuilun jälkeen pääosin normaalikokoisiin CD-koteloihin, joita Japanissa käytettiin alusta asti. Varsinkin vanhempien CD-pelien lähettäminen postissa on edelleen käänteistä lottoa: huolellisestikin pakattu 90-luvun pelikotelo saa helposti kuljetuksessa siipeensä, pelkässä kuplamuovikuoressa taas rikkoutumisesta voi olla lähes varma. Sen kotelossa onnistuttiin, ihme kyllä, yhdistämään lähes kaikkien edellä mainitsemieni koteloiden huonot puolet. Euroopassa kuitenkin haluttiin keksiä pyörä uudelleen ja Playstation-pelit saivat hieman CDkoteloa paksumman muovilaatikon. Playstation 2:sta alkaen pelit on pakattu huomattavasti pehmeämpiin DVD-koteloihin – samoihin kuin elokuvatkin
Arkistointi vaikuttaa monien mielestä työmaalta, jossa ”kaikki on jo tehty”. Kasettilamerien mukaan totuus on kuitenkin toinen, sillä työtä riittää edelleen tehtäväksi. Niinpä Skrolli sukeltaa seuraavaksi Lamerointia on tehty myös julkisesti yleisön edessä. Kuva: Atte Haapalahti / Assembly Organizing. Kasettilamerien Aki Sivulan silmin ryhmän nykytilaan, löydöksiin, matkalla törmättyihin omituisuuksiin ja ryhmäläisten aikaansaannoksiin. Vanhan datan pelastaminen jälkipolville kiinnostaa, niin outoa kuin se onkin. Teksti: Aki Sivula Kuvat: Tommi Lempinen, Aki Sivula, Jorma Oksanen, Jukka O. Vanhat kasetit ja levyt eivät ole edelleenkään monen mielestä mielenkiintoisia, mutta sisältö sentään kiinnostaa melko laajaa yleisöä nostalgian ja taannoisen retrobuumin kautta. Kauppinen, Atte Haapalahti 3”–8” ja nauhat päälle Kasettilamerit on samanhenkisestä ystäväporukasta koostuva vuonna 2011 perustettu magneettisen ja optisen median arkistointiin erikoistunut. 4 46 Kulttuuri K asettilamerien toiminta haki Skrollin alkuaikoina (ks. Arkistoimatonta materiaalia löytyy edelleen paljon, sillä toiminta on laajentunut huomattavasti alkuperäisestä. Onpa keskusteltu myös virallisen yhdistyksen perustamisesta. Tuolloin ryhmä haki vielä muotoaan, mutta toiminta on sittemmin sekä järjestäytynyt että laajentunut huomattavasti. 2 1 7 . Digiarkeologiaa Kasettilamereiden seurassa 2.0 Skrollin ensimmäisessä numerossa esittäytyi digiarkelogiryhmä Kasettilamerit. Skrolli 2013.1) vielä osin muotoaan, mutta kuluneen neljän vuoden aikana ryhmän toiminta on kuitenkin kehittynyt tuntuvasti. Myös Suomen pelimuseo on tehnyt asiaa uudella tavalla kiinnostavaksi, pääseehän museossa pelaamaan aidoilla laitteilla ja saa samalla pelien historiasta lyhyen oppimäärän
Sieltä voi myös ladata läpipelattavan alkuperäisversion. Vai miltä kuulostaa Nintendon disketti, joka toimii kuitenkin kuin kasetti. Strattonin mahdollinen C128-versio on edelleen etsinnässä. Esimerkiksi The Rocky Horror Show saatiin saksalaisen avustajan toimittamien dumppien joukosta. EU:n osalta C64:n tilanne on jo varsin hyvä. Chuck Rockin C64-versio julkaistiin vain Italiassa. Dumpin sielunelämän selvitti sekä konvertoi Tommi Lempinen. Saksalainen SPS:n kollega löysi Saksan eBaysta Giana Sistersin uudet ja käyttämättömät Amiga-, Atari STja Commodore 64 -versiot. Kolme vuotta sitten ryhmä pystyi tallentamaan vain Commodoren Turbo tape -kasetteja sekä 5¼ ja 3½ tuuman levyjä, mutta sen jälkeen on tallennettu suorastaan omituisiakin formaatteja. Entä saksalaisessa museossa toimiva Siemensin teleprintteri, joka käytti custom-formaattiin tehtyä lisenssidiskettiä. Nasse-Setä Oy ja Amersoft jäivät ilman terveisiä. Kasetilla julkaistua Dk’Tronicsin Invadersia ei ollut olemassa edes crack-versiona, eikä peliä edes tiedetty olevan olemassa. Dumppeja tutkitaan ja vertaillaan jatkuvasti, joten nämä löytyivät rutiinityön yhteydessä sekä keskustellen Software Preservation Societyn kollegojen kanssa. Latauskuvan ilmestyessä voi siis huoletta kelata kasettia eteenpäin päästäkseen pelaamaan nopeammin. Ryhmä rakastaa Commodorea mutta tallentaa nykyisin minkä tahansa alustan medioita aina kaseteista disketteihin ja kovalevyistä nauha-asemiin. Nyt kasetista on 1:1 jäljennös. Seek . Vastaan on tullut useita pelejä, joista ei ole yhtään crack-versiota tai versio on yksinkertaisesti rikki tai virheellisesti murrettu. Kovalevyt, C-kasetit, ROM, EPROM, Flash ja VHS (myös Amigan Video Backup System) ovat nekin tuettujen listalla. Tämä havaittiin dumppien tutkinnan yhteydessä. Esimerkiksi Apple II:n alkuperäisiä julkaisuja ei ole arkistoitu nimeksikään, mutta silti niitä ”arkistoidaan” crack-versioina Internet Archiveen. Itse tekemällä saat parempaa Ammoisina 1980-luvun vuosina harva mietti minne heidän tekemänsä pelit, tekstit ja muut tuotokset päätyisivät.. 47 digiarkeologiryhmä. Toki 70-luvun suuria nauha-asemia ei meiltäkään löydy, mutta olemme kiinnostuneita myös niistä. Nämä ovat tulleet vastaan dumppien tarkastuksen yhteydessä. Kasettiversiosta taisin köyhtyä useamman satasen. Edelleen löytyy aiemmin tuntemattomia demoja ja introja, puhumattakaan entisaikojen Suomi BBS:ien varmuuskopioista. Commodore 64:n ja Amigan osalta tilanne on jo aidosti hyvä ja paranee koko ajan, mutta se ei suinkaan ole koko totuus. Myyjä oli entinen THQ/Softgoldin kehittäjä. CRL:n peleistä löytyy hienommilla grafiikoilla toteutettuja C128-versiota. J.R.R. Australiasta on löydetty lukuisia paikallisesti julkaistuja pelejä, joista ei ole olemassa tunnettuja crack-versioita. Sopivia keräilijöitä ei ole kuitenkaan ilmoittautunut vapaaehtoistyöhön. Muutenkin pelin koodissa on hutiloinnin merkkejä. Lähes kaikista Infocomin ja Microprosen peleistä on julkaistu useita eri versiota, joissa on bugikorjausten lisäksi huomattavia eroja. Nykyisin tiimi ei enää tunnusta mahdottomia formaatteja. En tiedä kuinka monta kymmentä kertaa olen kuullut väitettävän, että ”kaikkihan on jo arkistoitu ja tallessa”. Hieman yllättäen Commodore 64:n Top Gunista on julkaistu useita eri versioita. C64:n kasetista pyydetään nykyisin jopa 500 euroa. Kuriositeettina Imagine ei koskaan julkaissut Mikietä Euroopassa disketillä, vaan ainoastaan kasetilla. Pelit omistanut henkilö toi mediat Saksassa paikan päälle henkilökohtaisesti, ja vihdoin jo kuusi vuotta etsitty Commodore 64 -versio saatiin talteen. Sen etsintä oli melkoinen operaatio, ja ehjä diskettiversio löytyi sattumalta eräältä suomalaiselta keräilijältä. Mikäli asia kiinnostaa, niin sitä on käsitelty melko laajasti Games That Weren’t 64 -sivustolla. Joistain on liikkunut pelkästään kasettiversio ja toisista diskettiversio. Tuki löytyy jo ainakin 3, 3½, 5¼ ja 8 tuuman disketeille sekä useimmille kaLöydöksiä vuosien varrelta Lord of the Ringsin C64-kasettiversio näyttää latauskuvaa, mutta ei itse asiassa lataa mitään kuvan ilmestymisen jälkeen kasettiaseman 30 seuraavaan laskurikierrokseen. Oceanin We Are the Champions -kasettikokoelman IK+ on suora muistidumppi, joka kuitenkin ladataan Freeload-järjestelmän avulla. Hakkerointia harrasti Jorma Oksanen. Suurin osa puuttuvista Commodore 64:n nimikkeistä löytyy edelleen Yhdysvalloista ja Australiasta. Luultavasti alkuperäinen master-kasetti on ollut hukassa tai muistidumpin käyttöön on päädytty perinteisen kiireen tähden. Jorma Oksanen löysi pelin sattumalta normaalien kasettien dumppauksen lomassa. Erilaisia crack-versioita löytyy kyllä, mutta crackitkin on tehty aina alkuperäisestä versiosta. Tapahtumassa Aki Sivula tallensi Spectravideo SV-318/328ja MSX-versiot. Tolkien’s War in the Middle Earth -pelistä löytyi SPS:n arkistoinnin yhteydessä aiemmin tuntematon kahden disketin versio, jossa oli hienommat grafiikat kuin tutussa yhden levyn versiossa. Virhe löytyi pelin karttojen luonnin ja koodin tutkinnan yhteydessä. Ozisoft Australiassa julkaisi siitä halpisversion – kaikki muut versiot ovat olleet kokoelmilla. Hyvää työtä sekin, mutta toivoisin myös 1:1 vastaavia jäljennöksiä Apple II:n osalta. Tästä versiosta ei myöskään ole crack-versiota C64-pelejä keräävillä csdb.dktai Gamebase 64 -verkkosivuilla. Havainnon teki Jorma Oksanen peliä dumpatessaan. James Bond View to A Killin alkuperäisversion kolmannessa kentässä on karttabugi, joka johtuu siitä, että tiedoston tallennus on ylikirjoittanut muutaman tavun Basic-muistin yläpäässä. Tietotaitoa kasvatetaan koko ajan hankkimalla puuttuvaa rautaa ja tekemällä jatkuvasti lisää. Assembly Summer 2017 -tapahtumassa pelastettiin harvinainen Jari Paulinin tekemä suomipeli Mr. seteille. Vuosia luultiin, ettei Core Design julkaissut peliä ollenkaan. Tähän mennessä kaikissa aiemmin tunnetuissa versiossa oli tallennettu high score -listoille vähintään yksi tulos, minkä takia ne eivät kelpaa alkuperäisten versioiden arkistointiin
Ei sen väliä miten se on tehty, kunhan lopputulos on hieno. Laitteiden sekamelska on kuitenkin vain pintapuolista, sillä teknisessä kaaoksessa piilee oma looginen järjestyksensä.. Omatekoisissa seikkailupeleissä on joskus epäselvää mitä pitäisi tehdä tai komentoja tutkiva parseri on hieman kömpelö. Jotkut omatekoiset demomakerilla tehdyt demot ja pelit ovat tahattoman koomisia. Kunnon lamerihengessä monia crack-pelejä on myös surutta muuteltu omiin nimiin heksaeditoreiden ja erilaisten basic-kötöstysten avulla. 2 1 7 . Kuinkahan monta kopiota alkuperäisestä C64:n Hawkeyestäkin tehtiin Copy-Q:lla ja muuteltiin vain heksaeditorilla ensimmäisen valikon tekstit. Taidot kyllä kehittyvät tekemällä. Pelihahmo saattaa hypätä ilmaan ja lentää ruudusta ulos, tuloksena sovelluksen kaatuminen. Turbo tape -kasettien nimet ovat toisinaan varsinainen aarreaitta, vai miltä kuulostavat nimikkeet: TACK&FIELD, ARTIGALLERY DUEL, BLOD’N GUTS, BURNINIG RUBBERS, GUEST FOR TIRES, CIANA SISTERS, EXPLONING FISH, FRADIC FREDDIE, FUCK APE, GALAXSY, JUNKLE HUNT, INSPEKTOR GADGET, HUND BACK II, JOKI KARHU, ROPOTHON 2084, GOPY-Q II, RADARVanhan datan pelastaminen vaatii usein poikkeuksellisia välineitä. Hurjimmat onnistuivat loihtimaan assemblerilla suoranaista taikuutta. 4 48 Sinus-scrolleri on tehty animoimalla fonttia ja niin edelleen, mutta minusta sekin osoittaa luovaa ongelman ratkaisua. Kotitekoisilla medioilla törmää mitä omituisimpiin löydöksiin. Toteuttajien joukossa on ollut huippulahjakkuuksia, tavallisia poikia ja tyttöjä, Viznutin hauskojen PC-lamereiden tyyppisiä wannabe-skenereitä, pornofriikkejä kuin myös taiteilijan alkuja ja koodareita. Syntyi Deluxe Paintilla piirrettyjä kuvia, Noise trackerilla tehtyä musiikkia, basic-demoja, ohjelmia ja pelejä. Allekirjoittanutkin uskaltaa tunnustaa tehneensä kyseisestä pelistä oman ’julkaisunsa’ 30 vuotta sitten, mutta kaveri ylikirjoitti ne omilla nimillään ennen seuraavalle kopiointia. Joskus ne olivat pelkkää hauskanpitoa ilman selvyyttä alkuperäisestä tarkoitusperästä. Basickielen, piirto-ohjelmien ja musiikintekosoftien avulla monet harrastajat pääsivät tuolloin ensimmäistä kertaa uudenlaiselle digitaaliselle näyttämölle. Hirviö syö sinut ilman sen kummempaa syytä ja niin edelleen
Tämä on sinänsä vanha tieto, mutta aiheutti aikoinaan paljon omituisia virhetilanteita, kun kaverille kopioitu disketti vaikutti ehjältä mutta silti kopio ei jostain kohtaa toiminutkaan. Valitettavasti virheet ovat voineet aiheutua jo 80-/90-luvulla, jolloin kaikki kopioitiin koneen omilla levyasemilla. Niinpä levyltä poistettiin ainoastaan Ikarin crack-intro. Esimerkiksi monille Amigan Sound Trackerin sample-korpuille on lisätty kirjoituksia Vartiotornista. Nykyisin nämä virheet pystytään havaitsemaan. Uskonnolliset yhteisöt ovat niin ikään hyödyntäneet tietoisesti nuorison innostusta tietokoneisiin, sillä monille kopioiduille levykkeille on lisätty uskonnollisia kirjoituksia. Oceanin 100% Dynamite -kokoelmalla on sama crack-versio, mutta lisäksi The Mansion -kenttä on rikki. Commodoren levyillä käytetty DOS-sektorien tarkastussumma on nimittäin heikko datan eheyden tarkastamisen kannalta. Suomipeliklassikko Painterboyn alkuperäistä materiaalia löytyi Tikkurilan varastosta sekä lameroitavaksi että Suomen pelimuseoon toimitettavaksi.. Tuolloin Oceanilla Little Knight Arthurja Uuno Turhapuro muuttaa maalle -pelit tehnyt Pasi Hytönen näki 30 vuotta vanhan Arthur-pelinsä heräävän eloon kasettilamerien käsissä. 5¼” lerppujen suojataskut ovat olleet myös varsinainen aarreaitta, niistä on löytynyt paljon todella näyttävää taidetta. Yksi esimerkki huonosti arkistoidusta piraattiversiosta on CSDB:stä löytyvä P-47 Thunderbolt -peli (Sharks crack). Pelin alkuperäinen EU-versio on itse asiassa crack-ryhmä Ikarin julkaisema versio, ja Ikarin nimi löytyy kaikista EU-versiosta levyn raakadataa tutkimalla. Jonkin verran löytyy myös varsin hienoja, jo unohduksiin painuneita sovelluksia. XOR:iin perustuva tarkastussumma voi merkitä sektorin ehjäksi, vaikka se ei itse asiassa sitä ole. Pelien osalta eräs vaihtoehto on verrata sitä Kryofluxilla alkuperäisestä pelistä tehtyyn D64-tiedostoon. Alkuperäisissäkin yllätyksiä System 3:n The Last Ninja II (C64) on erikoinen tapaus. Samasta tietokannasta löytyy paljon muitakin rikkinäisiä D64-imageja, jotka ovat näennäisesti kunnossa. Arkeologiaa väärillä välineillä CSDB:ssä (Commodore 64 Scene Database) joillain C64:n D64-levyimageilla havaitut virheet johtuvat usein siitä, että ne on alkujaan luettu arkistointikelvottomalla laitteistolla, kuten perinteisellä Commodore 1541 -levyasemalla tai sen kloonilla. Tällä tapaa omatkin kotitekoiset tuotokset tallentuisivat luotettavasti. Ohjeita rikoksien ja erilaisten räjähteiden tekemiseen liikkui myös varsin varhain, ainakin demoryhmä Dual Crew kunnostautui tällä varsin kyseenalaisella alueella. Kannattaa siis selata myös tuntemattomien ryhmien tuotoksia, sillä voitte yllättyä positiivisesti. Crack-version käyttämiseen päädyttiin mahdollisesti master-levyn luonnin yhteydessä ajan säästämiseksi. Monet tuntemattomat demot ja introt ovat myös todella hienoja. Tarina ei tosin kerro, päätyikö Tiina IT-alan tehtäviin. Näin ollen peli ei välttämättä ole läpäistävissä. Tietotekniikan villi länsi oli siis todistettavasti olemassa myös 30 vuotta sitten, niin hyvien kuin pahojen lieveilmiöiden kera. Niinpä sen kaikki kopiot kannattaisi tallentaa kunnollisen laitteiston, kuten Kryofluxin ja sen sovelluksen avulla. Hakkerin taidoista ei siis ole haittaa, jos syvemmälle haluaa mennä. Erilaisten kopiopelien joukossa on toki oman aikansa Hello world -virityksiä, kuten TIINAN EKA OHJEL. 49 RATARACE, JUMPPI UKKO, SATR RAIDERS II, SUISIDE STRIP, SHUTLE SIM tai SAVUNAHKA JACK. Peli on salakavalasti rikki bittisiirtymän tähden, eikä tätä voi havaita levyn tallennuksen yhteydessä vaikkapa Zoomfloppyn tai jonkin siirtokaapelin avulla levyjä tallennettaessa. Periaatteessa ainoa tapa tarkastaa vanhoja 1541:llä tallennettujen levyjen tai D64-tiedostojen virheitä on verrata niitä tunnettuun ehjään dataan, eli vaikkapa verrata eri ryhmien crack-versioita keskenään. Luultavasti moni alalle päätynyt graafikko on noita piirrellyt ja käden jälkeä ei voi kuin ihailla. Kentässä 8 on kaksi tavua rikki bittisiirtymän tähden, ja kohta näyttäisi olevan varsinaista pelin koodia
2 1 7 . Toinen mainittava löydös on aiemmin tuntematon, innokkaan kalastajan suomipeli nimeltään Ahvenjahti. Samaa temppua on hyödynnetty nykyaikanakin, joskin tämä lienee yksi varhaisimmista tapauksista, jossa piraattiversio laitetaan myyntiin alkuperäisen sijaan. Tähän mennessä moni demo, suomipeli ja sovellus on saatu talteen sitkeän yrittämisen, harrastajien tuen ja osin myös suurehkon taloudellisen panostuksen ansiosta. TOSEC on kaikkiin vanhoihin tietokoneisiin ja konsoleihin erikois. Paikan päälle saapui myös Painterboyn aikanaan kehittänyt Teijo Pellinen lapsineen kertomaan taustoja pelistä ja sen kehitystyöstä. Painterboyn arkistointi oli Assembly Summer 2015 -tapahtumassa julkinen ja lamereille merkittävä tilaisuus. Levyiltä löytyi muunmuassa Zamzaran varhainen, Hewsonin alkujaan hylkäämä versio. Peli on taitavasti toteutettu lähestulkoon julkaisukuntoon ja sitä voidaan pitää eräänlaisena PC:lle julkaistun Pro Pilkin esiasteena. Janne on ansioitunut myös vanhojen lehtien ja mainoksien skannauksessa sekä lupien hankkimisessa niiden julkaisuun netissä. Tuolloin Tikkurilan edustaja Olli Ruhanen toimitti alkuperäiset mediat paikan päälle tiimin arkistoitavaksi. Muita virstanpylväitä ovat olleet Nero 2000 -tietovisapelin kehitystiimin löytyminen ja heidän materiaalinsa tallentaminen, puhumattakaan monista muista suomipeleistä. Tapanimäen ystävä Esa Lyttinen otti koodit talteen ja sanoi tekevänsä pelistä päivitetyn version. Kasettilamerit osallistuu myös muihin projekteihin, kuten The Old School Emulation Centerin tukemiseen. taasen vuotanut aikanaan Hewsonilta. Huora-intro ja muuta mukavaa. Levyt päätyivät meille ainoastaan onnekkaan sattuman vuoksi, koska Jarkko Lehden tuttava oli saanut koneen levyineen haltuunsa. Ilmeisesti sama versio on ollut aiemmin levityksessä crack-versiona, joka on Vanhojen kasettien ja levyjen tallentaminen on tieteellisen tarkkaa työtä. Tarkoituksena olisi saada peli julkaisuun hieman myöhemmin, joten salapoliisityö ja restaurointi jatkuu. Ryhmämme hallussa on ollut jo vuosien ajan Jukka Tapanimäen alkuperäiset C64:n ja PC:n kehityslevyt, jotka hänen äitinsä oli laittanut koneineen päivineen myyntiin paikallisen Siwan ilmoitustaululla. Erityiskiitos sitkeästä salapoliisityöstä kuuluu Janne Rautiaiselle, jota ilman tämän aikansa timantin tallennus ei olisi ollut mahdollista. Uuno Turhapuron arkistointi Mediamuseo Rupriikissa oli tilaisuus sinänsä, ja Jukka O. Pelin levyja kasettiversiot sekä mainoskäyttöön tehty VHS tallennettiin yleisön silmien alla. 4 50 masteroinnista vastannut Peter Hughes ei myöhemmin kysyttäessä enää muistanut tapausta, mutta System 3:lla on varmasti ollut peli lähdekoodeineen ja se on vain vuotanut jossain vaiheessa. Nyt monia heistä tavanneena voi todeta, että ihmisiä hekin ovat tietoineen, taitoineen ja puutteineen. Se lienee myös heidän menestyksensä salaisuus sillä menestys tulee harvoin ilman kovaa työtä. Tapanimäen viimeiseksi jääneen pelin, Moonfallin, lähdekoodit löytyivät yhdeltä vaurioituneelta PC-lerpulta, jota yritettiin tallentaa useita eri kertoja. Nähtävästi Jukan kipakka suhtautuminen asioihin näkyi Andrew Hewsonille, sillä Jukasta tehty karikatyyri löytyy Netherworldin takakannesta. Kauppisen ansiosta tilaisuudesta tallentui Checkpoint TV:hen videokuvaa ja muutamia haastatteluja. Nähtävästi sopivan jakelijan löytyminen on estänyt pelin kaupallisen julkaisun, sillä pelin tekijä oli kirjoittanut myös käyttöohjeet ja löytyipä aineistosta jäljellä olevien bugien listakin. Levyllä oli kuitenkin virheitä, eikä lähdekoodeja saatu ehjänä ulos, mutta lopulta sitkeä yrittäminen palkittiin, ja koodit saatiin täydellisinä talteen. Viestintää pelejä murtavien ja pelejä valmistavien yritysten välillä tämäkin. Tapanimäki nimittäin kehitti pelin Intelin prosessorilla varustetulla PC:llä ja käänsi koodit ristiinkääntäjällä. Lapsuudessa näitä taideteoksiksikin verrattavia tuotteita kehittäneet henkilöt tuntuivat suorastaan mystisiltä yliihmisiltä. Levyn masteroinnin yhteydessä on ollut helpompaa ottaa valmiiksi toimivat binäärit, ja siinä se. Uuno, Painterboy, Moonfall ja monet muut Pikkupoikana ei tullut mieleenkään, että tulisimme joskus tapaamaan kuuluisien demojen ja pelien kehittäjiä. Taustalta on löytynyt oikeastaan aina palava into tekemistä kohtaan. Tuloksena oli Commodoren 6502:lle sopivaa binääriä, jota pystyi suoraan testaamaan PC:n perään kaapeleilla kytketyllä C64:llä. Niinpä Tapanimäki koodasi pelin osittain uudelleen reilussa kuukaudessa Hewsonilta saadun palautteen perusteella
Keskukseen on toimitettu muun muassa Splatterheadin 16 gigatavun kokoinen Amigan CD-kokoelma, joka tallennettiin 80ja 90-luvun aikana. ROMit on sittemmin toimitettu Zimmers.netarkistoon ja muutenkin saatettu avoimesti emulaattoreiden kehittäjille tutkittaviksi. Tallennuksesta tehtiin jopa Revisionin Wild compoon sijalle viisi yltänyt ”Commodore live preservation project”. Se, mitä harrastajat tekevät saamillaan tiedostoilla, ei ole enää meidän vallassamme. Millaisia lamerit ovat ihmisinä ja mitä he lameroidessaan puuhastelevat. EU:n lainsäädäntö kuitenkin vaikeuttaa työtämme, eikä alkuperäisten levyjen digitaalisten kopioiden jakaminen onnistu suoraan. Jarkko Lehti ylläpitää Commodore 64:n demoskene-pakettia, jonka voi ladata Skrollin sivuilta. Aikanaan Scoopexin riveissä toiminut Splatterhead onnistuikin keräämään melkoisen määrän myös suomalaisissa BBS:issä liikkuneita tekstejä ja muuta mielenkiintoista. Lue lisää lamereista jutun nettijatkosta: skrolli.fi/numerot Kasettilamerit kasettilamerit.fi Kasettilamerit Facebookissa facebook.com/groups/kasettilamerit/ Kasettilamerit Twitterissä twitter.com/kasettilamerit Break’s Amiga Demo Scene Collection arabuusimiehet.com/break/amiga/ Kestra Bitworld janeway.exotica.org.uk The Commodore 64 Scene Database csdb.dk TOSEC www.tosecdev.org Software Preservation Society softpres.org Demot, introt ja lehdet: warez.skrolli.fi/grue/ Kryoflux www.kryoflux.com tunut mammuttikanta, johon tallennetaan kaikkea mahdollista softaa, firmware-tiedostoja ja resursseja, jota voi ajatella tuhansien ja taas tuhansien sellaisenaan tallennettujen diskettien tyyssijana. Työ on vapaaehtoistyötä, emmekä saa tästä palkkaa tai korvausta. Harrastuksena digiarkeologia on varsin autistinen, mutta toisaalta se on yllättävän sosiaalista puuhaa. The Commodore 64 Scene Databaseen lisätään löydöksiämme sitä mukaa, kun muut harrastajat ehtivät niitä kantaan lisäämään. Näistä saattaa aikanaan löytyä emulaattoreiden kehittämisen kannalta uutta ja merkityksellistä tietoa. The black hole of select elite Skrollin ensimmäisessä numerossa olleesta artikkelista tuli jonkin verran palautetta, jopa vuosia sen jälkeen. 51 Tältäkin korpulta data saatiin pelastettua. pouet.net/prod.php?which=69733. Eräs lukija kommentoi, ettei koko lamerointi ole kovin kiinnostavaa. Commodoren salassa pidetyt kehitysversiot Vierailut erilaisissa tapahtumissa ja demopartyillä ovat osaltaan tärkeä osa digiarkeologiaa. Piirit ovat todennäköisesti peräisin Braunschweigin tehtaalta Saksasta, jossa Commodore tuotti suurimman osan Euroopan alueelle valmistetuista tuotteista. Useimmat palautteista ovat olleet positiivisia, mutta moni purnasi myös siitä, miksi emme laita töidemme tuloksia yleiseen jakeluun verkkoon. Näin on käynyt esimerkiksi netistä löytyvälle Amigan IPF-kokoelmalle, jonka harrastajat kasasivat saamistaan tiedostoista.. Video löytyy osoitteesta www. Loput olivat erilaisia ROMeja Amigalle, Commodore PC:lle sekä muun muassa kovalevyille. Ilman sosiaalisia ympyröitä tätä ei varmasti jaksaisi kukaan. Jos tuot meille itse omat mediasi, saat tietenkin kaiken tallennetun datan itsellesi riippumatta siitä, ovatko ne kotitekoisia vai alkuperäisiä nimikkeitä. Olen samaa mieltä. Eräs mukana olleista henkilöistä käsitteli tarkasti dokumentoiden osan kokoelmasta, joka sisälsi Commodoren piirejä, C65-diagnostiikkaa ja tietokoneiden kehittelyyn ja testaukseen käytettyjä ohjelmistoja. Muutenkin etsimme uusia jäseniä niin skannauksen kuin magneettisen median tallennukseen, joten rohkeasti vain kysymään jos lamerointi on sinulle se juttu. Kokoelmasta löytyi runsain mitoin Amigalle tehtyjä Suomi-julkaisuja, joita ei ole juuri muualla näkynyt. Näitä on mahdollisesti diagnosoitu erilaisiin laajennuksiin yhteensopiviksi, koska keskustelujen perusteella kyseinen laitos valmisti myös muille kotimikroille laajennuksia. Kannustaisin vapaaehtoisia liittymään mukaan toimintaan, sillä työtä riittää kyllä ja kaikki materiaali on aina tervetullutta. Mukana oli niin julkaisematta jääneen Commodore 65:n prototyypin ROMeja, kuin muitakin varsin uniikkeja harvinaisuuksia historiasta. Software Preservation Societyltä saat tiketin lähettämällä pelistä tai ohjelmasta identtisen jäljennöksen, jos pystyt todistamaan, että sinulla on alkuperäinen toimivana tai toimimattomana tai sinulla on muuten oikeudet kyseiseen nimikkeeseen. Lameritkin ovat ihmisiä Kasettilamerointi on ennen kaikkea sosiaalista puuhaa, jota lamerit tekevät harrastuksenaan. Sanomattakin on selvää, että partyaika meni tällä kertaa lähes täysin lameroinnin merkeissä ja aivan pikkutarkaa työtä ei näiden muiden ROMien osalta ehditty tekemään. Totta kai teemme parhaamme, jotta työmme hedelmät jaetaan harrastajille. Kerromme kyllä toiminnastamme lisää ja siitä, mitä jäseneltä odotamme. Mielenkiintoisista piireistä voisi mainita C65 DMAGIC REVISION 02:n ja kaksi DAPHNE / DENISE 8373 -piirien prototyyppiä. Kyseiset piirit löytyivät tiettävästi Saksasta entiseen Commodore-huoltoon yhteydessä olleen henkilön vintiltä. Tommi Lempinen avusti tallentamalla Revision 2017 -partyillä noin viidensadan ROM-piirin erää
4 52 Rauta T örmäsin itse sattumalta Curtaan työpaikallani Maanmittauslaitoksen Paikkatietokeskuksessa. Tiloissamme on useita lasivitriinejä, joissa esitellään vanhoja geodesian ja maanmittausalan kojeita. Herzstarkille vihjailtiin, että mikäli hän tuottaisi toimivan taskulaskimen, hänet ehkä palkkioksi määriteltäisiin uudelleen arjalaiseksi, mikä tekisi hänestä taas vapaan kansalaisen. Vuonna 1943 eräs yrityksen työntekijöistä jäi kiinni ulkomaalaisen radiolähetyksen kuuntelusta ja teloitettiin. Myöhemmin osaston johtaja kuuli hänen suunnitelmistaan pienestä taskulaskimesta. Natsien liitettyä Itävallan osaksi Saksaa vuonna 1938 Herzstarkien yritys alkoi valmistaa armeijalle erilaisia kojeita. Nerokas rumpu korvasi yhdellä mekanismilla isojen laskukoneiden monimutkaisemmat koneistot. 2 1 7 . Isän kuoltua vuonna 1937 Herzstark johti yritystä. Natsi-Saksan varjossa Curtan isä oli itävaltalainen insinööri Curt Herzstark (1902–1988). Tarve taskulaskimelle oli ilmeinen, sillä monella alalla tarvittiin tien päällä tai kenttäolosuhteissa laskuja, joihin laskutikun tarkkuus ei riitä. Curta – mekaaninen taskulaskin Teksti ja kuvat: Olli Wilkman. Toisen maailmansodan lähestyessä Herzstark ei kuitenkaan ehtinyt kehitellä ideoitaan. Curta oli oman aikansa mullistava keksintö, kunnes transistorin ja mikrosirujen kehityttyä elektroniset laskimet syrjäyttivät mekaaniset laskukoneet. Herzstarkin isä oli juutalainen, joten hänen asemansa Natsi-Saksassa oli tukala. Herzstarkille myönnettiin taskulaskimen mekanismin keskeiset patentit vuonna 1939. Herzstark tuomittiin avunannosta ja lähetettiin Buchenwaldin keskitysleirille Saksaan. Sarjanumeron perusteella se on valmistettu marraskuussa 1954. Liechtensteinin prinssi Frans Josef II halusi kehittää maansa teollisuutta 1940-luvun lopulla ja suostui rahoittamaan Herzstarkin keksintöä. Laskimen piirustukset olivat käytännössä valmiit, ja Herzstark valmistutti kolme prototyyppiä saksalaisessa konepajassa. Pippurimyllyn näköinen, kämmenelle mahtuva Curta on mekaanisten laskukoneiden eräänlainen huipentuma. Herzstark jätti yrityksen vuonna 1952 ja Liechtensteinin suuri teollisuusyritys Hilti osti sen vuonna 1966, mutta Curtan valmistus jatkui aina vuoteen 1972 saakka. 1930-luvun lopulla hän keksi Curtan keskeisimmän osan: pyörivän rummun, joka suoritti sekä yhteenettä vähennyslaskuja yhdeksän komplementti -aritmetiikan avulla. Vanhoja laskukoneita esittelevässä vitriinissä huomasin suurten pöytämallisten laskimien keskellä pienen mustan sylinterin. Kyseistä Curtaa lienee käytetty entisellä Geodeettisella laitoksella kenttätöissä, mutta tarkempia tietoja sen käytöstä en ole löytänyt. Matematiikan ja tietojenkäsittelyn historian ystävänä olin kuullut Curtasta jo aiemmin, ja sain sen ystävällisesti lainaan tutustuakseni siihen paremmin. Hänen isänsä omisti laskukoneita maahantuovan ja valmistavan yrityksen Rechenmaschinenwerk AUSTRIA Herzstark & co, jossa myös Curt työskenteli koneiden korjaajana ja myyjänä. Laskimia valmistettiin yhteensä noin 140 000 kappaletta. Jo 1920-luvun lopulla Herzstark suunnitteli pientä, mukana kannettavaa laskinta. Herzstarkin mekaanisen osaamisen vuoksi hän ei joutunut keskitysleirillä raskaimpaan pakkotyöhön vaan työskenteli konepajalla, joka valmisti mekaanisia kojeita sotavoimille. Herzstark suunnitteli Curtaa keskitysleirillä, kunnes sodan lopulla amerikkalaiset sotilaat vapauttivat leirin vuonna 1945. Hänen käskettiin jatkaa sen suunnittelua vapaa-ajallaan, sillä se olisi arvokas väline Saksan armeijalle. Uusi yritys, Contina AG, perustettiin Liechtensteiniin, ja Curtalaskinten valmistus alkoi vuonna 1948. Neuvostoliiton armeijan lähestyessä hän matkusti prototyyppeineen takaisin Itävaltaan etsimään rahoittajaa uuden yrityksen perustamiseksi
Positiovalitsimessa on yhteensä kuusi asentoa, mutta se on numeroitu yhteentoista asti. Siten jokaisessa positiovalitsimen asennossa jokaisen lukurekisterin liukukytkimen yllä oleva numero kertoo suoraan, monenteenko tuloslaskurin desimaaliin kyseessä oleva lukurekisterin numero lisätään. Nostetaan kampi vähennyslaskumoodiin, käännetään positiovalitsin asentoon 3 (sadat) ja käännetään kampea kerran. Kierroslaskurissa lukee nyt 1000 ja tulosrekisterissä 1337000. Kertolasku Kierroslaskurin lukema kertoo siis, kuinka monta kertaa lukurekisteri on lisätty tuloslaskuriin. Yhdeksän komplementti Curtan vähennyslasku perustuu yhdeksän komplementin aritmetiikkaan, joka mahdollistaa vähennyslaskut mekanismilla, joka suorittaa vain yhteenlaskuja. Yleisesti, kun positiovalitsin on asennossa k, kerroin on 10k. Positiovalitsimen ollessa asennossa 1 tapahtuu kuten yllä: lukurekisteri lisätään tuloslaskuriin, ja kierroslaskuri kasvaa yhdellä. Kierroslaskuri siis kertoo, kuinka monta kertaa lukurekisteri on lisätty tuloslaskuriin. Nostamalla Curtan kampi yläasentoon sen kääntäminen vähentää lukurekisterin arvon tulosrekisteristä. 256 = ( 957 + 256) = (042 + 256) = 298 = 701. Jotta kampea ei tarvitse veivata tuhansia kertoja, Curtan yläreunassa on käännettävä positiovalitsin, jolla voi asettaa laskutoimituksen kertaluokan. Kun laskimen kampea käännetään yksi kierros, lukurekisterin sisältö lisätään 11-numeroiseen tuloslaskuriin. Esimerkiksi: 957 . Jos tämä tuntuu monimutkaiselta, lue seuraava esimerkki. Nyt tuloslaskurissa lukee 1203300 ja kierroslaskurissa 900.. Ne eivät vaikuta laskimen toimintaan, mutta niitä voi käyttää siirrettävinä desimaalierottimina tai merkitsemään muuta tärkeää numeroa. Samalla myös kierroslaskurista vähennetään yksi. Annetun luvun yhdeksän komplementti on luku, joka saadaan vaihtamalla jokainen luvun numero siihen numeroon, joka saadaan vähentämälNollausrengas Kierroslaskuri Tuloslaskuri Lukurekisteri Kierroslaskurin kääntökytkin Kierroslaskurin kääntökytkin Positiovalitsin lä kyseinen numero yhdeksästä. 53 Curtan käyttöliittymä ja perustoiminnot Curta-laskimen käyttö perustuu kolmeen numerorekisteriin: lukurekisteri koostuu kahdeksasta liukukytkimestä, joilla käyttäjä voi syöttää kahdeksannumeroisen luvun. Asetetaan ensin liukukytkimillä lukurekisterin arvoksi suurempi luvuista, 1337. Nollausrengas on Curtan yläosassa oleva sokan näköinen rengas, jonka pyöräyttäminen ympäri nollaa kierroslaskurin ja tuloslaskurin. Nollasta tulee yhdeksän, viitosesta nelonen, ja niin edelleen. Lisäksi lukurekisterin ja tuloslaskurin ohessa on joukko pieniä metallisia nuppeja, joita voi liu’uttaa edestakaisin kiskolla. Tämän vuoksi Curtan kyljessä on kääntökytkin, joka muuttaa kierroslaskurin toiminnan käänteiseksi: yhteenlasku pienentää laskurin arvoa, ja vähennyslasku kasvattaa sitä. Vähennyslasku A?B voidaan muuttaa yhteenlaskuksi laskemalla yhteen A:n komplementti ja B sekä ottamalla tämän summan komplementti (todistus jätetään harjoitustehtäväksi lukijalle). Samalla kuusinumeroinen kierroslaskuri kasvaa yhdellä. Lasketaan kertolasku 1337 × 957. Yksi Curtan pienen koon mahdollistavista innovaatioista on, että yhdeksän komplementin laskeva mekanismi yhdistettynä yhteenlaskuun on kompaktimpi kuin erillinen vähennyslaskumekanismi. Kampea käännettäessä Curta suorittaa siis seuraavan laskutoimituksen: tulos = lukurekisteri × 10 positiorekisteri-1 + tulos. Tarvittaessa vain jommankumman voi nollata; esimerkiksi kun halutaan laskea yhteen usean eri kertolaskun lopputulokset, kierroslaskurin voi nollata kertolaskujen välissä. Sen jälkeen asetetaan positiovalitsin asentoon 4 (tuhannet) ja käännetään kampea kerran. Kertolaskun laskeminen tapahtuu siten, että asetetaan toinen (yleensä suurempi) tulon tekijöistä lukurekisteriin ja sitten lasketaan yhteen ja vähennetään sen kymmenmonikertoja kammen ja positiovalitsimen avulla, kunnes tulon toinen tekijä näkyy kierroslaskurissa. Esimerkiksi: luvun 864 yhdeksän komplementti 864 = 135. Tietyissä algoritmeissa, kuten jakolaskua suoritettaessa, on hyödyllistä laskea yhteenlaskujen sijasta vähennyslaskujen määrää. Kun positiovalitsin on asennossa 2, tuloslaskuriin lisätään lukurekisteri kymmenen kertaa, ja kierroslaskuri kasvaa kymmenellä
Netistä löytyy useita sivustoja, joilta löytää runsaasti lisätietoja, kuten mekanismin piirustuksia, huolto-ohjeita, algoritmeja eri laskutoimituksille ynnä muuta. Suurempaa mittakaavaa tarvitaan, koska muovisen 3D-tulosteen tarkkuus ei riittäisi mekanismin toimintaan. com) on mallintanut Curtan osat 4:1-mittakaavassa 3D-tulostimella valmistettavaan muotoon. Nykypäivän harrastajat Curta-laskin on saavuttanut tiettyä kulttimainetta. Sivuilla on useita blogitekstejä mallin suunnittelusta. Sivuston kautta löytyvät muun muassa laskimen alkuperäiset tekniset piirustukset ja käyttöohjeet. 4 54 Lasketaan kampi yhteenlaskumoodiin, positiovalitsin asentoon 2 (kymmenet) ja käännetään kampea viisi kertaa. Muovisen version kestävyys on myös käytössä koetuksella. Käännetään positiovalitsin asentoon 1 ja käännetään kampea seitsemän kertaa. Tätä artikkelia varten tutkiessani en törmännyt yhteenkään valmiiseen jäljennökseen. Tuloslaskurissa on 1270150 ja kierroslaskurissa 950. Wu on myös julkaissut 1:3-mittakaavaisen version mallista Thingiverse-sivustolla: www.thingiverse.com/thing:1943171. 2 1 7 . Hienomekaniikan harrastajalle Curtan jäljennöksen valmistaminen olisi erittäin haastava mutta ehkä mahdollisen rajoissa oleva projekti. The Curta Calculator Page (www. ReCurta-projekti (github.com/ daeken/ReCurta) ei ole päivittynyt pariin vuoteen, mutta sen tavoitteena oli tehdä modernit CAD-mallit kaikista Curtan osista alkuperäisten piirustusten perusteella. Marcus Wu (wudev.digitaltorque. Katso video kertolaskusta Curtalla: skrolli.fi/numerot. vcalc.net/cu.htm) on laaja kokoelma tekstejä, tiedostoja ja linkkejä. Nyt kierroslaskurissa lukee tulon toinen tekijä 957, ja tuloslaskurissa haluttu kertolaskun tulos, 1279509
Tavoitteena onkin esittää yksinkertainen ja yleinen langaton ratkaisu kaikille Atari-tyyppisille ohjaimille. Ledit lähettävät infrapunasignaalia kohti levyä, ja niiden jännite muuttuu sen mukaan, osuuko signaali levyyn vai reikään (4). Vuonna 1972 Bill English Xerox PARC -yhtiössä kehitti nykytekniikan mukaisen mekaanisen pallohiiren. Simppeliäkö. Liikesignaalit tulkitsee Amigan Denise-piiri, ja hiiren painonappeihin taas reagoivat CIA ja Paula. Atari-tyyppisiin joystickeihin on lehdessä tutustuttu aiemminkin (muun muassa Skrolli 2014.2 ja 2016.4), joten tässä jutussa keskitytään siihen, miten Amigan hiiri toimii. Kuvassa 1a on mekaanisen hiiren läpileikkaus ja kuvassa 1b vastaavat komponentit Amigan perinteisessä ”tank mouse” -hiiressä. Olen aiemmin tutustunut langattomiin sensoriverkkoihin esineverkkojen maailmassa, ja sieltä on tullut tutuksi XBee-tiedonsiirtoteknologia (www.digi.com/products/xbee-rf-solutions). Teksti: Teemu Leppänen Kuvat: Teemu Leppänen, Jeremykemp & Pbroks13/Wikimedia Commons Helppo langaton hiiri Amigalle Haluatko käyttää klassikkokonetta sohvalta ilman pitkiä jatkopiuhoja. Joystick on joukko digitaalisia (1/0) kytkimiä, kun taas hiiren pallon liike tuottaa digitaalista signaalia vaihtelevalla taajuudella. Tiedossa oli vain, ettei rakas ystävätär enää inahdakaan. XBeen line passing -ominaisuuden avulla lähetinpään tulonastojen digitaalinen tila (1/0) kopioituu lähes reaaliajassa vastaanotinpään output-pinnien tilaksi. Hiiren toimintaperiaate Tietokonehiiren konseptin kehittäjä Douglas Engelbart esitteli vuonna 1965 planimetriin perustuvan ratkaisun, jossa kahden toisiinsa kohtisuoran akselin liike siirrettiin potentiometreillä tietokoneelle ja näytöllä kursori liikkui vastaavasti. Idean juju on, ettei langattoman ohjaimen toteuttamiseksi tarvitse kirjoittaa riviäkään koodia tai edes juottaa (rautaprojektille epätyypillisesti). Mekaanisen hiiren läpileikkaus Kuva 1b. Molempien akselien päässä on pyörivä rei’itetty levy, ja kumpaankin levyyn nähden kohtisuoraan asetettuna kaksi lediä (5, kuvassa näkyy yksi). Hiiren liikuttelu pöydällä pyörittää sisällä olevaa palloa (1), joka vastaavasti pyörittää kahta toisiinsa nähden kohtisuorassa olevaa akselia (2), joilla saadaan määriteltyä xja yakselit hiiren liikkeelle. Tämän ohjeen avulla voit muuttaa vanhat ohjaimet kauko-ohjaimiksi ilman yhtään juotosta tai koodiriviä. Vaiherikas kunnostusprojekti olisi ihan oma juttunsa, mutta todettakoon, että apuun tarvittiin kavereita, netin Amiga-sivustoja, oskilloskooppia, yleismittaria, juotoskolvia ja epoksiliimaa. Kun levyssä on pariton määrä reikiä ja ledit tarkasti toisella puolen levyä (180 asteen päässä toisistaan), ei ole mahdollista, että molemmat ledit generoisivat pulssiin saman jännitemuutoksen samaan aikaan. Aiemmissa ratkaisuissa tiedonsiirtoon on käytetty infrapunaa tai Bluetoothia, jotka vaativat mikrokontrollerin tulkkaamaan signaalit ohjaimen liikkeiksi ja ohjaamaan ohjainportin pinnejä. Nimitys hiiri tulee ”hännästä” eli johdosta, joka liittää sen tietokoneeseen. No mitäs hauskaa tässä sitten on. Näin, ilman riviäkään koodia, radio hoitaa hiiren liikkeen välityksen langattomasti ohjaimelta porttiin. Jutussa esitettävä langattoman ohjaimen idea toimii pienin muutoksin kaikissa Atari-tyyppisissä hiirissä ja digitaalisissa joystickeissa retroraudasta riippumatta. 55 Rauta A jatus langattomasta ohjaimesta Amigalle sai alkunsa, kun kesälomaprojektina kunnostin yli vuosikymmenen varastossa koskemattomana lojuneen Amiga 500:n. Hiiressä on vielä komparaattoripiiri (6), joka muokkaa ledien signaalit digitaaliseksi ja vastaamaan tietokoneen ohjainportin jännitetasoja. XBee-radioita on aiemmin käytetty muun muassa DIY-joystickien kanssa ja RC-laitteiden ohjaamiseen. Liikkeen nopeus saadaan selville pulssien tiheydestä eli jännitetason muutoksien määrästä. Näin ohjaimen liikkeen suunta saadaan selville siitä, kummasta ledistä tulevan pulssin jännitetaso muuttuu ensin (3). Atari-tyyppisten hiirten liikettä tulisi näytteistää vähintään 300 hertsin taajuudella. XBee-radioihin on integroitu I/O-pinnejä, joihin lähetinpäässä kytketään ohjaimelta tulevat signaalit ja vastaanottopäässä ohjainporttiin menevät signaalit. Päätin viimeistellä projektin muuttamalla koneen ohjaimet langattomiksi, jotta etenkin pelejä olisi mukavampi fiilistellä kotisohvalta. Amigan “tank mouse” avattuna.. Kuva 1a. Niiden toteutus on monimutkaisempi, mutta etuna on, että analogisista ohjaimista pystytään tekemään langattomia ohjelmallisesti AD-muuntimien avulla. Ensimmäisenä pallon liikkeeseen perustuvan ohjaimen kehitti Telefunken vuonna 1968, mutta se ei katsonut tarpeelliseksi patentoida ideaa
Regulaattorien kondensaattorien arvot on saatu suoraan datalehdiltä. Vastaanottimen virrat saadaan Amigan ohjainportin (CN1 tai CN2) kautta. Ohjaimen ja portin pinnien kytkennät, kun käytössä on kaksi nelikanavaista logiikkatason muunninta. 4 56 Kuva 2. Pariston säästämiseksi tarvitaan virtakytkin. Vastaanottimen kytkentäkaavio. Kun lähetin tehdään joystickille, on mahdollista käyttää pelkästään 3,3 V:n jännitettä ja jättää 5 V:n regulaattori sekä logiikkatason muunnin pois. Kytkentäkaavio Ohjaimen ja ohjainportin liittämiseksi lähetinja vastaanotinradioihin täytyy kasata kaksi yksinkertaista piirilevyä. Piirilevylle ohjaimen kytkee 9-napainen D-liitin. Kuvassa 2 on lähettimen kytkentäkaavio. Kuvassa D-liittimen linjat on kytketty Amigan ohjainmäärittelyn mukaan. Rajoituksena on, että portti antaa virtaa maksimissaan 50 mA, josta XBee S2C tarvitsee daKuva 3. Komponenttilistaus 2 kpl XBee S2C -radio 2 kpl XBee-liitinadapteri radion 2 mm:n nastavälin sovittamiseksi 2,54 mm:n nastaväliin 4 kpl Kaksisuuntainen nelikanavainen logiikkatason muunnin 5 V . Yleisesti ohjaimen signaalien välittämiseen tarvitaan kuusi I/O-pinniä: kaksi painonappia sekä suunnat eteen, taakse, vasemmalle ja oikealle. Lähettimen ja vastaanottimen vaatimat komponentit.. Eri retro-ohjaimissa liittimen pinnijärjestys hieman vaihtelee, esimerkkinä Atari ST:n hiiri, mutta niissä tarvitsee vain kytkeä vastaavat linjat. Kuva tehty Fritzingillä. Nastojen kytkennät on esitetty tarkemmin taulukossa 1 ja komponenttiluettelo taulukossa 2. Kuva tehty Fritzingillä. Kuuteen linjaan tarvitaan joko yksi kahdeksankanavainen tai kaksi nelikanavaista logiikkatason muunninta. XBeen I/O-nastat DIO0–DIO5 on valittu numerojärjestyksessä, mutta muukin kytkentä olisi mahdollinen. Muitakin voi käyttää – esimerkiksi 74-sarjassa on useita muuntimeksi sopivia piirejä, mutta ne tarvitsevat lisää ohjauslinjoja ja kuluttavat enemmän virtaa. Kuvan koekytkentälevyssä yläosaan viedään jännite 3,3 V ja alapuolelle 5 V. Ohjaimen pinnit Logiikkatason muunnin BOB-12009 XBee-radio Logiikkatason muunnin BOB-12009 Amigan portin nastat 1 HV4 LV4 DIO4 LV4 HV4 1 2 HV3 LV3 DIO3 LV3 HV3 2 3 HV2 LV2 DIO2 LV2 HV2 3 4 HV1 LV1 DIO1 LV1 HV1 4 5 5 6 HV4 LV4 DIO5 LV4 HV4 6 7 7 8 8 9 HV3 LV3 DIO0 LV3 HV3 9 Taulukko 1. Kytkentäkaaviossa on käytetty transistoreista rakennettua komponenttia BOB-12009 (valmistaja Sparkfun). Painonappien linjat (6 ja 9) on kuvattu vihreällä ja suuntien linjat (1–4) vaaleanpunaisella. Lähettimen kytkentäkaavio. 2 1 7 . Kuvassa 3 on vastaanottimen kytkentäkaavio. 3,3 V: BOB-12009 tai vastaava 1 kpl 5 voltin regulaattori: 7805 tai vastaava 2 kpl 3,3 voltin regulaattori: LM1117 tai vastaava 1 kpl D-liitin, 9 napaa, uros 1 kpl D-liitin, 9 napaa, naaras 1 kpl 0,1 µF polarisoitu kondensaattori 2 kpl 10 µF polarisoitu kondensaattori 1 kpl 9 voltin paristoliitin tai vastaava 2 kpl Reikälevy tai koekytkentälevy Taulukko 2. Oletuksena virtalähteenä on 9 voltin ladattava paristo, jolloin tarvitaan kaksi jänniteregulaattoria: 5 V ohjaimen kytkentään ja 3,3 V XBee-radiolle. Lisäksi signaalien jännitetaso pitää muuttaa XBee-radiolle sopivaksi: 5 voltista 3,3 volttiin. Nastoilta 7 (+5 V, punainen) ja 8 (0 V, musta) saadaan ohjaimelle jännite
Valmistaja tarjoaa ilmaisen ja monipuolisen XCTU-ohjelman (kuva 5), jolla voi määrittää radioiden asetukset, seurata verkkoliikennettä ja myös päivittää laiteohjelmiston. Tässä on tärkeää huomata, että vaadittu line passing -ominaisuus toimii ainoastaan IEEE 802.15.4 -protokollapinolla, jota kaikki myynnissä olevat XBeemallit eivät tue. Konfiguroinnin jälkeen lähetin huomaa ohjaimeen kytkettyjen kuuden tulonastan (DIO0–DIO5) tiloissa tapahtuvat muutokset ja lähettää automaattisesti uudet tilat vastaanottimelle, joka taas asettaa vastaavat lähtönastat samaan tilaan. XBee-radioissa olisi myös virtaa säästäviä sleep-tiloja, mutta niitä käyttäen tulonastojen näytteistys olisi hitaampaa. Jämäosista koottu langaton DIY-joystick. Radion I/O-nastat (DIO0–DIO5) on kytketty logiikkatason muuntimien BOB-12009 kautta Amigan ohjainportin vastaaviin nastoihin (1–4, 6 ja 9). Vastaanotin vie virtaa alle 35 mA. Baudinopeuden kannattaa olla maksimi eli 230 400, koska viestien välitys tapahtuu sarjaliikenteenä. Radion osoite löytyy painettuna sen pohjasta: esimerkiksi oman lähetinradioni 64-bittinen osoite on 0013A2004106FF78. Jotta line passing -ominaisuus saadaan käyttöön, tulee lähetinja vastaanotinradiot määrittää taulukon 3 mukaisesti. Langatonta ohjainta olisi siis mahdollista käyttää tunteja ilman pariston vaihtoa. Kuva 4c. Itselläni on käytössä S2C-malli, jota myytiin esiohjelmoituna toiselle protokollalle. Kuvissa 4a–4c on toteutettuja prototyyppejä. Kuva 4b. Radion laiteohjelmisto piti päivittää versioon 802.15.4 TH. Radion määrittäminen Radioiden ja lisäksi tarvittavan USBohjelmointilaitteen hankinta onnistuu helposti verkkokaupoista. Koneisto ja 9 voltin paristo vaativat ison kotelon, mutta malli on hyvin sylissä pidettävä. Valmistetulle piirilevylle toteutettu vastaanotin liitettynä Amiga 500:n ohjainporttiin.. Tee-se-itse-joystickin lähettimen voisi toteuttaa kolikkoparistolla (3 V), mutta sellaisten varaus (noin 200 mAh) ei riitä kovin pitkään. 57 talehden mukaan vastaanottotilassa enintään 31 mA. Lähetin vie virtaa ”tank mousen” kanssa noin 70 mA, uuden hiiren kanssa noin 50 mA ja joystickiin integroituna alle 40 mA. Yllä vastaanotin koekytkentälevyllä ja alla lähetin piirilevyllä, mallia itse tehty ja huolella korjailtu. Kuva 4a. Virrankulutus rajaa 74-sarjan piirit pois, sillä niitä testatessa vastaanottimen kokonaisvirrankulutus oli luokkaa 55 mA
Vastaanottimen I/O-nasta 5 lähdöksi (D0) DIO4 DI [3] DO High [5] Lähettimen I/O-nasta 4 tuloksi (DI). Hiiressä olevan komparaattoripiirin (vanhassa hiiressä LA6339 ja uudessa LM339) reaktioaika on datalehden mukaan noin 1 mikrosekunti. Vastaanottimen I/O-pinni lähdöksi (D0) IC 3F Lähettimen pinnit tilaan ”tunnista tilamuutos” IA 0013A200nnnnnnnn Lähettimen koko 64-bittinen osoite. XCTU-ohjelman käyttöliittymä. Alakulmassa XBee-radion pohja, jossa osoite näkyvissä, sekä USB-ohjelmointilaite. Tarkoituksena oli selvittää, kuinka hyvin radio pystyy näytteistämään nopeaa ohjaimen signaalia (yli 300 Hz), ja miten hyvin vastaanotinpää sitä seuraa. Käsivaralla tehdyissä testeissä todettiin, että hiiri tuottaa akselien liikettä ainakin 1000 hertsin taajuudella. Lue lisää osoitteesta learn.sparkfun.com/tutorials/exploring-xbees-and-xctu Taulukko 3. Hiiren liikkeitä testattiin sekä hitailla että nopeilla kädenliikkeillä, jotka siis tuottavat digitaalista signaalia eri taajuuksilla. Vastaanottimen I/O-pinni 1 lähdöksi (D0) DIO0 DI [3] DO High [5] Lähettimen I/O-pinni tuloksi (DI). PARAMETRI LÄHETIN VASTAANOTIN SELITYS BD 230400 230400 Baudinopeus CH C C Käytetty kanava ID 1337 1337 Oman likiverkon tunnus DH 0013A200 Vastaanottimen osoitteen ylimmät 4 tavua, aina vakio 0013A200 DL nnnnnnnn Vastaanottimen osoitteen alimmat 4 tavua MY FFFF FFFF Vakioasetus FFFF DIO5 DI [3] DO High [5] Lähettimen I/O-nasta 5 tuloksi (DI). Kuva 5. Vastaanottimen I/O-pinni 2 lähdöksi (D0) DIO1 DI [3] DO High [5] Lähettimen I/O-pinni 1 tuloksi (DI). 4 58 Testidataa Insinööriä tietysti kiinnostaa ratkaisunsa toimivuus. Vastaanottimen I/O-nasta 4 lähdöksi (D0) DIO3 DI [3] DO High [5] Lähettimen I/O-pinni 3 tuloksi (DI). Testaus tehtiin kolmella eri ohjaimella: alkuperäisellä Amigan tankkihiirellä, uudella Amigan hiirellä (malli 327124) sekä alkuperäisellä TAC-2-joystickilla. Vastaanottimen I/O-pinni 3 lähdöksi (D0) DIO2 DI [3] DO High [5] Lähettimen I/O-pinni 2 tuloksi (DI). 2 1 7 . XBee-radioiden tiedonsiirtoparametrit line passing -toiminnolle. XBeen manuaali ei yksiselitteisesti kerro maksiminäytteenottotaajuutta line passing -ominaisuudelle
Mittauksessa testattiin TAC-2-joystickia. 59 Testatessa vanhaa hiirtä jäi tuntuma, että kursori laahasi ruudulla aavistuksen jäljessä. Hitailla liikkeillä kursori liikkui hapuilevasti valittuun suuntaan, mutta nopeilla liikkeillä se jäi tärisemään paikalleen. Olen kiinnostunut vaihtamaan ajatuksia projektista – esimerkiksi siitä, miten hiiret saisi toimimaan paremmin, ja miten projektia voisi jatkokehittää. Minut saa kiinni sähköpostilla osoitteesta tjlepp@gmail.com. Kuva 6a. Hitaissa liikkeissä hiiri kuitenkin toimii käyttökelpoisuuden rajamailla. Syy tähän lienee se, ettei radio pystynyt seuraamaan liikesignaalia riittävän tarkasti. Vastaava mittaus uuden hiiren nopealla ja pitkällä liikkeellä. Ruutukaappaus oskilloskoopista tankkihiiren normaalilla liikkeellä. Joystickilla tuloksiin voi olla tyytyväinen: pelatessa ei havaittu mitään poikkeavaa, ja vastaanotin seurasi muutaman millisekunnin viiveellä. Nähdään, että vastaanotin seuraa signaalia varsin hyvin muutaman millisekunnin viiveellä. Toisinaan kursori hetkellisesti heilui itsekseen liikkeen suuntaisesti, mikä vaikuttaa käyttökokemukseen. Nähdään, että hiiri tuottaa signaalia paljon korkeammalla taajuudella kuin XBee pystyi välittämään. Kuva 6c. Kuva 6b. Kiitokset Pyksylle TAC-2-joystickin lainasta sekä FabLab Oulun henkilökunnalle avusta kytkentäkaavioiden tarkastamisessa.. Yllä lähetin (A1) ja alla vastaanotin (A2). Oskilloskoopista seuraten 10–20 millisekunnin (50–100 Hz) näytteistys olisi riittävä pelaamiseen, mutta hifistit voivat olla asiasta eri mieltä. Lopputuloksena voi todeta, etteivät näytteistyksen ja langattoman tiedonsiirron viiveet kevyttä pelaamista häirinneet. Bonuksena valmistaja lupaa XBee S2C -radiolle näköyhteydellä yli kilometrin kantaman. Vaikka projekti ei nyt täydellinen menestys ollutkaan, tarjosi se mukavia nostalgisia hetkiä integroidessa nykyteknologiaa lapsuusmuistoihin. Uudella hiirellä ei ratkaisu oikein toiminut. Nähdään, että vastaanotinpäässä signaalia pystytään seuraamaan hyvin 20–40 ms:n viiveellä, joskaan ei aivan täsmällisesti. Satasen juoksussa päästiinkin reilun 9 sekunnin juoksuaikaan, kun aikoinaan treenattu lihasmuisti pikkuhiljaa heräsi. Oskilloskoopista katsottuna näytteenottotaajuus XBeellä oli luokkaa 150–200 Hz. Nopeissa pitkissä liikkeissä kursori saattoi jämähtää paikalleen hetkeksi kesken liikkeen tai seurata selvästi perässä. Langatonta TAC-2-joystickia testattiin Summer Games -pelin kahdessa lajissa: pientä tarkkuutta vaativa skeet-ammunta sekä veivausta vaativa 100 metrin juoksu
2 1 7 . 4 60 TURRIKAANIEN YÖ
61
Ei Fridaystä laatua saa ulos puristamallakaan, mutta se on silti kiinnostava näkökulma kasibittiseen kauhuun ja yhteen ensimmäisistä rankasti hypetetyistä videopeleistä. Jason näet esimerkiksi pelkää ristiä, jos sellaisen keksii rakentaa, ja hänen jahtaamisessaan on monia jänniä detaljeja. Tässä moottorisahasimulaatiossa tilanne käännettiin myös reteästi toisinpäin. Pelaajan täytyy tunnistaa ja tappaa Jason ajoissa, tai ainakin ennen kuin joutuu tämän yllättämäksi. Sellaisena tsekkaamisen arvoinen. 4 62 Pelit The Texas Chainsaw Massacre VSS / Wizard Video Games, 1983 Atari 2600 Jos Atari 2600 oli kaikkien pelikonsolien (kaupallisesti onnistunut) esi-isä, niin sille julkaistu Teksasin moottorisahamurhat -elokuvaan pohjautuva peli oli samoin yksi varhaisimmista kauhupeleistä. Karultahan se näyttää ja tuntuu, mutta pisteet ajankuvaan nähden kovalle yritykselle ja rohkealle kuvakulmalle. Skrollin yleensä kaikkitietävä toimituskin joutuu antautumaan tämän kysymyksen edessä. Kauppinen, Mobygames, Sega, Konami, GMH Friday the 13th Domark, 1986 Amstrad CPC, Commodore 64, ZX Spectrum Brittiläisen Domarkin tulkinta Friday the 13th -elokuvasta jäi pelihistoriaan kahdesta syystä. Siinä sivussa itse peli oli aika kamala. Tontilla kun voi satuttaa itsensä muun muassa pyörätuoleihin ja lehmien pääkalloihin. Huikean kansigrafiikan, raivokkaan mainonnan, kauhuääniskaban ja onnistuneen ”hei osta peli, saat kaupan päälle verikapseleita!” -promootion yhdistelmä myi peliä hurjasti samaan aikaan, kun kukkahatut lentelivät kassakoneiden aiheuttamassa tuulessa. 2 1 7 . muutkin teinit kunnes ottaa macheten esiin ja aloittaa tappotyöt. Oliko kauhu siedettävämpää verikapselia pureskelemalla?. Huuda kovempaa Huuda kovempaa Mikä niissä kauhuelokuvissa ja -peleissä oikein viehättää. Kehnon pelattavuuden alla piilee kuitenkin enemmän kuin äkkinäinen pelaaja huomaakaan. Nytpä pelaaja olikin itse reipas työmies, joka jahtaa Leatherfacen tontille eksyneitä turisteja. Kamala, kiireessä tehty ja silti yllättävä. Tyytykäämme siis kummastelemaan muutamia valkokankaalta pelimuotoon siirtynyttä kauhisteluja ja miettimään, millaisista aineksista hyvä kauhupeli oikein koostuu. Teksti: Jukka O.Kauppinen Kuvat: Jukka O. Pelissä on yllättävää dynaamisuutta ja outouttakin. Ehkä jotain vanhempaakin löytyy, mutta ei paljoa. Nuorisolauma oli hukassa Crystal Laken lomaleirillä, ja yksi porukasta onkin naamioitunut joukkomurhaaja Jason. Muistikuvieni mukaan pelaajakin voi muuttua Jasoniksi, mutta sitä en muista, oliko se tarkoituksellista vai bugi. Kauhuelokuvissa esiintyy usein hirviö tai murhaaja, jolta yritetään päästä pakoon. Näin pysyy tontti puhtaana muiden jätöksistä, joskin Nahkanaama itse on aikamoinen sottapytty. Hän tosin näyttää samalta kuin Vanhoilla pikseleillä ei veri vielä roiskunut. Ensinnäkin sen markkinointikampanja oli nerokas, aggressiivinen ja tunteita herättävä
Pelin asetelma on klassinen: lauma elämäniloisia nuoria lomailee Crystal Laken kesäleirillä, kunnes Jason saapuu ja tappaa. Kehnomman toiminnan ja mälsien puzzlejen välissä Isolation onnistuu tiivistämään myös Alienin pelottavuuden täydelliseksi interaktiiviskesi kokemukseksi. Friday the 13th: the Game IllFonic LLC / Gun Media Holdings, 2017 PC, PlayStation 4, Xbox One Menihän siihen yli 30 vuotta, mutta Friday the 13th -elokuvan paluu peliruuduille – mobiiliroskaahan ei lasketa – onnistui poikkeuksellisella tavalla. Parhaimmillaan paras kauhupeli ikinä. Alien: Isolation Creative Assembly / Sega, 2014 Linux, Mac, PC, PlayStation 3, PlayStation 4, Xbox 360, Xbox One Jos viimeisen vuosikymmenen ajalta halutaan etsiä yksi peli, joka ei yltänyt kaupallisesti sille kuuluvaan gloriaan, niin se on Alien: Isolation. 63 Teksti: Jukka O.Kauppinen Kuvat: Jukka O. Ehkä syy oli peliversion ajankohta. Ihmisten silpominen ja raaka väkivalta sen itsensä takia menevät minulta yli, mutta moni tykkää, ei siinä mitään. Ympärillä hajoavan avaruusaseman nitinät ja kolahdukset saattavat peittää alleen Pedon liikehdintää. Heilahtiko varjossa sen häntä. Alkaa yleensä 5–15 minuuttia kestävä hyytävä pyrähdys, kun leiriohjaajapelaajat yrittävät löytää pelastusvälineitä ja vältellä Jasonia. Uskomattoman pelottavat hiiviskelykohtaukset Pedon ollessa lähellä nostavat hien pintaan, ja se tunne, kun yhtäkkiä tajuat Alienin istuvan juuri sen pöydän päällä, jonka alla kökötät hengittämättä piilossa… Isolationissa meillä oli täydellinen Alien. Niinpä rujojen ja tökeröiden polygonijanttereiden silpominen ei yltänyt lähellekään Saw’n ydintä: julmaa body horroria. Liikkeentunnistin. Aina voit yrittää paeta. Kauhuton kauhupeli, joka ei pelota tai ällötä, ja jonka toimintakin on mälsää. Ei näin. Ei hullummin indiepeliltä, jonka kaikki odottivat epäonnistuvan totaalisesti. Moni peli näytti vajaa vuosikymmen sitten hyvältä, mutta pikkutarkka ihmisen kuvaaminen oli yhä vajaata. Puhtaasti nettipeliksi tehty 13th näet rakentaa hienosti seikkailun, joka pursuaa sosiaalista selviytymiskauhua ja Jasonin pelkoa. Pimeitä käytäviä. Mutta eivät jonnetkaan aivan avuttomia ole, ja pelastuminen on mahdollista, etenkin jos pelaajilla on onnea tai he tekevät hyvää yhteistyötä. Brittistudion uskomattoman kaunis ja jäätävän tunnelmallinen science fiction -avaruuskauhu lainasi inspiraationsa ja teemansa ensimmäisestä Alien-elokuvasta, joka oli loppujen lopuksi nimenomaan kauhuleffa. Kesyttämätön, hirvittävä ja armoton. Jasonin pelaaja taasen hyödyntää supervoimiaan, seuraa leiriohjaajia ja tekee näistä selvää yksi kerrallaan, jos vain pystyy. Yksi ainoa mutta sitäkin vaarallisempi. Eräänlainen VR-kypärä tämäkin. Kauppinen, Mobygames, Sega, Konami, GMH Saw Zombie Studios / Konami, 2009 PC, PlayStation 3, Xbox 360 Saw-elokuvat ovat kamaa, jollaisesta en ole koskaan kyennyt nauttimaan. Peli, joka ei ole pelkästään kauhua – mutta joka parhaimmillaan on sitä mitä hyytävimmällä tavalla. Videopelinä sen kauhut jäävät kuitenkin kovin etäisiksi. Mutta kauasko pääset?. Vaikka peli on modernein silmin nähtynä kömpelö, se on kuitenkin sympaattisen kömpelö. Pakeneminen, piilottelu, turvapaikkojen rakentaminen ja kauhun elementit tekevät siitä samalla myös hyvin tunnelmallisen, jopa alkuperäisteosta ja ylipäätään klassista mökkikauhua kunnioittavan teoksen. Täydellinen tappaja
Kytkinten vaihtelu tuli taas tutuksi – olihan siinä vaiheessa harrastusta jotenkin itsestään selvää, että joystickin ei kuulu kestää käytössä. Vaikka tikun suunnat toimivat aina todella luotettavasti, tulitusnappulat jättivät harva se kerta kytkemättä, ja hermot menivät, kun elämiä kului pelivälineen epäluotettavuuden takia. Muoviosien murruttua tikku lensi aina varaosakasaan ja kaupasta haettiin uusi kytkinviallinen tilalle korjattavaksi. Harharetki TAC-2:n omistajaksi Mikrobitin joystick-testin ylisanojen inspiroimana aloin himoitsemaan TAC-2:ta. Kävimme sieltä porukalla aina hakemassa muutaman, joista sitten lapsuuden innolla juottelimme kasaan yhden toimivan. Näillä pelituntuma parani jo hieman, mutta luotettavuus oli vieläkin aika kehno, sillä tikkujen kytkimiä sai korjata melko pian uudestaan. Todella turhautuneena porasin TAC:n kuoreen reiän ja asensin siihen elektroniikkamyymälästä ostamani painokytkimen. Alun perin Beeshun valmistamat muoviset rimpulat olivat tuntumaltaan melkoisen epämääräiset, ja kalvokytkinten päällä olleet muovitarrat irtoilivat tämän tästä. Jonkun mielestä Quickshot II turbo oli paras, seuraava arvosti TAC-2:ta, kolmas piti Terminatoria kaikkein parhaana. Korjattavat tikut olivat useimmiten avoimin mikrokytkimin varustettuja Commodore VG-200:ia (Cheetah/Beeshu-tuote) ja erilaisia mikrokytkettyjä Quickshoteja. 4 64 Kulttuuri E nsimmäiset omat joystickini olivat vuonna 1986 Commodore 64:n mukana tulleet Commodore VG-115:t. Sainkin lopulta sellaisen ruinattuna vanhemmiltani, mutta pettymys oli todella karvas. 2 1 7 . Joitain myöhempiä Beeshu-tuotteitakin pöydällä kävi, kuten lentokoneen ohjaimia jäljittelevä Zoomer, joka osoittautui täysin kelvottomaksi mihinkään käyttötarkoitukseen. SE AINOA OIKEA PELIOHJAIN Teksti: Ville Jouppi Kuvat: Manu Pärssinen, Ville Jouppi Kilpailun ammattilainen kertoo Tästä se kaikki alkoi.. Vuonna 1990 löysin kotikaupunkini Info-kirjakaupassa käydessäni lattialta laatikon, josta sai ostaa rikkinäisiä joystickejä 20 markalla kappale (nykyrahassa 5 €). Tästä huolimatta niilläkin veivattiin vuosikaudet. Paikka ei kuitenkaan ollut kovin ergonominen ja niinpä siirsin TAC-2:n hyllyyn ja palasin avoimiin mikrokytkimiin QuickJoy Superboardin muodossa. Tikku kiehtoi minua, sillä monissa peleissä valikoiden grafiikoiden joystick oli niKuten kaikki 80ja 90-luvuilla kotimikroilla pelanneet muistavat, joystickin valinnasta riitti keskustelua välitunneilla ja kavereiden kanssa iltaa viettäessä. Ultimate Superstick taas huvittavan superlatiivisesta nimestään huolimatta oli yllättävän mukava tikku – ainakin niin kauan, kuin sen kaukosäätimen nappuloita muistuttava kytkinmekanismi kesti ehjänä. Silloin pelin jatkuminen edellytti huolellista uudelleenteippausta. Ensimmäinen Competition Pro Elettiin vuotta 1993 ja olin perheeni kanssa käymässä Englannissa kesälomalla. Lontoon Piccadilly Circusin HMV-myymälässä näin hyllyllä vihreän Competition Pro Starin. Napit toimivat aina hetken, kun olin viilannut niiden alla olevat messinkiset prikat kiiltäviksi, mutta ne hapettuivat takaisin pätkiviksi melko nopeasti
Alun perin tikkuja tehtiin mustana ja läpinäkyvänä punaisin napein. Minulla oli mukanani riittävästi rahaa, jos malttaisin olla ostamatta musiikki-CD:itä, ja niinpä poistuin myymälästä paketti kainalossa ja aloin odottelemaan malttamattomana kotimatkaa. Kahvan palauttimena toimi varren ympärille pujotettu paksu kumikiekko. Kävi ilmi, että vuonna 1993 tikkujen valmistaja Dynamics Marketing päätti Competition Pron kymmenvuotisen taipaleen kunniaksi julkaista neljä erikoismallia, joita valmistettiin 9999 kappaletta. Tuntuma oli todella hyvä, joskin nörttilapsen käsille teräksinen palautusjousi oli hieman liian jäykkä ensi alkuun. Kotiin päästyäni tikku ylitti odotukseni. Sittemmin olen päästänyt tuon lapsuuden tikkuni eläkkeelle, mutta vielä nykyäänkin aina pelatessani käytän jotain Competition Pro -tikuistani. Kun otin valikoimasta selvää ja katselin eri mallien kuvia myyntilaatikoiden kyljistä ja tietokonelehtien vanhoista mainoksista, alkoi mieleen hiipiä epäilys, että oliko sittenkin tullut haukattua liian iso pala purtavaksi. Hamsterigeenini aktivoituivat, ja lempitikkuni alkoi näyttämään silmissäni potentiaaliselta keräilykohteelta. Sokka irtoaa Jossain vaiheessa 2000-lukua haaveilin ostavani vihreälle tikulleni kaveriksi samanlaisen mutta sinisen. Vanhempien yksilöiden tapauskohtaisesti vaihtelevan pelituntuman vuoksi olin itsekin valikoinut aktiiviseen käyttöön käytännössä pelkästään teräsjousisia tikkuja, kumijousiset olivat vain keräilykappaleina hyllyssä. Loppupään tikuissa kumikiekko korvattiin teräksisellä jousella. Vuosien mittaan tulinkin sitten hankkineeksi Ebaystä ja eri foorumeiden kautta melko kattavan kokoelman erilaisia värivaihtoehtoja. Olin onnistunut haalimaan itselleni niistä kirjavasti kuvioidun jo aiemmin, ja Antilta sain vaihtokaupalla mustan. Minua miellyttivät tikun lyhyt liikerata ja teollisuudessa rajakytkiminä käytetyt suljetut mikrokytkimet. Möin pikkuhiljaa kaikki kumijousiset yksilöt pois ja siirsin kaikki perinteisemmällä kuviolla karhennetut tikut aktiiviseen pelikäyttöön. 65 menomaan Competition Pron muotoiseksi piirretty, ja olin myös arvosteluista ymmärtänyt, että kyseessä voisi olla ihan pätevä tikku. Ajan myötä mukaan tulivat erilaiset erikoismallit, kuten vihreä ja punainen läpinäkyvä, ja vuonna 1990 jalkapallon MM-kisojen innoittamana tikkuja sai osallistujamaiden lippujen väreissä. Eivätköhän nekin vielä joskus löydy. Salamakuvioidun lisäksi nykytiedon mukaan kokoelmastani puuttuvat enää läpinäkyvät savunharmaat sinisillä ja harmailla kolmionapeilla. Löysin hiljattain Saksasta vaalean version, mutta kaikista harvinaisin, salamakuvioitu limited on itseltäni vielä löytämättä. Toki erilaisia jämätikkuja oli nurkissa, että pystyimme kavereiden kanssa pelaamaan kaksinpelejä, mutta yksin pelaillessani väänsin aina Competition Prolla. Joystick-kuvioidut jäädytin keräilykappaleiksi. Kaikki ilmansuunnat löytyivät tarkasti, eikä missään ollut epämääräisyyttä. Ensimmäinen keräämäni Limited.. Päätin, että jatkossa keskityn pelkästään sellaisiin teräsjousisiin malleihin, joista löytyy tämä söpö joystick-kuvio muovin pinnasta, jotta kokoelmani laajuus pysyisi jotenkin tolkullisena. Lisäksi olin huomannut, että vanhojen mallien kumikiekko oli yksilöstä riippuen joko aivan liian jäykäksi kovettunut tai todella väljäksi kulunut. Tämän jälkeen en enää muihin tikkuihin juuri katsonut. Yksisarvisen metsästys Vaikka olinkin päättänyt rajoittaa keräilyni vain tietyllä muotilla valettuihin tikkuihin, haastetta on silti piisannut, ja muutama harvinaisuus on vielä haalimatta. Tikun kestävyydestä kertoo jotain se, että minulla on tuo sama lapsena ostamani yksilö yhä tallessa, ja näiden 24 vuoden aikana siihen on pitänyt vaihtaa ainoastaan kaapeli ja yksi mikrokytkin. Ystäväni ja kanssakeräilijäni Antti Kiurun kanssa huomasimme joitain vuosia sitten Ebayssä erikoisia Limited Edition -tikkuja. Jo aiemmin olin huomannut, että lapsena ostamassani tikussa ei ollut muoviosien karhennuksena perinteistä nahan pintaa jäljittelevää satunnaiskuviota, vaan tikun jalustan kuvio muodostui sadoista pienistä Competition Pro -silueteista. Tarjontaa selaillessani huomasin, että näitähän on tehty aika paljon erilaisia. Kaikkien eri kumijousisten väriyhdistelmien löytäminen kokoelmaan alkoi vaikuttaa melko mahdottomalta
Vaikka teoksia tehtiin useampi eri puolille kaupunkia, niin juuri tuon paikan osalta kaupungin teknisen viraston kanssa käytiin pitkiä keskusteluja siitä, saadaanko seinät edes käyttöön. Vastapäätä kahvipöydän äärellä istuu vaalea nainen, joka puhuu innoissaan Iisalmesta ja sen kulttuurielämästä. Kaupunki antoi ikuistaa paikallisesta toiminnasta maailmalle ponnistaneen digitaalisen vaikuttajan ikoniseen sijaintiin. ”Lähetin tammikuussa 2015 ekat kuvat paikasta graffitin toteuttaneelle ryhmälle.” Alkuperäinen idea oli maalata toiselle puolelle tunnelia ihmemaa Ozin kohtaus, jossa tie johdattaa joukon kohti kaupunkia – aivan kuten tunnelin läpäisevä tie vie ihmiset Iisalmen keskustaan. Yksi oppilaista, 13-vuotias Veera, esitteli kuvaamiaan kohteita, harmaita seiniä hakaristeineen ja esitti ratkaisevan kysymyksen: ”Miksi Iisalmessa ei ole kuin töhryjä?” Se sai valokuvausopettajana toimineen paluumuuttajan pohtimaan ympäristöään uudella tavalla ja tarttumaan toimeen. ”Jälkeenpäin ei ole tullut mitään valituksia”, Kajanus toteaa hiukan huojentuneen oloisena. Hänen mukaansa kaupunki on täynnä luovia ja kiinnostavia ihmisiä, minkä vuoksi sieltä on syntynyt maailmalle paljon hyviä juttuja. 4 66 Kulttuuri A lkuvuodesta 2016 Digitoday uutisoi, kuinka ”Iisalmi kunnioittaa suomalaista tietokonetaidetta graffitissaan”. Julkista taidetta katukuvaan ”Graffitihan sijaitsee Iisalmen pääväylällä, alikulkusillassa josta pääsee kaupunkiin.” Se on sama seinä, jolle joskus 1990-luvulla ilmestyi teksti ”Nolou, the best rappers in town”, Kajanus selittää. Graffitin tarina alkoi, kun Kajanus oli pitämässä valokuvauskurssia Iisalmen kuvataidekoululle muutama vuosi sitten. Kuva olisi sisältänyt erilaisia merkkihenIISALMELAINEN GRAFFITI vaalii digitaalista kulttuuriperintöä Suomalaisen demoskenen alkulähteiltä löytyy Iisalmi ja Byterapers. Halusin siihen muutosta.” Riikka-Liisa kertoo olleen alusta asti selvää, että kuvaan haluttaisiin monenlaisia asioita, joista Iisalmi voisi olla ylpeä. ”Se oli minun sukupolvelleni sellainen maamerkki: aina kun tuli Iisalmeen, näki ensimmäiseksi sen. Siksi halusin pääväylälle jotain erityistä.” Väylä oli keskeinen myös kaupungin mielestä, jonka luvalla ja jonka kanssa yhteistyössä graffitit tehtiin. Näihin kysymyksiin ei aiemmissa artikkeleissa tai Byteillä itsellään ollut vastausta, mutta nyt etsintä on tuottanut tulosta. ”Kaupunki oli aika ankea. Graffitin takana on Riikka-Liisa Kajanus, Turun yliopiston maisemantutkimuksen opiskelija ja mediakasvattaja, joka työskenteli viime vuosikymmenen vaihteessa MySpacella El Segundon toimistossa, Yhdysvaltojen länsirannikolla, ja muutti 2011 takaisin Suomeen. Teksti: Suvi Sivulainen Kuvat: Riikka-Liisa Kajanus, Byterapers, Grendel/Byterapers Kekkonen, Keke ja skene. Yksi niistä on tietokonetaiteen alakulttuurissa tunnettu demoskeneryhmä Byterapers. Samasta graffitista uutisoi myös Iisalmen Sanomat edellisenä kesänä, kun maalaus oli vielä suunnitteilla. Tekijä on löytynyt. 2 1 7 . Mutta miksi ja miten demoskeneryhmä Byterapers päätyi tietämättään mukaan suomalaisen pikkukaupungin alikulkusillan graffitiin. Hän on Byterapersin kanssa samalta paikkakunnalta, lähes samaa ikäluokkaa ja kertoo jollain etäisellä tasolla tienneensä ryhmästä jo pitkään
Graffitissa on mukana myös esimerkiksi Kekkonen, Spede sekä Keke Rosberg, joka formulauransa alussa ajoi Iisalmen kauppahallin takana olevalla mikroautoradalla. ”Vaikkei ole edes Iisalmesta”, tarkentaa Kajanus. Itse kuva-aiheen tarkka sisältö hioutui ja tarkentui pikkuhiljaa prosessin edetessä. Demoskenestä saa lisätietoa vaikkapa Ylen vuonna 2010 verkkoon tuottamasta seitsenosaisesta Demoskene-dokumentista: areena.yle.fi/1-1295277 Graffiti tekovaiheessaan. Maalaus ja sen elävät yksityiskohdat ovat saaneet muiltakin positiivista palautetta. Koska konteksti ei välttämättä avaudu kaikille aivan oikein, pelasi ryhmä varman päälle piilottamalla osan tekstistä taktisesti sijoitettujen pensaiden taa. ”Nämä ovat meidän 1980–90-luvun historiaamme, jota pitää ylläpitää ja muistaa.” Seinän legendaarinen Nolou-teksti haluttiin säästää, mutta Kajanus halusi mukaan myös muita alueen erityispiirteitä. Eniten ehkä iski demoskenen yhteisöllisyys”, hän selittää. Mustalla pohjalla valkoinen teksti!”. Nimi viittaa hakkereihin, jotka pyrkivät ylittämään laitteiden tekniset rajat koodinsa avulla. Kajanus harmittelee, ettei heidän tempauksensa ole vielä aktivoinut muita ryhmiä samankaltaiseen digitaalisen kulttuuriperinnön kunnioitukseen. ”Se oli monen tekijän summa,” toteaa Kajanus. ”Kyse on ihmisten tekemisistä, kulttuurisesta toimimisesta ja paikallisesta perinnöstä. Moni paikallinen kaipasi seinästä graffitipohjustuksen vuoksi poistettua Nolou-tekstiä. ”Rosberg ei ole tiettävästi käynyt katsomassa tätä. Odotan innolla mitä Keke sanoisi tästä teoksesta.” Maalausprosessin aikana myös Nolouthrow upin mysteeri paljastui, kun alkuperäiseksi taiteilijaksi esittäytynyt henkilö tuli kertomaan tekstin taustoja. Graffitin toteutus Suunnitelma muuttui ja hioutui eri tahojen yhteistyönä, mutta tärkeimmät piirteet alkuperäisestä ideasta, eli kaupungin siluetti sekä Byterapersja Nolou-tekstit jäivät mukaan lopulliseen kuvaan. Sellainen kiva työväline.” Byterapers mukaan graffitiin Mutta miten Byterapers lopulta päätyi kuvaan. Graffitin maalasi kolmihenkinen Bo-Axel-ryhmä. Demopartyja on ylipäätään Suomessa järjestetty vilkkaasti, ja tapahtumiin saapuu usein osallistujia myös muista maista. Partyjen rinnakkaistapahtumina voi nähdä LAN-partyt ja erilaiset pelifestivaalit. Saadakseen demoja aikaiseksi oli ohjelmoinnissa käytettävä erityisen paljon luovuutta ja erilaisia jippoja. ”Se verkkosivu oli negatiivina. ”Ehkä voi, koska se on levittäytynyt yleiseen keskusteluun, lehtijuttuihin ja niin edelleen. ”Kekkonen oli suunnilleen yhtä pitkään vallassa kuin Nolou, tosin graffitissa Noloun betoni murtuu”, Kajanus vertailee. Samassa ketjussa yksi kirjoittajista myös totesi, että kaikki ”Byterapers-logotkin on jo taidettu hävittää kaupungista, prkl!” Tilaisuus oli liian hyvä jätettäväksi käyttämättä. Byterapers oli myös ensimmäisten joukossa järjestämässä suomalaisia demotapahtumia. Vaikka kyseessä on graffiti, siinä on yksi Byterapersiin liittyvä tekninen erityispiirre: Byterapers-tekstin mustaa väriä on maalattu osin myös siveltimellä, vaikka kaikki muu on tehty spraykannuilla. Tekijät myös havahtuivat jossain vaiheessa maalausta siihen, että ohi kulkevat lapset jäivät tavaamaan tekstin kohtaa ”rapers”. ”Tietenkin tällaisissa projekteissa joutuu miettimään taiteen asemaa, mikä on se taide siinä, mutta teos kertoo kaupungin historiasta ja potentiaalista”, toteaa Riikka-Liisa ja jatkaa pohdintaansa siitä, voiko julkisella taiteella vaikuttaa myös yleiseen ilmapiiriin. Se on perustettu 1986 Iisalmessa, ja ryhmä osallistuu yhä audiovisuaalisilla ohjelmillaan eli introilla ja demoilla kilpailuihin Suomessa ja muualla Euroopassa. 67 kilöitä, ja toisella puolella olisivat yhdistyneet kaupungin siluetti ja nimi. Kehun Bytejunan päällä olevia lentäviä diskettejä ja bittejä ja Kajanus kertoo niiden olevan täysin graffitin tekijöiden käsialaa. Tässä kohtaa logon loppuosa on vielä sensuroimatta.. ”Joku voisi tulla tekemään vaikka pelikulttuurista samantapaisen jutun – se olisi hyvä meidän yhteisöllemme.” Byterapers on yksi maailman vanhimmista edelleen toimivista demoryhmistä. Esimerkiksi Pariisin kevät -yhtyeen kosketinsoittaja Ilari Kivelä on ylistänyt Facebookissa graffitia Byterapersin saaman huomion vuoksi. Byterapers järjesti 1980–1990-lukujen vaihteessa useita demokilpailuja ja oli näin mukana luomassa demokilpailujen nykyaikaista formaattia, jossa kilpailun voittaja muotoutuu tapahtumassa paikalla olevien äänestyksen tuloksena. Ilmeisesti näitä Iisalmen parhaita räppäreitä ei koskaan ollut olemassa, mutta teksti on kulttuurihistoriaa joka tapauksessa. Tärkeää oli Iisalmen kulttuuriperintö, johon Byterapers kuului keskeisesti. Kajanus kertoo käyneensä lukemassa Byterapersista kertovaa wikipediasivua ja ryhmän verkkosivua. Byterapers-nimi valikoitui demoskenen alkuaikoina, kun toimittiin vielä hyvin rajallisella prosessoriteholla toimivilla tietokoneilla. Kajanus myös tutki YouTubesta Byterapersin tuotoksia, kuten demoja ja ryhmän toimintaa muistelevaa videota. Kesällä 2015 Iisalmen kaupunki hyväksyi suunnitelman ja sen jälkeen päästiin toteutukseen. ”Kuten kerroin, Byterapers-ryhmä oli periaatteessa jo jossain määrin tiedossani.” Tieto graffitia varten tyhjennetystä seinästä levisi sosiaalisessa mediassa, ennen kuin graffitihankkeesta tiedettiin laajemmin
Tai ainakin ne tuntuivat kehittyneemmiltä kuin ne mitä pelasin itse kasetilta. Luova musiikin, kuvan ja ohjelmointitaitojen kautta kilvoittelu ja uuden luominen omasta halusta, ilman kaupallisia tai muuten laajasti tunnustettuja päämääriä on erittäin suomalaista. Demoa koodannut Sivu Byterapersista kertoo tehneensä viimeisiä korjauksia tuotokseen vielä Tanskassa, partyjen tapahtumapaikalla. Suomessa demoskenen toiminta on erityisen aktiivista. ”En nyt jälkeenpäin ajatellen edes tiedä oliko se kirja tarkoitettu Commodorelle”. Hän kertoo pelanneensa kasetilta ladattavia pelejä omalla Commodore 64:llään, mutta hänellä ei ollut tuohon aikaan tietokoneista kiinnostuneita ystäviä. 4 68 Retrointoa ja sukupolvinostalgiaa Jatkamme vielä hetken omien 1980ja 90-lukujen kokemustemme kertaamista ja mietimme teknologiaan liittyvää kulttuuriperintöä ja retrointoa. Myöhemmin olen tajunnut, että siellä taisi tapahtua aika hienoja juttuja. Asuin nuorisotalon vieressä, mutten koskaan käynyt siellä. Kaksi ryhmän jäsentä, toinen nimimerkiltään Sivu, vei teoksen kisaamaan Tanskassa järjestettyyn The Party -demotapahtumaan joulukuussa 1997. Vähän kuin itselläkin,” jatkaa Kajanus. Alkuperäinen Nolou-graffiti, johon myös uudessa työssä viitataan.. ”Ostin Savonkadun kirjakaupasta koodauskirjan ja yritin opetella sieltä”, kertoo Kajanus, mutta kun hän kirjoitti koneelle muutamia valmiita koodinpätkiä, eikä mitään tapahtunut niin kirja jäi. ”Nythän on tulossa muun muassa Commodore 64 Mini. Demoskenessä heijastuu teknologian ennakkoluuloton käyttö ja uuden kehittäminen, jotka voi nähdä monin tavoin pioneerityönä tietokonekulttuurin saralla. Se vaalii niin Iisalmen paikallista kulttuuriperinnettä kuin kansainvälistä tietokonekulttuuriakin. Ehkä tuo 80–90-lukujen kulttuuri nousee uudelleen esille nyt. Kajanuksen tietokoneharrastus oli astetta yksinäisempää. Toisaalta suhteeni omaan Commodore 64:ään oli lämmin.” ”Tulee myös mieleen miten omat polut ovat kulkeneet, kun itsellä oli aikoinaan Commodore 64, ja että olenko ehkä missannut jonkun oman kutsumukseni. Nuorisotalon montussa ovat aloittaneet soittamisen monet muusikot ja ilmeisesti siellä oli joku nuoriso-ohjaaja, joka tuki myös Byterapersia.” Demoskene kulttuuriperintönä Byterapers-ryhmään kuuluva Skrollin toimittaja Jukka O. Byterapers järjesti nuorisotalolla demopartyt 1990-luvulla, ja talon yläkerrassa tehtiin vuonna 1997 The Partyilla julkaistu Ya’dot Klimon -demo MS-DOSille. Kajanuksen graffitiprojekti toimii tarpeellisena siltana alakulttuurin ja julkisen välillä. Ya’dot Klimon on esimerkki demoskenen ja laajemminkin tuon ajan tietokoneharrastamisen erityispiirteistä. 2 1 7 . ”Heillä oli Amiga 500, jolla oli parempia pelejä. Koodaamistakin hän olisi aikoinaan halunnut opetella, mutta kun kokeilu ei tuottanut tulosta, harrastus jäi. Toisaalta alakulttuureihin liittynee aina jonkinasteista sisäpiiriläisyyttä ja ehkä tätä kautta laajemmasta kulttuurisesta kontekstista unohtumista. Johtuuko se ikäryhmän nostalgiasta vai mistä, mutta se tuntuisi olevan jotenkin pinnalla. Tietotekniikkaan liittyvä kulttuurinen kehitys on kuitenkin niin nopeaa, että mikäli kentällä tapahtunutta ei tallenneta ja aktiivisesti muisteta, voi olla hyvin vaikea enää suhteellisen lyhyenkään ajan päästä kunnollisesti ymmärtää alan historiallista kehitystä, toimintatapojen syitä ja tapahtuneita muutoksia. Myöhemmin löytyi myös muutamia tietokoneista kiinnostuneita kavereita ja Kajanus kävi pelaamassa lähellä asuvien sisarusten kanssa. Kauppinen, skenenimimerkiltään Grendel, kertoo nuorisotalon Pete Kauppisen kannustaneen ryhmän toimintaa
Aion kokeilla jokaista ikinä Steamin aleista tai Humble Bundleista ostamaani peliä, jota en ole vielä testannut. Tai tiedän yhden pelin viiden pelin ryppäästä, koska olen pelannut sitä 15 vuotta sitten ja voisin ehkä pelata uudelleen. Vähän ohuita pelejähän nämä, mutta ainakaan rakentelu ei ketuttanut kertaakaan. Tämä ei alkanut hyvin, mutta ainakin pääsen varoittamaan heti. Tuotantoarvot on monelta muultakin osin kohdallaan. Musa on kaunista. Ostan pelejä, vaikka en ehdi pelata edellisiä. Olin valmis rakastamaan. Yhden syyskuisen vapaapäivän aikana testasin putkeen A Virus Named IHAN PAKKO PELATA Kuole Rufus, kuole! Kuluneena syksynä pelimanian, pakkomielteen ja sniiduilun vektorit kohtasivat ja jättivät henkisesti tyhjäksi.. Krokotiilit söivät useita serkkuja. Tämähän ei ole Teksti: Tapio Berschewsky Kuvat: Toni Kortelahti, Tapio Berschewsky loogista, mutta taisin jo mainita pakkomielteen. Toisaalta Rufus on niin monella muullakin tavalla raivostuttava, että pitäisi ehkä puhua vain yleisemmästä toksisesta paskuliinisuudesta. Puzzlet kohtuullisia. 69 69 Pelit P aheeni on ostaa pelejä. Nimeä on riittämiin, mutta lautapelimäistä kokemusta lopulta aika vähän. En ole sen kanssa ainoa. En tule ikinä käynnistämään sitä toiste, vaikka antiikin Kreikka on sitä historiaa, jolle sydämeni sykkii eniten. Sääli, sillä audiovisuaalisesti näin hienoja seikkailupelejä ei näe ihan joka päivä. Toisaalta se on vain pintaa. Humble Bundlessa minulla nimittäin on noin 6 sivua lunastamattomia avaimia pelejä varten. Luotsasin silti sukuani savimajoista herruuteen yhden yön ajan ja olin seuraavana päivänä väsynyt töissä. Tai kun tuntuu naurettavan halvalta saada kymmeniä pelejä pieneen hintaan. Vähän väliä peleistä keskusteltaessa tulee vastaan ajatus ”ostan enää vain pelejä, joita aion pelata heti”. Okhlos: Omega taas jätti jäätävän kylmäksi. Suoraan suohon, vahingossa Aloitin siis projektin. Koska tunnistan jonkun tekijän, josta pidän. Harmi vain, että keskeinen hahmo on täysi ääliö ja pelin juonena typerä runkkufantasia taivaalta tippuvasta täydellisestä naisesta, jonka ajatuksia voi kontrolloida kaukosäätimellä. Se ei ole ihan hirveän paljon, mutta valtaosa siitä on kerääntynyt viimeisen kahden vuoden aikana sen jälkeen, kun palasin pc-pelaamiseen vuosikymmenen konsolirupeaman jälkeen. Steam-kirjastossani on 212 teosta. Point’n’click-seikkailupeli Deponian kauniista grafiikasta tulee mieleen Monkey Island 3. Ostan pelejä Steamista, GOGista, Originista, uPlaysta, Humble Storesta, erinäisistä lunastettavia koodeja myyvistä kolmannen osapuolen nettikaupoista ja aivan erityisesti Humble Bundleina. Takaiskusta huolimatta Seuraavaksi kahlasin yhdessä viikonlopussa läpi Spacebase DF-9:n, Tiny Bridge: Ratventuren ja Project Highrisen. Älkää pelatko Deponiaa, se ei ansaitse teitä. Suurin ongelma, joka tästä aiheutuu, on syyllisyydentunne. Tästä voi ehkä arvata, että käsissäsi ei varsinaisesti ole artikkeli, vaan tämä on lähinnä hämäys, jolla pakotan itseni lukijoita hyväksikäyttäen käymään läpi pelejä pois listalta, Jotta voin ostaa kaikki jouluksi julkaistavat jatko-osat suosikkisarjoihini. Jatkoin antiikissa 7 Grand Steps, Step 1: What Ancients Begatin kanssa. Päähahmo Rufus, joka ei jätä läähättämäänsä naista rauhaan edes useita kertoja suoraan käskettäessä, on toksisen maskuliinisuuden oppikirja. Vaihtoehtoja tuntuu olevan vain kaksi: pelien ostamisen lopettaminen tai jo ostettujen läpikäynti. Koska heti kättelyssä tiesin, että tämä tulee olemaan raskasta, päätin aloittaa todennäköisellä suosikilla: Deponia
Ei missään nimessä samassa laatuluokassa kuin Firewatch tai Edith Finch, mutta kannatti pelata. ”Ei bäk öv sbiör bädöriis” on nyt vakioheittoja kotona, kun jokin laite tarvitsee uudet paristot. Ajatuksia herättäneessä teoksessa kuljetaan läpi fiktiivisen amatööripelinkehittäjän taidepeleistä tehdystä koosteesta. Sori! Ihan pieni tauko vain! Pääosin toissijaista hyppelyä Tasohyppelyjen aika. No, joku oli ajatellut, että on hyvä idea kloonata Rick, mutta poistaa puolet ominaisuuksista. Väliaika, jolloin on kivaa Tässä välissä luovutin hetkeksi ja ostin Life Is Strange: Beyond The Stormin sekä pelasin ensimmäisen episodin. Toinen väliaika Lokakuun lopussa julkaistiin toinen episodi Life Is Strange: Beyond The Stormiin. Minä, kuten ehkä joku muukin, turhauduin kovaa Rick Dangerousiin lapsena. Siinä nimittäin kuoli tosi tosi tosi paljon tosi tosi tosi turhauttaviin ansoihin. Samalla kuunnellaan taustalla iki-ihanan Alan Wattsin hypnoottista pohdiskelua olemisen todellisesta luonteesta. Näissä ei. Suoraan sanoen niistäkin vähän huonosti. Tosin sitä seuranneeseen What Remains of Edith Finchiin verrattuna Firewatch oli kevyttä kamaa. Teos on hieno, poikkeuksellinen ja suositeltava – muutenkin kuin suomalaisuuden vuoksi. Melkein kaikissa peleissä nimittäin on aivan liikaa itseään toistavaa mättöä. Ehdotan, että alaasteen opetussuunnitelmaan lisätään joka aamuun ensin tunti pikkukivien järjestelyä värin ja koon mukaan ja sen jälkeen puolen tunnin sessio Everythingiä. Sen jälkeen rajoitin uudet pelit yhteen per päivä, jotta en tuupertuisi matkalla. What Remains of Edith Finchiä on helppo suositella kaikille. Tai siis, no. Tämä oli jäätävän ruma, teennäinen, kaunis ja hieno yhtäaikaa. Ihastuttavilla ja puistattavilla tavoilla kiero What Remains of Edith Finch on vuoden kevyesti paras ja yllättävin peli ja ehkä Witcher 3:n jälkeen paras tarinallinen peli tältä vuosikymmeneltä. Everythingissä pelataan nimensä mukaan kaikkea mahdollista. 1001 Spikes vaatii tietynlaista masoTunnelmallisin peli hyvin pitkään aikaan. Näyttäisi Rickiltä, mutta on rumempi ja yksinkertaisempi verrattuna esikuviinsa, kuten nyt keskimäärin pikseligraffa indiepeleissä ylipäätään. 1001 Spikes on Rick Dangerous -klooni jopa niin pitkälle, että päähahmo näyttää Rickiltä. Saisipa useammassa pelissä pelata angstista teiniä. Lähdin liikkeelle Firewatchilla. 4 70 TOMia, Girls Like Robotsia, Beat Hazardia, Dusty Revengeä, Ellipsisiä, Flat Heroesia ja Expandia. Jatketaan kävellen Life Is Strangen ihanuuden takia päätin jatkaa listalta löytyvien kävelysimulaattorien parissa. Näiden jälkeen rentouduin hetken Everythingin parissa. Peli ihastutti ajoittain aika rasittavaksi äityvästä pseudofilosofisia pelinkehitysjuttuja selittävästä kertojasta huolimatta. Aina voi sitten vihata niitä, jotka ei tykkää.. Lisäksi siinä puhutaan suorastaan hulvatonta rallienglantia. Seuraavaksi testiin tuli The Beginner’s Guide. Muutenkin kuin japsiroolipeleissa siis. Näistä ei ole yhtään mitään sanottavaa. 2 1 7 . Jälkikäteen en edes muista mitä pelejä Beat Hazard tai Dusty Revenge olivat katsomatta screenshotteja. Ah, niin ihanaa. Olen puhunut. Välillä ohjataan alkuhiukkasia, välillä kamelia, välillä lintua ja välillä galaksia. Kuumottava tarina palovartija-amatöörin ensimmäisistä työkuukausista on niin kova, että sen pelaamatta jättämisen pitäisi olla lakisääteisesti validi syy kickbannata ihmisiä irkkikanavilta. En yleensä jaksa japsiropeja. Olisimme kansakuntana terveempiä. Kokeilin myös viimeinkin suomalaista INFRAa, jossa kuljetaan fiktiivisessä keskieurooppalaisessa kaupungissa korjaamassa budjettileikkausten seurauksena rapistuvaa infrastruktuuria
Kosmokseen ja mikrokosmokseen Marraskuussa lähdin avaruuteen Waking Marsin myötä. Enkä päässyt kokeilemaan itse teosta. Mikä on siis jo aikamoista laatua, kun kerroin kuitenkin sekä Deponiasta että pelistä, joka ei käynnistynyt lainkaan. Erikoinen ja nätillä tavalla ruma tasohyppelypuzzleseikkailu, jossa kasvatetaan Marsin uumenissa outoja kasveja, ei jaksanut kiinnostaa sekään yli tuntia. Pizza on pakko saada äkkiä perille, ja siihen paras keino on tunnetusti lähettää parkourpizzaninja juoksemaan kaupungin kattojen halki tomaattilätty kainalossaan. Sujuvat juoksut kujien, kattojen ja parvekkeiden läpi tuntuivat tyydyttäviltä, ja pizza nyt on aina pizzaa. Ansaitsen sen. Everything on ainoa peli ikinä, jossa olen pelannut siitepölyä ja hengannut yhdessä kamusiitepölyhiukkasten kanssa. Sekään ei kanna montaa iltaa, mutta muutaman taistelun ajan oli erittäin kivaa. 71 kismia pelaajalta. Omalla koneella ei. Kentät ovat tylsiä, graffatyyli omaperäisellä tavalla rumaa, ja unohdin tästä oikeastaan kaiken muun heti quitattuani. Ninja Pizza Girlsissä jaksoin viilettää muutamanakin iltana. Se tosin ei suostunut käynnistymään oikein, vaan tarjosi aina mustaa ruutua ja sekoitti näytön resoluutioasetukset, kun sen pakotti sammumaan. Tässä on se huono puoli, että nyt tekee mieli ostaa juuri julkaistu Steamworld Dig 2. Olisipa uusi VVVVVV. Talvesta on tulossa aivoa raastavan pitkä. Tai näyttäisi, jos se latautuisi. Neljällä varmasti vielä parempaa, kunhan kaikki ovat sopivan samanhenkisiä. Slime-sanissa taas hyppii limapallero. Jos satut olemaan se ekana lehden käsiinsä saanut, niin ole reilu ja lunasta vain yksi. Kutsuin sen sijaan erään hakkerin kylään ja pistimme kolmistaan tulille polyamorisen Lovers in a Dangerous Spacetimen, jossa lähdetään pelastamaan pikkuotuksia ja palauttamaan rakkautta galaksiin isolla yhdessä ohjattavalla aluksella. Yritin pelata myös Morphopolista, joka on ainakin videon perusteella täynnä yksityiskohtaista grafiikkaa kasveista ja ötököistä. Kaksistaan se ei oikein suju, mutta kolmella pelaajalla oli oikein mukavaa. Alla siis muutama ihka ilmainen Steam-koodi lunastettavaksi. Harmi sikäli.. <3 ABZU G8XPB-57H3T-D4FV5 Everything 89NYL-TLFJ8-3QYYI GRAV 69TZ0-9NMPA-KAQN9 Human Resource Machine JEMN9-44QX6-FXEDA Mushroom 11 PWR9C-W5TM5-WBMGF Kokeiltavaa on jäljellä vielä yli sata nimikettä. Ruotsalaisten keksimä Steamworld Heist on aika hauska sivulta kuvattu vuoropohjainen strategia. Paneudun niihin ihan kohta. Pelidesign pyörii Rickin tapaan sen ympärillä, että kahden sekunnin välein joku uusi epäreilu ansa tulee seinästä, lattiasta, katosta tai jostain muualta ja tappaa. Vähän siis Gishin tapaan, mutta paljon huonommin. Eihän tämä mikään huippulaadukas ollut, mutta tässä vaiheessa projektia kohtuullinenkin tuntuu kakulta, ja toisaalta vauhtia pelissä kyllä riittää. Seuraavaksi listalla ovat Event[o], Knight Squad ja Rituals. En kuitenkaan anna periksi. Ei loppua näkyvissä Syksyn aikana ehdin purkaa jonoa yhteensä 32 pelin verran, ja niistä muutamat olivat niin surkeita teoksia, etteivät ansaitse edes mainintaa tässä. Tämä on ikään kuin maksu siitä, että teidän ansiostanne sain kasaa vähän raivattua. Morphopolis näyttää hyvältä. Seuraavaksi kokeilin sitä toista avaruutta, jossa asuu höyrybotteja. Kiitos. Äkkikuoleman määrästä tulee mieleen VVVVVV:n huikea Veni, Vidi, Vici -kohta, jota taisin aikanaan yrittää noin tuhat kertaa ennen ensimmäistä onnistumista. Sikäli kokemus on hyvin autenttinen simulaatio pcpelaamisesta Windows XP -ajalta, mutta en innostunut siitä. Annan kuitenkin itselleni nyt oikeuden yhden pelin ostamiseen täksi jouluksi, eli Assassin’s Creed Originsin. Koodeja halukkaille Humble Bundleja ostellessa ei voi helposti välttyä duplikaateilta. Kuka nyt ei haluaisi kiivetä Gizan pyramidien huipulle mukavasti kotisohvalta. Koodit voi käyttää vain kerran, joten kukin menee sille Skrollin tilaajalle, joka ehtii yrittää ensin. Sitä paitsi tarvitsen terapiana huikeaa grafiikkaa, sujuvaa ohjausta ja hiottua mekaniikkaa. Pelasin sen innostamana myös täysin eri genreä olevan Steamworld Digin, joka oli kaksikosta parempi. Parhaita yhteistyömoninpelisekoiluja hetkeen
Videoita ja kappaleita oli pilvin pimein, ja soittokertoja riitti. Persoonallisen, mielikuvituksellisen ja hyvin monipuolisen pelimusiikin esittäminen vaatii korkean ammattitaidon. ”Kaikelle muulle musiikille oli omat orkesterinsa, mutta pelimusiikille ei. Euroopan ensimmäinen ammattilaisista koostuva pelimusiikkia soittava yli 20 hengen orkesteri soitti debyyttikonserttinsa Helsingin Finlandia-talolla. Yhdessä Assemblyjen pääjärjestäjä Pekka Aakon kanssa syntyi lopullinen idea avajaisista. Yleisölle tulisi tarjota paras mahdollinen pelimusiikkielämys. Syyskuun konserttia edelsi erittäin intensiivinen harjoittelujakso Finlandia-talolla. Varsinainen idea orkesterista syntyi jo syyskuussa 2016. Projektin edetessä Game Music Collective lähestyi Assembly-tapahtumaa esiintymisestä. Kipinä oman pelimusiikkiin erikoistuneen orkesterin perustamiseen syttyi”, Stasevskij muistelee. syyskuuta Finlandia-talolla. Mainio aloitus jätti yleisön nälkäiseksi ja myös Skrollissa päätettiin heti konserttiin menemisestä. Teksti: Tapio Berschewsky Kuvat: Game Music Collective – pillit ja kellot, bitit ja sellot. ”On suuri kunnia saada heidät mukaan projektiimme. Ensimmäistä kertaa orkesteri soitti yhdessä huhtikuussa 2017, jolloin myös Game Music Collectiven ensimmäinen pelimusiikkivideo Video Games Medley julkaistiin YouTubessa. 4 72 Kulttuuri E simakua konsertista saatiin, kun Game Music Collectiven viisi sellistiä yhdessä beatboxaaja Rudi Rokin kanssa esittivät Assembly-tietokonefestivaalin avajaisissa Skyrimin pääteeman sekä Game of Thrones -sikermän. Alkusoitto Orkesterin taiteellinen johtaja Stasevskij löysi vastakaikua muusikoissa ja rakensi yhdessä manageri Katariina Nybergin kanssa Euroopan ensimmäisen ison, ammattimaisen pelimusiikkiorkesterin. Tilaisuus oli aulasta Game Music Collective Suomessa tehtiin syksyllä 2017 historiaa. Sponsoreidemme kiinnostus hankettamme kohtaan kertoo myös pelimusiikkiilmiön merkittävyydestä”, Stasevskij kiittelee. 2 1 7 . Debyytin tunnelmia Konsertti järjestettiin 20. Orkesterin toiminnan mahdollistavat sponsoreina toimivat Rovio ja Veikkaus. Jotain kuitenkin tuntui puuttuvan. Lukas Stasevskij oli YouTubea ja Spotifyä käyttäessään huomannut pelimusiikin suuren suosion. Mukaan saatiin palkittu nuori kapellimestari Eero Lehtimäki
Jeremy Soule Sov. On oletettavaa, että monella muulla kuulijalla oli vastaava kokemus jostain toisesta sävellyksestä. Henkilökohtainen huippukohta oli kuitenkin jo alussa soitettu Monkey Islandin teema. Nobuo Uematsu Sov. Roger Wanamo Final Fantasy VIII Battle Medley Säv. Ainoa kritiikkini koskee Final Fantasy -kappaleiden määrää. Michael Land Undertale Medley Säv. Yleisö oli vahvasti mukana, mutta kaikki teokset eivät olleet yhtä tuttuja kaikille. Tämä nostalgia yhdessä huikeiden, lennokkaiden sovitusten kanssa veivät yleisön hurmokseen. Konsertin juonsi hyvinkin letkeästi kapellimestari Eero Lehtimäki, joka kertoi kappaleiden väleissä peliaiheisia sukkeluuksia. Konserttien lisäksi Game Music Collective aikoo myös toimia studioorkesterina. Esitetyt kappaleet Final Fantasy VII – Opening Theme and Bombing Mission Säv. Teosten välillä taputettiin, vihellettiin, ulistiin ja huudettiin villisti kuin rokkikeikalla. Roger Wanamo Final Fantasy Airship Medley Säv. Tätä pitää vielä joskus saada lisää. Pelimusiikissa mielikuvat parhaista kappaleista sekoittuvat erottamattomasti suloisiin vapaisiin hetkiin lempipelin äärellä, missä niihin on tutustunut. Martin O’Donnell / Michael Salvatori Sov. Hiroki Kikuta Sov. Tippa nousi linssiin, vaikka saman sävelmän on kuullut kymmeninä erilaisina versioina sen jälkeen, kun nautti siitä ensimmäistä kertaa fm-synteesinä viiden pennin aktiivipurkeista. Skrolli toivottaa Game Music Collectivelle pitkää uraa ja menestystä. Kaikesta paistoi, että lavalla oltiin lempiprojektin parissa rakkaudesta lajiin. Roger Wanamo Kingdom Hearts – Destati Säv. Musiikkia täydensi suomalaisen VJ Sellekhanksin hieno videotaide, jonka lavan taakse projisoidut hypnoottiset visualisoinnit saivat salin välkkymään. weplaygamemusic.com. Jani Laaksonen Angry Birds Medley Säv. Annoskateudesta kärsivät voivat suunnata Yle Areena -palveluun, jossa konsertti on melkein kokonaisuudessaan. Austin Wintory Sov. Seuraavaksi orkesteri suuntaa Tampereelle ja Turkuun, joissa järjestetään konsertit näillä näkymin toukokuussa 2018. Ari Pulkkinen, Henri Sorvali, Salla Hakkola Sov. Tulevat sävelet Kokemuksen jälkeen vallitsi epäuskoinen tunnelma. Pokeri tyhjensi pajatson Parhaan yhteistunnelman nostatti Veikkaus-sikermä, jossa sponsorin ikivihreät Lottoja Pokeri-teemat sulautuivat leikitellen toisiinsa. Jonne Valtonen Final Fantasy X – To Zanarkand Säv. Jonne Valtonen Dragonborn – Main Theme from the videogame THE ELDER SCROLLS V: SKYRIM Säv. Nobuo Uematsu Sov. Nobuo Uematsu Sov. Nautin illasta suuresti. Uskon, että sitä kautta pääsemme viemään pelimusiikkia entistä pidemmälle”, Stasevskij kertoo. Jani Laaksonen Veikkaus Medley – Pokeri – Lotto – Numerojytä Säv. Nobuo Uematsu Sov. Tästä halusta syntyi Game Music Collective.. Junaa kohti syysillassa kävellessä koko vartalo kihelmöi. Roger Wanamo Journey – Apotheosis Säv. Näin suurta kotihousujen ja pelipaitojen keskittymää ei yleensä näe klassisen orkesterin konsertissa. Roger Wanamo Halo Main Theme Säv. 73 alkaen omanlaisensa. Valitut teokset ovat hienoja, mutta kolmasosa koko illasta yhtä pelisarjaa tuntuu liioittelulta, kun maailmassa on niin paljon laadukasta ja monipuolista pelimusiikkia, mistä ammentaa. Tunnelma oli odottava mutta kotoisa, mukava ja kaikkea muuta kuin jäykkä tai hienosteleva. Jonne Valtonen Secret of Mana – Fear of the Heavens Säv. Jonne Valtonen Monkey Island Säv. Yasunori Mitsuda Sov. Roger Wanamo Lukas Stasevskij halusi tarjota parhaan mahdollisen pelimusiikkikokemuksen yleisölle. Tunnelma hieman heittelehti konsertin aikana, mutta keskittynyt ja epäuskoinen ilo koko konsertin olemassaolosta vallitsi alusta loppuun. ”Tavoitteena on tiivis yhteistyö peliyhtiöiden kanssa. Roger Wanamo Mega Man 2, 3, 4 ja 5 Säv. Kiinnostuneet löytävät niistä ajallaan tietoa Game Music Collectiven sometileiltä ja kotisivuilta www. Skrolli toivoo tässäkin asiassa enemmän diversiteettiä tietokonekulttuuriin. Yoko Shimomura Sov. Takashi Tateishi, Yasuaki Fujita, Minae Fujii, Yoko Shimomura Chrono Trigger Medley Säv. ToFox Sov. Kimmo Koskinen, Sakari Kuosmanen, Matti Tuominen Sov
Pelasin sitä vain kerran, mutta se oli niin vaikuttava kokemus, että se jäi mieleen. Hänen PC-kehunsa tosin menivät aika yli, emmehän me bisneskoneista piitanneet. Siinä oltiin jonkinlaisessa kummitustalossa ja tehtiin… jotain. VICin pelivalikoima oli aikaisekseen varsin monipuolinen. Hieman oudoksun muistikuviani, mutta ihmeen moni peli taisi löytyä kavereilta ja serkuilta moduleina. Kehä kiertää, sillä törmäsin vastikään Infocomin Suspendediin Pelimuseon retromyyjäisissä. 2 1 7 . Luulenpa, että tämä kokemus sytytti pysyvän palon seikkailupeleihin sekä ruokki osaltaan orastavaa mieltymystäni fantasiaan ja kauhuun. 4 74 Teksti: Jukka O. Hän jopa osasi englantia ja esitteli outoja, lähes käsittämättömiä Infocomin tekstiseikkailuja. Falcon Patrolin räiskintä, Flight Path 737:n lentosimulaattorointi ja moni muukin peli herkutteli jo noina 1981–1984 välisinä vuosina monimuotoisuudellaan, vaikkakin vähän vaikeammat ja englanninkielisemmät pelit jäivät taatusti kokematta. Etenkin Radar Rat Race ja Omega Race ovat jääneet mieleen peleinä, joissa oli jo tuolloin sitä jotain. Commodoren VIC-20 vasta olikin tosi pelihirmu. KoiInfocomin muinaiset tekstiseikkailut olivat huikeaa interaktiivista fiktiota, mutta harvan englannin kielen osaaminen riitti 1980-luvun alussa niiden pelaamiseen.. Harva firma panosti peleihinsä näin kokonaisvaltaisesti, edes noina menneinä vuosikymmeninä. Sen kolmiulotteiselta näyttävä kansi ja oheiskrääsä herättivät välittömästi ihastusta. Myöhemmin olen kovasti yrittänyt etsiä kyseistä peliä, sillä veikkaan sen olevan erittäin varhainen, nykyään tyystin tuntematon esimerkki muinaisista kotimaisista seikkailupeleistä. Jotenkin sitä sivistyttiin ja päästiin parempien pelien makuun. Amerikan ensimmäiset tekijäoikeudenkäynnit taisivat olla vielä käymättä, ja maailma oli hyvin… sanoisinko vapaa muiden luomien konseptien ja nimien ryöstöviljelyyn. Koulujen kerhojen kautta löytyneet tuttavuudet avarsivat maailmaa, ja eräskin tosiguru oli jo 1983–1984 paikkeilla siirtymässä eteenpäin Commodore 64:stä. Ohjelmalistauksia naputeltiin kimpassa ja yksinkertaisiakin Basic-merkkigrafiikkapelejä taottiin kovasti. Kauppinen Kuvat: Susanna Rantanen, Mobygames, Printti / A-Lehdet / Janne Rautiainen Tiedonkulkua ei voi estää. Ei ole mokoma tarttunut Kasettilamereidenkaan haaviin. Melkoinen edelläkävijä, kun muut vasta haaveilivat siitä. osa III: mikrokivikauden alkukipinät J okainen tietokone oli hämmästelyn ja ihailun arvoinen, ja koneenomistajilla riittikin kavereita. Eräällä tutullani oli jo varhain Sinclairin ZX81, jonka yhden kilotavun muistilla tehtiin ihmeitä. Infocom-seikkailut jättivät kuitenkin kutinan, jota pahensi yläasteen atk-kerhon opella ollut jännittävä suomenkielinen tekstiseikkailu. Asiaa suomeksi Vuosikymmenen lähestyessä puoltaväliään maailma muuttui vauhdilla. Tietokoneharrastus oli 1980-luvun alkuvuosina ihailtavan yhteisöllistä, sillä koneiden ohjekirjoja ja vähäisiä tietokoneista kertovia lehtiä ja juttuja tutkittiin porukalla. Eihän niitä mistään saanut, eikä piraattirinkejäkään vielä ollut. Ainakin jälkikäteen on ollut kiintoisaa tarkkailla miten VICille oli myös Donkey Kongin, Pac-Manin, Galaxianin ja ties miten monen muun kolikkopelihitin virallisia ja etenkin virattomia versioita. Jotenkin suuren maailman tietokoneuutuuksista kuultiin myös Kehä kolmosen pohjoispuolella, ja erilaiset koneet tulivat tutuiksi viimeistään siinä vaiheessa, kun niitä ilmaantui pikkukaupunkienkin kauppoihin
Maailma oli myös hellyyttävästi hitaampi. Painotus olikin usein pienemmissä uutisissa ja lyhyemmissä artikkeleissa, ja sivuntäytettä kertyi myös listauksista ja yhdistyspalstoista, sillä tällöin elettiin vahvasti erilaisten atkkerhojen kulta-aikaa. Olisipa minulla oma tietokone. Kunnes eräänä päivänä. JOKin ensimmäinen peliarvostelu julkaistiin 1986, mistä lähtien hän on ahkeroinut tauotta kirjoittaen juttuja muun muassa videopeleistä, tietotekniikasta, viihteestä, ilmailusta ja burleskista. Kuusnelosen lisäksi markkinoilla oli Spectrumeita, Spectravideoita, MSX:iä, Amstradeja, Oriceja ja monia tänään huonosti muistettuja, jopa unohdettuja mikromalleja. Vuonna 1985 mikron ostajalla riitti valinnanvaraa. Etenkin tuon ajan pelijutut voivat tuntua kömpelöiltä, mutta kyllä ne silloin mielikuvitusta kutkattivat. Ulkomaiset lehdet olivat matkaja julkaisuviiveistään huolimatta tärkeä uutislähde suomalaismedioillekin, ja jos maailmalta saapui uutisia suoraan valmistajilta, niin yleensä kirjeitse. Yhdellä sivulla saattoi olla kahdesta neljään arvostelua, Printissä joskus reilusti enemmänkin. Molemmat pelit kuulostivat uskomattomilta, aivan minulle tehdyltä. Tietokoneen kainalossa ilmestyneestä kotimikroliitteestä syntyi MikroBitti, jonka kanssa kilpaili vahvasti etenkin Printti. Suomenkielisille tavan kuluttajille suunnatuille tietokonelehdille olikin kova tilaus, jota täyttivät muun muassa Printti ja MikroBitti.. Tieto liikkui mutta tihkuen. Vaikka Suomen Kielen asian tuntijoita, taittajia ja muuta perinteistä osaamistakin tarvittiin, niin datajuttuja takoivat paljolti myös innokkaat harrastajat. Toisaalta Printissä oli myös puolen sivun, joskus jopa koko sivun pelijuttuja, jopa tuolloin harvinaisista ilmaispeleistä. Tekniikan Maailman ja Tietokoneen kotimikroja pelikonejuttuja luettiin kodeissa puhki niin innolla, että lehtitaloissakin havaittiin potentiaalinen markkinarako. JOKstoriaa-sarjassa muistellaan niin kotimikroilun kuin pelija digijournalismin maailmaa grennulasien läpi nähtynä. Jutut taisivat olla perinteisen peliarvostelun sijaan enemmänkin lukujuttumaisia reportaaseja, ja olin niin myyty. Kauppinen alias Grendel/Byterapers on pitkän linjan toimittaja, joka kirjoitti ensimmäisiä tekstejään mekaanisella kirjoituskoneella. Moni teema-artikkeli vaikutti vahvasti mikrokansan ostoskäyttäytymiseen ja harrastamiseen, minkä myötä joillakin erityisen hyvillä kirjoittajilla oli poikkeuksellisen paljon vaikutusvaltaa. Printti kuitenkin sykki tietoa lähes tosiajassa, viikoittain, yleensä 16–24 sivun paketteina. Könysin kavereiden luona pelaamassa, kirjoittamassa listauksia ja näpeltämässä. Perinteinen journalismi ei muuten jyllännyt täysillä uudessa mikrolehdistössä. MikroBittiä ja Printtiäkin luin kirjastossa. Peliarvosteluthan muuten olivat tuolloin kovin lyhyitä. Minunkin elämääni vaikutti eniten muutama aivan tietty juttu. Jossain MikroBitissä oli näet isot artikkelit peleistä Elite ja Lords of Midnight. Kunpa minäkin saisin tämän tikun, tuollaisen vekottimen tai tämän äimistyttävän pelin! Ja mainoksillakin oli väliä. Nyt tarjolla oli viimein ajantasaista tietoa tietokonemaailman ihmeistä, vempeleistä, ohjelmista ja tietenkin peleistä. jukka@skrolli.fi visto oli uusi Kekkonen ja kotimikrokuume liekehti. Kuukausittainen MikroBitti taasen loisti suuremmilla, pidemmillä artikkeleilla ja testeillä. Mutta eihän minulla ollut. Tänään onkin hauska katsoa kuinka lehdet ja kirjoittamisen tyyli ovat muovautuneet ja kehittyneet ajan myötä. 75 Jukka O. Kiersin kotikaupungin mikrokaupat läpi varmasti viikoittain ja tiesin kauppiaita paremmin, mitä pelejä heillä oli myynnissä
Kesätapahtuma markkeerasi myös Assemblyjen 25. Festivaali tarjoaa ainutlaatuisen tilaisuuden verkostoitua ammattilaisten kanssa ja kartuttaa omia Kulttuuri ASSEMBLYT luovuuden alustana Assemblyt ovat jättilanit, tietokonefestarit ja paikka, jonne tullaan luomaan, tekemään ja innostumaan. Järjestäjät kehuvat kesäfestivaalinsa olevan globaalisti suurin ja arvostetuin ”demoalan” tapahtuma, eivätkä kehut tule perättöminä. 2 1 7 . 4 76 Perinteisesti festivaalien ohjelmistoon kuuluivat muun muassa kompot, turnaukset, vapaata pelaamista jättimäisellä pelialueella, pelintekojamit sekä ammattilaisten luentoja ja yritysten esittelypisteitä. vuosipäivää, ja puitteet olivat sen mukaiset. Juhlavuoden kunniaksi mediataidepuolta oli korostettu ja peliturnausten määrää oli lisätty. Tälläkin kertaa Messukeskukseen saapui yli 8000 kävijää yli 20 maasta. Teksti: Heidi Akselin ja Tiina ”Milsa” Malin Kuvat: Heidi Akselin T ietokonefestivaali Assembly valtasi jälleen 3.–6. elokuuta Helsingin Messukeskuksen. Assemblyllä on aina ollut luja sija suomalaisessa pelikulttuurissa, eikä neljännesvuosisadan ikään ehtinyt tapahtuma näytä väsymisen merkkejä. Lisäksi internetin välityksellä Assemblyille osallistui noin miljoona etäkävijää ympäri maailmaa.. Vaikka monet alan harrastajat saattavat mieltää Assemblyt lähinnä pelaamiseen suunnattuna viihdetapahtumana, Assembly haluaa esitellä pelija it-alaa myös mahdollisena urapolkuna ja tuoda alan yrityksiä lähemmäs osallistujia. Luovuuden mekka Messukeskuksesta sukeutui keskikesän viikonlopun ajaksi oikea modernin luovuuden mekka täynnä monipuolista ohjelmaa, pelikulttuurista viehtyneitä osallistuja, alan ammattilaisia sekä kisailua
”Tärkeintä on saada se fiilis, että mäkin voin tehdä.” Assembly haluaa tarjota helposti lähestyttävän ilmapiirin, jonka puitteissa voi kokeilla eri asioita ja löytää oman taiteenalansa. Muun muassa menestysfirma Rovion perustajat Kim Dikert, Jarno Väkeväinen ja Niklas Hed löysivät toisensa 14 vuotta sitten kesäAssemblyilta. Jo ensimmäisestä osallistumiskerrasta voi syttyä kipinä. Harva hallitsee pelikehitysprosessin kaikkia osia omin nokkineen, ja Assembly pyrkiikin tuomaan yhteen ihmisiä, joiden taidot täydentävät toisiaan. Assemblyille osallistuminen on varteenotettava keino lihottaa omaa portfoliotaan sekä osoittaa kiinnostustaan. 77 tietotaitojaan erityisesti pelintekemisen maailmassa. Hän kertoi pelikehityksen tuntuneen nuorena utopistiselta urapolulta ja päätyneensä alalle vahingossa. ”Jos kansainväliset pelikehittäjät pitävät Suomea potentiaalisena kohteena, myös heidän Suomi-kuvansa paranee”, hän toteaa. Pelitutkija Sonja Ängeslevä kertoi Assemblyjen tavoitteena olevan kasvattaa osallistujien luovuutta ja synnyttää into pelien tekemiseen. Toisiaan täydentäen Pelin kaari ideasta valmiiksi tuotteeksi on pitkä prosessi. Monille oma juttu löytyy helposti, mutta Assemblyt rohkaisevat etenkin vanhempia konkareita kokeilemaan pelikehityksen osa-alueita myös oman mukavuusalueen ulkopuolelta. Myös Martikainen suitsutti Suomen kansainvälistä menestystä ja kertoo pelialan olevan yksi teknologian kärkialueita, joilla alan innovaattoreita pyritään houkuttelemaan myös Suomeen. Harrastuspuoli ja kompoihin osallistuminen jäi aikoinaan väliin, koska IT-insinööriksi Sonja Ängeslevä ja Arja Martikainen kehuvat Assemblyä innoittavaksi tapahtumaksi. Digikulttuurin kasvaessa entisestään suuri osa työmarkkinoista suuntautuu edelleen ulkomaille.. Suosituimmiksi luennoiksi Ängeslevä katsoi ne, jotka sisälsivät eniten konkretiaa, sekä ne, joissa oli täysin uudenkarheaa sisältöä. 16 vuotta järjestetty seminaari pyrkii joka vuosi korostamaan luennoillaan uusia asioita ja tuomaan esille ajan trendejä. Pelialan rekrytoinneissa korostuvat osaamisen lisäksi myös hakijan henkilökohtainen innostus ja harrastuneisuutta alaa kohtaan. Tänä päivänä monet menestyneet suomalaiset pelifirmat lisäävät onnistuneesti alan kotimaisen osaamisen tunnettuutta”, Ängeslevä kertoo. Jos kehittää omaa potentiaaliaan, voivat yrityksetkin kiinnostua ja yksi asia helposti johtaa toiseen.” Assemblyillä tapahtuneiden kohtaamisten perusteella on tehty myös suomalaista pelihistoriaa. Kokemuksen ja ammattilaisten vinkkien avulla saattaa kirvota idea myös oman firman perustamisesta. Arja Martikainen piti vaikuttavan luennon pelialan rekrytoinnista ja vastasi moniin aloittelijoita poltteleviin kysymyksiin. Ängeslevä toimii myös Assemblyjen ARTtech-seminaarin ohjelmatuottajana, jonka estradille halutaan tuoda alan kovimpia tyyppejä, innovaattoreita ja guruja kaikilta pelikehityksen osa-alueilta. ”Vaikka Assemblyillä nykyään enimmäkseen pelataan, ihmisiä halutaan myös herätellä siihen, että pelialasta voi tehdä itselleen palkallisen ammatin. Tämän vuoden teemaksi valikoituivat itse tekeminen sekä modaus. ”Erityisesti peliteknologian ensimmäisen aallon aikaan 90-luvulla oli yleistä hakeutua kansainvälisiin projekteihin suomalaisen pelialan kehittymättömyyden vuoksi. Martikainen toivoi Assemblyjen edelleen toimivan kohtauspaikkana erityisesti nuorille, joille tärkeintä on ensimmäinen merkki CV:ssä. Assembly yhdistää Myös Small Giant Gamesin johtava pelisuunnittelija Tim Lönnqvist puhui seminaarissa. Peliala tarvitsee monipuolista osaamista aina taiteen tekemisestä piinkovaan projektihallintaan. Ängeslevä korostaa, että Assemblyillä ketään ei kiusata, vaan päinvastoin rohkaistaan kokeilemaan omia siipiään. Myös testosteronivoittoisen tapahtuman naisosallistujien määrä oli lisääntynyt viiteentoista prosenttiin, mikä herätti erityistä iloa
Ängeslevä, Martikainen ja Lönnqvist kaikki toivoivat Assemblyjen jatkavan toimintaansa ja säilyvän kohtauspaikkana alan ihmisille uusia menestystarinoita varten. Tuloslähtöisyydettömyys ei tarkoita, etteikö pelejä tulisi firmojenkin sisällä päinvastoin. Suomessa pelialan avoimet paikat saattavat olla välillä todella erikoisia ja spesifejä, ja etenkin pienissä firmoissa työntekijöiden moniulotteiset taidot osottautuvat käteviksi.” Lönnqvist korosti erityisesti Assemblyiltäkin pelijamien merkitystä ja kertoi samanlaista menetelmää sovellettavan toisinaan myös yksityisissä pelifirmoissa luovuuden ja kokeellisuuden kehittämiseksi. Ajalleen tyypillisen kaavan mukaan Lönnqvist aloitti uransa Englannista ja päätyi sen jälkeen takaisin kotimaahansa Suomeen. Joku voisi sanoa Suomessa olevan globaalisti poikkeuksellisen taitavia, monilahjakkaita pelintekijöitä, jotka suoriutuvat yksin laaja-alaisistakin töistä. Pelit ovat tällä hetkellä joka paikassa ja monet menevät Assemblyille vain pelaamaan. Alusta asti mukana ollut demoskene on saanut rinnalleen peliskenen niin pelaamisen kuin pelinteonkin näkökulmasta, samaan aikaan kun pelaaminen on valloittanut valtavirran. Tulevat työnantajat ovat kuitenkin eniten kiinnostuneita vankasta harrastuneisuudesta, innostuksesta alaa ja itseään kehittämistä kohtaan sekä mahdollisista meriiteistä CV:ssä, joita pääsee keräämään muun muassa Assemblyiltä. Assembly-jameilla tehdyt pelit julkaistaan, mutta Lönnqvist kehui vastaavasti tuloslähtöisyydettömyyden positiivista merkitystä firmojen sisäisen toiminnan kannalta. ”Toivottavasti Assembly jatkaa toimintaansa ja säilyy nuorten pelintekijöiden innoittajana. 2 1 7 . Sieltä voi kuitenkin saada kosketuksen myös pelintekemisen, modaamisen, pelien muokkaamisen ja monen muun asian maailmaan. Lönnqvistin tapaan pelinteko on muuttunut monilla harrastuksesta ammatiksi. Tärkeintä on mennä rohkeasti kokeilemaan ja pitää kynnys matalalla, koska vaikka se on iso pimeä sali, siellä ei ole mitään pelättävää.” Sisällä voi olla pimeää, mutta assykävijöiden sisäinen liekki voi olla sitäkin kirkkaampi.. Siinä missä nuorille tapahtumassa riittää aina uusia kiinnostuksen kohteita, syvä harrastuneisuus ja halu kilpailla kompoissa vetävät vanhojakin konkareita puoleensa. Kipinän voi saada yhdellä vilkaisulla. Portti pelimaailmaan avautui osaamisen kehittyessä. ”Sillä on ollut merkitystä, että viimeiset 25 vuotta Suomessa on ollut paikka, jonne peliohjelmoijat voivat mennä riehumaan kerran vuodessa.” Tapahtuma yhdistää myös laajalla spektrillä eri sukupolvia keskenään: ”Ensin sieltä on aloittanut itse omien työkavereiden kanssa ja myöhemmin sinne on vienyt omia lapsiaan.” ”Assembly on ollut jo oman sukupolveni teini-ikäisille tietokoneharrastajille suuri tapahtuma, jossa pääsee tapaamaan oman alan sankareita, joita ei välttämättä ole kaikissa vastaavissa tapahtumissa tai edes kaikissa maissa.” Pelialalla ei yleensä tuijoteta liikaa papereita vaan haetaan yksilöitä, joilla on aitoa kiinnostusta alaa kohtaan sekä halua kehittyä. Toisissa maissa, kuten vaikka Amerikassa ja Japanissa, yksilön ei välttämättä tarvitse hallita niin montaa osa-aluetta niin nuorena. Aiemmin alan koulutus oli varsin kiven alla, mutta nykyään tarjonta on monipuolistunut merkittävästi ja eri osa-alueita voi opiskella jopa yliopistotasolla. ”Suomessa pienet tiimit tekevät monimutkaisia pelejä. Useissa pelifirmoissa työskennellyt Lönnqvist kertoi lähes kaikilla työtovereillaan ja useimmilla suomalaisilla ohjelmoijilla olevan Assembly-historiaa. Jammailu on tapa fokusoida työntekijöitä ja antaa erilaisia välineitä uusien menestysideoiden saavuttamiseksi.” Assemblylle toivotaan valoisaa tulevaisuutta 25 vuoden aikana niin peliteknologia kuin Assemblyt ovat nähneet paljon erilaisia vaiheita ja muuttuneet ajan mukana. 4 78 opiskeltuaan hän pääsi graafiseksi suunnittelijaksi erilaisiin projekteihin. Teknologian riemuvoiton myötä pelaamisesta on tullut yleinen harrastus, joka kuuluu kaikille. ”Jameissa pääsee kokeilemaan asioita, joita on miettinyt pitkään ja halunnut päästä kehittämään
79 SKROLLIN VUOSIKERTA 2018 PAPERILLA TAI DIGINÄ tilaaskrolli.fi 35 € TILAA ENNAKKOHINTA – VIELÄ EHTII