2 1 8 .4 TIETOKONEKULTTUURIN ERIKOISLEHTI 2018.4 S K R O L L I . F I Robot Uprising Hackathon E-KISAT Tietotekniikkaolympialaiset E-urheilulähetysten haasteet Kirja: Kaikki e-urheilusta Teslan A Atari-pelit ZX A Spectrum MSX-massamuistit Skrolli-bussi A 2018 Tee-se-itse -näytöt Google Analytics -laskuri Kosketusnäyttö C64:lle Pelimoottori harrastusprojektina
Joulunumeromme on jälleen paksu 88-sivuinen pläjäys, jossa on mukana muun muassa erikoispaljon sarjakuvaa. Mikael Heikkanen The Hobbit / Melbourne House Tämän numeron avustajat Jarno Alastalo, Ada-Maaria Hyvärinen, Tuula Keränen, Toni Kortelahti, Marko Latvanen, Janne Laukkanen, Sakari Leppä, Teemu Leppänen, Vesa Linja-aho, Sonja Luoma, Mitol Meerna, Tommi Musturi, Antti Nuortimo, Jarkko Nääs, Tomi Pyy, Ville Ranki, Susanna Rantanen, Ari Seppä, Lari Sinisalo, Timo Soilamaa, Riitta Tiermas, Mikko Torvinen, Ismo Utriainen, Erno Vanhala, Samuli Vuorinen Julkaisija Skrolli ry Painopaikka Hämeen Kirjapaino oy, Tampere, ISSN 2323-8992 (painettu) ISSN 2323-900X (verkkojulkaisu) SKROLLI – Tietokonekulttuurin erikoislehti Pääkirjoitus HÄMEEN KIRJAPAINO OY 4041 0209 Painotuote. entäs me aikuiset, jotka haluaisimme laajentaa ymmärrystämme ohjelmoinnista. Kun lehtemme kuudes vuosikerta on tämän myötä taputeltu, muistutamme myös taloudellisista realiteeteista. Lukemisiin ensi vuonna! Kansikuva Taustakuva . Onko meille tarjolla tällaista aivojumppa-appia, ja jos ei ole, kuka haluaisi tehdä sellaisen. Onko olemassa appia, jolla voisi vaikkapa ratkaista joka päivä parin-kolmen minuutin ajan pieniä koodauspähkinöitä. 4 2 Mikko Heinonen vastaava päätoimittaja Yhteydenotot toimitus@skrolli.fi Ircnet: #skrolli skrolli.fi Vastaava päätoimittaja Mikko Heinonen Päätoimittaja Tapio Berschewsky Toimituspäällikkö Janne Sirén Taiteellinen johtaja, taitto Nasu Viljanmaa Digipäällikkö Toni Kuokkanen Taitto Manu Pärssinen Kuvatoimittaja Laura Pesola Mediamyynti Jari Jaanto Talous Yhteisömestari Anssi Kolehmainen Mika Hyvönen Toimitus Jarno Niklas Alanko, Ville-Matias Heikkilä, Jukka O. Kattaus on tuttuun tapaan sen verran monipuolinen, että sulateltavaa riittää useammaksikin joulunpyhäksi: mukana on niin uusinta uutta kuin vuosikymmeniä vanhaa. Rojaltit ideasta voi osoittaa Skrolli ry:lle. Luulisi, että markkinoita olisi. Lähetämme nykyisille tilaajille ensin sähköja tarvittaessa myös paperipostia alkuvuodesta, mutta kaikkein helpoimmin varmistat vuoden 2019 Skrollit jo nyt osoitteesta tilaaskrolli.fi. Odotin ehkä näin kielenopettajaksi koulutettuna hieman modernimpaa oppimiskokemusta kuin vain jatkuvaa drillausta ja monivalintaa, mutta appi on joka tapauksessa jäänyt päivittäiseksi tavaksi – ”putkeni” on nyt jo 170 päivää pitkä. En minä halua tehdä sellaista, haluan käyttää muutaman minuutin siihen, että opin jotain näennäisesti hyödyllistä! Lapsilla on hyvä tilanne, sillä leikin varjolla koodausta opettavia sovelluksia ja sivustoja on todella paljon. Uutuutena tarjolla on myös tapahtumakalenteri, josta voi kurkistaa, mitä tietokonekulttuurin maailmassa tapahtuu lähikuukausina. Ideasta voimaantuneena latasin jonkin sovelluskaupan suositteleman C++-kurssin, mutta lupaavan alun jälkeen se muuttui tekstiseinäksi, jossa olisi pitänyt asentaa tietokoneelle jokin IDE. Kauppinen, Ronja Koistinen, Ninnu Koskenalho, Valhe Kouneli, Sakari Lönn P äätin yrittää aktivoida aikanaan kansalaisopistosta hankittua japanin kielen taitoani ja latasin puhelimeen Duolingon. 2 1 8 . Aloin kuitenkin miettiä, mihin muuhun tällaista päivittäistä harjoittelua voisi soveltaa. Mutta Olisiko siihenkin appi. En kyllä edelleenkään osaa juuri mitään, sumimasen, mutta pöllö jaksaa rohkaista päivästä toiseen. Toimitus työskentelee pääosin harrastuspohjalta, mutta lehteä ei paineta ilman tilaajia
85 Matrix Tässäkö viimein seuraaja IRCille. 70 JOKin pelipalsta Tällä kertaa taktiikkataistelupelien tärpit. Toisinaan. 78 Disk Covers -näyttely Suomen pelimuseossa Commodore 64 -jonnejen taidetta. 46 Kosketusnäyttö C64:lle Rakenna vanhalle koneelle moderni ohjain. 22 Google Analytics -näyttö Rakenna kävijälaskurille numeronäyttö. 32 Sirénin sisäpiiri Uusi teknologiapalsta jatkaa ZX Spectrumista. 2 Pääkirjoitus 4 Tietotekniikkaolympialaiset Nuorten kisakoodareiden vuosittainen mittelö. 54 Sarjakuva: JJ Nääs Turrikaanien yössä joulun Amigaaa! 2018.4 57 Teslan Atari-pelit Pelitestissä uusi Model 3 sekä Model X. 64 JOKstoriaa VII Kotitietokoneharrastus pakotti opettelemaan englantia. 75 Skrollin museobussi + Skrolli Party 2018 Skrollin 5 v. 82 Skrolleri Uudella demopalstalla jatketaan siitä toisesta Commodoresta. 79 Lyhyet Palstalla muun muassa uusi Skrolli-kalenteri. Tampereella juhlittiin sarjakuvan syntymäpäivää. -juhlavuosi huipentui tapahtumiin. 14 Kirja: Kaikki e-urheilusta Kilpapelaamisen lyhyt oppimäärä. 16 Robot Uprising Hackathon Lego-robottien kapina. 49 MHM2000 Mikä siinä Masossa houkutteleekaan pelaamaan pitkää kiekkoa. 63 Matkailua pelialalla 10 v. 39 MSX-massamuistit Syväluotaus MSX:n uusmedioihin. 15 Kolumni: Janne Sirén Colecovision vaihtui koodaukseen. 10 E-urheilulähetysten haasteet Miten FPSja MOBA-pelejä penkkiurheillaan. 58 The Hobbit ZX Spectrumin klassikkopeli mediavertailussa. The Witcher 3:n bugit. 48 Ryzen-epävakautta Linuxissa AMD Ryzen -suorittimen kaatumatauti kuriin. 42 Atari ST:n paketit Mikko Alatalolla oli tarjous, josta et voinut kieltäytyä – mutta kieltäydyit silti. 26 Pelimoottori harrastusprojektina Moottorinrakentajan oppimispäiväkirja. 72 Philips Videopac Kun televisiovalmistaja pelikoneisiin ryhtyi... 87 Sarjakuva: Sonja Luoma Uusi sarjakuvataiteilijamme vs. 66 Saatana koneesta Johtaako pelaaminen väistämättä saatananpalvontaan. 80 Ei näin! Tietotekniikka yksinkertaistaa asioita. 74 Kirjat Pelit elämän peilinä ja Pelitaiteen manifesti. Peliklassikko The Hobbit, sivut 58-62 ja 64.
Abivuotensa aloittaneelle Santeri Toivoselle, 18, tämä on ensimmäinen kerta IOI:ssa. Kisapäiviä on kaksi, ja kummankin päivän kisa kestää viisi tuntia. Nykysääntöjen mukaan jokaiseen tehtävään saa palauttaa ratkaisun sata kertaa. Kilpailussa sallitut kielet ovat C++, Java ja Pascal. Pisteitä saa, jos kisaajan tuottama koodi ratkaisee annetun tehtävän koodille asetetun aikarajan puitteissa. Kisassa mietitään tehokas ratkaisu tehtävään, toteutetaan ratkaisu ohjelmoimalla ja lopuksi palautetaan se arviointijärjestelmään. Ylivoimainen enemmistö kisaajista koodaa C++-kielellä: tänä vuonna 340 kisaajasta vain seitsemän käytti Javaa ja yksi Pascalia. Juha on juuri aloittanut opinnot Helsingin yliopistossa ja Siiri Aalto-yliopistossa, joten he eivät ole ensi vuonna enää kilpailukelpoisia lukiolaisille tarkoitetussa kilpailussa. Tässä lajissa tehtävänä on ratkoa algoritmisia ohjelmointitehtäviä mahdollisisimman nopeasti annettujen rajoitusten puitteissa. Teksti: Ada-Maaria Hyvärinen Kuvat: Lari Sinisalo. Juha Harviaiselle, 19, ja Siiri Kuoppalalle, 19, tämä IOI-kilpailu on viimeinen. Nuorilta jää matkan takia ensimmäinen yliopistoviikko väliin, ja se vähän harmittaa. Miten käy suomen joukkueelle tänä vuonna Japanissa. Tunnetut nopeat algoritmit ja tehokkaat tietorakenteet täytyy olla hyvässä muistissa, jotta voi hahmottaa, mitä missäkin tilanteessa kannattaa käyttää, ja osaa toteuttaa ratkaisunsa. Koodin oikeellisuutta testataan automatisoiduilla testeillä. Juha suunnittelee tekevänsä tehtäviä netissä kisapäivien välillä. Jos pisteitä ei tule, ratkaisua voi korjata ja yrittää uudestaan. Hän oli mukana IOI:ssa viime vuonnakin samoin kuin Juha ja Siiri. 2 1 8 . 4 4 Tapahtuma E lektroninen urheilu on jo valtavirtaa, mutta on olemassa myös toinen vähemmän tunnettu tietokoneisiin perustuva kilpailutyyppi, nimittäin kilpaohjelmointi tai kisakoodaus. Molempina päivinä on kolme tehtävää, jotka on jaettu vaikeustasoltaan kasvaviin osatehtäviin. Kyseessä on korkeintaan toiseen asteen opetuksen piirissä oleville alle 21-vuotiaille nuorille lupauksille tarkoitettu yksilökilpailu, johon jokainen maa saa tuoda mukaan enintään neljä kilpailijaa. Aluksi täytyy ymmärtää, mitä tehtävässä todella kysytään. Kilpailijoiden taso on noussut viime vuosina, ja samalla tehtävät ovat käyneet vaikeammiksi. Pascal tosin jää tämän vuoden jälkeen historiaan vaikean ylläpidettävyyden ja alhaisen suosion vuoksi. Mikä IOI. Yksi tärkeimmistä alan tapahtumista on International Olympiad on Informatics, eli IOI, jota on järjestetty vuosittain jo vuodesta 1989. Suomen joukkueessa on tänä vuonna täydet neljä kisaajaa. Vaikeaa kilpailussa ei kuitenkaan ole C++-osaaminen, vaan algoritmien aikavaativuuksien taju ja ongelmanratkaisu. Ennen esimerkiksi segmenttipuu-tietorakenteen (katso Skrolli 2014.2) tuntemisesta oli merkittävää apua, ja maat, joiden valmenKilpaohjelmoinnin nuoret lupaukset Kansainväliset tietotekniikkaolympialaiset Kansainväliset tietotekniikkaolympialaiset kokoavat vuosittain maailman parhaimmat nuoret kisakoodaajat ottamaan mittaa toisistaan. Roope Salmi, 16, on juuri siirtynyt lukion toiselle luokalle. Neljän kisaajan lisäksi matkassa ovat ohjaajat Lari Sinisalo sekä Ada-Maaria Hyvärinen eli tämän tekstin kirjoittaja
Viime vuodelta Seikkailu on alkamassa Tokion lentokentällä. Kisa on nyt ohi, mutta oma suoritus harmittaa kaikkia. Mitaleja IOI-kilpailussa jaetaan muiden tiedeolympilaisten tavoin avokätisesti. Muiden kilpailu ei tunnu pääsevän vauhtiin ollenkaan. Jotkut ovat kiinnostuneita lähes yksinomaan kisakoodauksesta, jotkut taas harrastavat monenlaista musiikista partioon ja urheiluun. Vasemmalta oikealle: Roope Salmi, Siiri Kuoppala, Juha Harviainen, Ada-Maaria Hyvärinen ja Santeri Toivonen.. Stereotyyppinen mielikuva kilpaohjelmoijasta on usein nörtti, jolla ei ole muuta elämää kuin tietokone. Sitä paitsi kisakoodaus ei juuri saa huomiota tiedotusvälineissä, joten onnistumiseen liittyvät paineet ovat yleensä itsestä lähtöisin. Meilläpäin ohjaajat, perheet ja koulut suhtautuvat kannustavasti, vaikkei mitalia tulisikaan. Tunnelma kisaajien joukossa on samaan aikaan pettynyt ja helpottunut. Hopeaa varten pisteiden täytyy riittää parhaaseen neljännekseen ja pronssiin parhaaseen puolikkaaseen. Kilpailun jälkeen tunnelma on alakuloinen. Kultaa saa, jos kuuluu parhaaseen 1/12:aan kisaajista. Ensimmäisen ja toisen kilpailupäivän välissä on retkipäivä, mikä antaa kisaajille erilaista ajateltavaa. Muiden suomalaisten kilpailu sen sijaan lähtee hitaasti käyntiin, ja ensimmäisen päivän jälkeen muut ovat selvästi mitalirajan alapuolella. Toisin on monessa Aasian maassa, missä yhteisökeskinen kulttuuri vaatii huippusuorituksia. Kisakoodauksen pariin hakeutuvasta nuoresta voi tuntua lohdulliselta löytää muita ihmisiä, jotka haluavat käyttää paljon aikaa ja vaivaa kapea-alaiseen harrastukseen eivätkä välttämättä ole kiinnostuneita niin sanotuista tavallisista nuorten jutuista. Vaikka sijoitus putoaa kisan loppua kohti, Juha jää häilymään kullan ja hopean välimaastoon. Jo kilpailun alkupuolella Juha putoaa hopea-alueelle, mutta onnistuu pysyttelemään siellä kilpailun loppuun saakka. Omat eväät ovat kilpailussa sallittuja vain terveydellisistä syistä. Kisaajan on oltava nuori, jolla on intoa käyttää satoja tai jopa tuhansia tunteja varsin erikoistuneeseen harrastukseen. Toisena päivänä kilpailu sujuu käytännön osilta ensimmäistä päivää paremmin. Puolet osallistujista siis poistuu kisasta jonkinlaisen mitalin kanssa. Myös kisakoodarit itse viljelevät tätä mielikuvaa itseironisesti. Kilpaohjelmoinnissa kiehtoo ongelmanratkaisu: kaiken ytimessä on mahdollisimman tehokkaan ja elegantin ratkaisun keksiminen ja sen toteuttaminen. Nykyään segmenttipuun tuntevat kaikki IOI-tason kilpailijat, ja sen hyödyntäminen on vain pieni osa ongelmanratkaisua tehtäviä miettiessä. Ärsyttää, että kisa on alkanut 40 minuuttia myöhässä huolellisten turvatarkastusten takia, ja että evääksi tarjottiin vain banaani ja urheiluhyytelö. On mahdollista ratkoa jopa jokainen kilpailutehtävä täysin pistein kisan aikana. Juhalle ja Siirille tämä IOI on viimeinen, joten mahdollisuutta parantaa tulosta ensi vuonna ei ole. Mitaliin yltäminen on siitä huolimatta vaikea suoritus, sillä kilpailun taso on huima. Kilpaohjelmointi IOI-tasolla vaatii suuria määriä harjoittelua. Ohjaajat eivät onnistu vakuuttamaan Juhaa siitä, että hopeamitalikin on hyvä suoritus. Toisen kisapäivän paras tulos on 250/300 pistettä, mihin pystyy kokonaiskilpailussa toiselle sijalle tullut Kiinan Yang Maolong. Suomen joukkueen kisatarina Ensimmäisen kisapäivän alussa Juha ottaa hurjan alkukirin ja on noin tunnin ajan kokonaiskilpailun toisena. 5 nuksessa se opetettiin, saivat osaamisestaan etua. Tänä vuonna ykkössijalle päätynyt Yhdysvaltain Benjamin Qi onnistuu saamaan täydet 300 pistettä ensimmäisen kisapäivän tehtäväsetistä. Tämän vuoden joukkueesta Siiri on osallistunut myös kansainvälisiin kemiaolympialaisiin eli IChO:hon kahdesti. Kilpailutilanteessa adrenaliini on korkealla, ja esimerkiksi matematiikan ja kemian tiedeolympialaisista poiketen omasta ratkaisusta saa välitöntä palautetta automaattisten testien perusteella. Juhaakin jää hyvästä menestyksestä huolimatta harmittamaan, koska omiin ratkaisuihin tulee mieleen parannuksia. Heti kilpailun jälkeen mitaleita ei ole vielä virallisesti vahvistettu, mutta Juhan sijoitus on kuitenkin selvästi hopeamitaliin oikeuttava. Kisa pääsee alkamaan melkein ajallaan raskaista turvatarkastuksista huolimatta, ja eväitäkin jaetaan avokätisemmin. Moni käy myös muiden lukiokilpailujen valmennuksissa: etenkin matematiikkavalmennus on suosittua. Tehtävät pyritään kuitenkin suunnittelemaan siten, että kukaan ei saisi kaikista tehtävistä täysiä pisteitä kisa-ajan puitteissa. Keitä osallistujat ovat. Kilpaohjelmoijia on kuitenkin moneen junaan. Mieleen tulee, mitä olisi voinut tehdä paremmin, ja ratkaisut mietinnän alla oleviin tehtäviin tuntuvat nyt itsestään selviltä. Suomalaiset eivät kuitenkaan ota pettymystä yhtä raskaasti kuin monen muun maan kisaajat
Järjestelmä tukee useimpia moderneja ohjelmointikieliä, joten suosikkikielen puuttuminen tuskin on useimmilla rajoittava tekijä kilpailussa pärjäämiseen. Tehtävät ovat kaikkien saatavilla netissä, ja niitä saa ratkoa kahden viikon ajan. 4 6 Iranin IOI:stä mieleen on jäänyt kiinalainen taidokas hopealle jäänyt kisaaja. Käytännöstä kuitenkin luovuttiin yhden kokeilun jälkeen, sillä se ei nostanut hyvin menestyvien tyttöjen osuutta kilpailussa. Tehtävien vaikeustaso vaihtelee brute force -menetelmällä ratkeavista hyvin vaikeisiin. pistävänsä silmään, joten ei ole mukavaa lukea anonyymiä viestiä itsestään, kehuttiin siinä sitten yleisesti ulkonäköä tai ehdoteltiin suorasanaisemmin tapaamista tai seksiä. Onneksi edes sivuston käyttäjät suhtautuivat empaattisesti ja kannustavasti. Tarjotut lounaat edustavat paikallista ruokakulttuuria. Keinoja siihen tuntuu vain olevan rajallisesti. Kisakoodaus on kuitenkin niin vähän tunnettu harrastus, että moni ohjelmoinnin ja ongelmanratkaisun ystävä ei kuule siitä peruskoulun tai lukion aikana. Toinen tunnettu online-kilpailujen järjestäjä on Google: yhtiön moniosainen Code Jam järjestetään vuosittain, ja kilpailun osat ovat vaikeustasoltaan kasvavia. Vuoden 2018 IOI:ssä puhuttiin tavanomaista enemmän yhdenvertaisuudesta ja häirinnän kitkemisestä. Hyvä alusta harjoittelulle on venäläinen Codeforcessivusto. Fyysistä läsnäoloa vaativiin kilpailuihin voi osallistua matalammallakin kynnyksellä. Mitalisti kirjoitti pitkän blogipostauksen Codeforces-kilpaohjelmointisivustolle avaten odotettua huonompaa kilpailumenestystään. Yliopisto-opiskelijat voivat lisäksi osal listua pohjoismaiseen NCPC-kilpa i luun, josta on mahdollista päästä kan sainväliseen ICPC World Finals -loppukilpailuun. ICPC on erittäin kovatasoinen yliopistojen välinen joukkuekilpailu, jossa 1–3 hengen joukkueella on käytössään yksi kone, ja joukkue ratkoo tehtäviä yhteistyössä. 2 1 8 . Monissa viesteissä kommentoidaan seremonian esityksiä (”Look at his tongue Wahahahahahahah”) tai ennustetaan omaa kisamenestystä (”mom beats me if i dont get gold”), mutta valitettavasti naisosallistujiin huomiota kiinnittävät viestit ovat myös osa ilmiötä. Loppukilpailuun otetaan pistejakaumasta riippuen 15–25 parasta. Kilpailija koki olevansa häpeäksi maalleen ja koululleen. Esimerkiksi Helsingin yliopiston ja Aaltoyliopiston yhteistyöinstituutti HIIT on järjestänyt jo monena keväänä kaikille avoimen yksipäiväisen joukkuekilpailun nimeltä HIIT Open. Siihen pääseminen voi olla hankalaa, jos ei ole esimerkiksi koskaan kuullut verkkoalgoritmeista. Juha ja Roope ovat innostuneet algoritmipulmista Helsingin yli opis ton Linkkija Summamutikkiaresurssikeskusten kesäleirillä. MAOL:n syksyisin järjestämään Datatähti-alkukilpailuun osallistuminen on helppoa, vaikka siinä menestyminen voikin vaatia vaivannäköä. Onneksi ohjelmoinnin ja algoritmien perusteiden opetteluun on nykyään saatavilla monenlaisia verkkomateriaaleja ja -kursseja. Näin syntyvät Jodel-sovelluksen henkiset viestit näkyvät kaikille salissa oleville. Kilpaohjelmointiharrastuksen voi hyvin aloittaa aikuisenakin, vaikka IOI-kilpailuun ei enää voikaan pyrkiä. Tahtoa olisi kehittää kilpailua monimuotoisempaan suuntaan ja varmistaa, että lähtökohdistaan huolimatta jokainen tuntisi itsensä tervetulleeksi. Vuonna 1995 IOI-kilpailuun sai poikkeuksellisesti tuoda viisihenkisen tiimin, jos tiimissä oli sekä tyttöjä että poikia. Monet harrastajat tulevat samoista kouluista ja samoilta alueilta – useimmat ovat eteläsuomalaisia. Omien sanojensa mukaan koodari taktikoi huonosti tehtävien priorisoinnissa ja häiriintyi liikaa teknisistä ongelmista, minkä takia suoritus ei riittänyt kultaan. Matematiikan IMO-kilpailun naispuolisten osallistujien määrä nousi tällaisen kilpailun jälkeen, mutta kilpaohjelmoinnin saralla aietta ei ole ainakaan vielä toteutettu. Ongelma on ollut tiedossa jo kauan. Yhtenä harvoista naisosallistujista tietää jo muutenkin Kuinka päästä alkuun kisakoodauksessa. Välillä on ehdotettu myös, että kisakoodausmaat ottaisivat matematiikkakilpailuista mallia ja järjestäisivät erillisen, vain tytöille suunnatun kilpailun. Ratkaisuksi häirinnän kitkemiseen luotiin IOI Code of Conduct, käyttäymissäännöstö, joka äänestettiin osal. Kilpailusta saa pisteitä ratkaistujen tehtävien perusteella, ja omaa sijoitusta pääsee vertaamaan kaverin tai vaikkapa muiden suomalaisten tulokseen. Teini-ikäiset koodarit voivat hakeutua Suomen kisakoodausvalmennuksen piiriin Datatähti-kilpailun kautta. Siellä järjestetään noin kahden tunnin pituisia online-kilpailuja viikon tai parin välein. Datatähti-kilpailuun taas usein löydetään luonnontiedepainotteisen koulun tai koodaamisesta ennestään in nostuneiden kavereiden kautta. Kipinän tähän antoi noin vuonna 2015 alkanut trendi, jossa kisaajat kommunikoivat alkuja loppuseremonian aikana anonyymisti jakamalla puhelimellaan langatonta yhteyttä ja nimeämällä hotspotin haluamakseen viestiksi. Helsingin yliopiston joukkue on päässyt finaaliin edellisen kerran viime vuonna, Aalto-yliopisto taas edellisen kerran vuonna 2012. Osallistujien monimuotoisuus IOI-osallistujien ja ylipäätään kilpaohjelmoijien joukossa on vain vähän tyttöjä
Kaikki kilpailuun liittyvät kysymykset eivät kuitenkaan riipu vain joukkueista. Lievempinä rangaistuksina voi toimia esimerkiksi kilpailun järjestäjien pitämä puhuttelu. Hämmentyneet kisaajat suostuvat, vaikka eivät ole tilaisuudesta kovin innoissaan. Kilpailu kuitenkin järjestetään Egyptissä. Kilpailun sääntöjen puitteissa häiriökäyttäytyminen voi johtaa pahimmillaan kilpailusta diskaamiseen, vaikka niin ei olekaan koskaan tapahtunut. Vaikka kukaan tapahtumaan osallistuja ei kohdannut ongelmia paikallisten viranomaisten taholta kilpailun aikana, pelko on helppo ymmärtää, sillä homoseksuaalisuudesta seuraa Iranin lain mukaan kuolemanrangaistus. On kuitenkin vaikea sanoa, miten järjestäjämaiden kulttuurien ja lakien kanssa tulisi toimia. Toisaalta algoritmien tutkimus yliopistopuolella vetää myös kisakoodaajia puoleensa. Japanin IOI:ssa sponsoreiden läsnäolo näkyy tavallista enemmän. Kilpailun osallistujat ovat haluttua työvoimaa, sillä vaikka kisakoodaus ei välttämättä juurikaan muistuta yritysten tarvitsemaa ohjelmointia, on hyvä algoritmiosaaminen arvokas taito monessa tehtävässä. Yritykset pitävät kisan aulassa ständejä, jakavat logolla varustettuja tavaroita ja työpaikkoja mainostavia esitteitä. Paitsi että se asettaisi maat eriarvoiseen asemaan, se myös vaikeuttaisi ennestään hankalaa isäntämaan löytämisprosessia. Säännöstössä nostetaan esiin myös huonon käytöksen seuraukset. Eräs ohjaaja nosti kokouksessa esimerkiksi kilpailijan, joka ei seksuaalisen suuntautumisensa vuoksi kokenut turvalliseksi osallistua viime vuoden Iranissa järjestettyyn kilpailuun. Esimerkiksi järjestäjämaan kulttuurit ja lait voivat asettaa rajoitteita siitä, miten tervetulleeksi ja turvalliseksi osallistujat kokevat olonsa. IOI-kilpailu ei voi sanoutua irti maan laeista, vaikka ne eivät olisi linjassa kilpailun arvojen kanssa. Lopulta tapaamisessa jutellaan suosikkikoodausprojekteista ja vakuutelOhjaajien kokouksessa puheenvuoron saa nostamalla kylttiä.. Heti saapumispäivänä Suomen joukkueelta kysytään, sopisiko viime vuonna IOI-pronssia saavuttaneille Juhalle ja Siirille henkilökohtainen tapaaminen sponsoriyrityksen kanssa. Sääntöjen mukaan järjestäjä pitää olla tiedossa tasan neljä vuotta ennen kilpailua. Teollisuus kärkkyy kisaajia Kilpailun järjestäminen tulee kalliiksi. IOIkilpailun järjestäminen on kallista, joten sopivan järjestäjän löytäminen voi käydä vaikeaksi. Yleensä järjestäjämaan valtio maksaa suurimman osan kuluista, mutta monissa maissa myös sponsoriyritykset osallistuvat kustannuksiin. Se kertoo siitä, että turvallinen kilpailuympäristö nähdään kansainvälisesti hyvin tärkeänä. Siinä kehotetaan toimimaan toisia kohtaan kunnioittavasti niin elävässä elämässä kuin sähköisessä viestinnässä sekä ottamaan muut mukaan ja tutustumaan ennakkoluulottomasti vieraiden kulttuurien ihmisiin. Äänestys oli hyvin yksimielinen: yli 70 maata 87 osallistujamaasta kannatti dokumentin virallistamista. IOI-osallistujamaiden joukkueiden ohjaajat ovat siis varsin yksimielisiä siitä, että kilpailun tulisi olla tasa-arvoinen ja luonteeltaan tervetulleeksi toivottava. Olisi myös ongelmallista sanoa, että joiltakin mailta kielletään kilpailun järjestäminen kokonaan. Moni Suomen entinen IOI-osallistuja on työllistynyt Googlelle. Säännöstö ei sinänsä tuo mitään uutta IOI:n sääntöihin, vaan ainoastaan avaa niitä yleistajuisemmin. Useimmissa maissa kisakoodausvalmentajina toimivat yliopistotutkijat, ja nämä esikuvat varmasti vaikuttavat kisaajiin. Lisäksi tutkimus tarjoaa usein paremmat mahdollisuudet keskittyä nimenomaan algoritmeihin, vaikka yrityspuolella palkkaus onkin houkuttelevampi. Muodollisesti ottaen vuoden 2021 IOI tulisi oikeastaan jättää väliin, koska sopivaa järjestäjää ei löytynyt viime vuoden aikana. 7 listujamaiden ohjaajien kokouksessa myös IOI:n viralliseksi dokumentiksi ensi vuodesta alkaen
Kilpailu on ohi, ja Suomen joukkueen on aika palata takaisin kotimaahansa. Menestyvän start-upin perustamiseen algoritmiosaaminen ei valitettavasti välttämättä auta. Ainakin entisten osallistujien perustamia yrityksiä on maailmalla. Yritys ei kuitenkaan saa pyytää kisaajien yhteystietoja, joten vaikka rekrytoijat kiinnostuisivat jostakusta, heidän täytyy toivoa nuoren ottavan itse yhteyttä. Mitä kisakoodareista tulee isona. Ja vaikka kilpaohjelmoija tahtoisikin ohjelmoida myös työkseen, voivat töissä vastaan tulevat tehtävät olla aika erilaisia kuin kilpailussa. Ainakaan Suomen joukkueella oma osaaminen ei ole kuitenkaan noussut päähän. 2 1 8 . Suomalaisista entisistä kilpaohjelmoijista moni on päätynyt töihin Googlelle. Toisaalta myös akateeminen, algoritmitutkimukseen keskittyvä ura kiinnostaa nuoria kisakoodareita. Vaikka moni ohjelmointia työkseen tekevä aikuinen ei pääsisi aktiivisen taitotasonsa puolesta IOI-joukkueeseen, on kisaajilla Suomen parhaisiin kilpaohjelmoijiin verrattuna vielä opittavaa. Juhan ja Siirin kohdalla toive taitaa jäädä turhaksi. Kisajärjestäjien ja yrityssponsorien puheissa näissä nuorissa on tulevaisuus. Juhan ja Siirin täytyy opiskella kisaviikon aikana ohi menneet yliopistokurssien sisällöt. 4 8 laan kisaajia työpaikan mahdollisuuksista. Santeri sen sijaan jää vielä viikoksi Japaniin matkustelemaan ennen kuin palaa takaisin lukio-opintojen pariin. Joukkue pääsi tutustumaan niin fyysiseen kuin tekniseenkin kilpailuympäristöön harjoituskilpailussa, joka pidettiin ennen varsinaisen kilpailun alkua.. Kuitenkaan ei ole sanottu, että kisakoodarit työllistyvät ohjelmoinnin pariin. Sen sijaan kisakoodauksessa opitut kyvyt kuten täsmällisyys, optimointikyky, oikean ongelman tunnistaminen ja stressinhalEkskursiolla kilpailijat vietiin katselemaan nähtävyyksiä, kuten kuvassa näkyvää Oarai Isosakin pyhättöä. Japanin-matkalla joukkue pääsee tapaamaankin Tokion Googlella työskentelevää Mikko Sysikaskea, joka sai pronssia Egyptin IOI:ssä vuonna 2008. Roope lähtee suoraan lentokentältä käymään Päivölän opistolla matematiikkavalmennuksen kokeessa. Tuleeko entisistä IOI-osallistujista sitten maailmanpelastajia ja menestyviä yrittäjiä. Myös muut alat, kuten matematiikka, fysiikka ja kemia, vetävät kisakoodareita puoleensa. Algoritmiosaaminen vie ihmiskunnan pitkälle ja innovatiivinen ajattelu pelastaa uhkakuvilta
Tarkemmin sanottuna sinun täytyy välttää kaupunkeja 0, … , L i 1 ollessasi ihmismuodossa ja kaupunkeja R i + 1, … , N ollessasi susimuodossa. Tehtävänanto oli seuraava: Japanissa, Ibarakin prefektuurissa, on N kaupunkia ja M tietä. Sinun täytyy välttää väkiluvultaan pieniä kaupunkeja, kun olet ihmismuodossa, ja väkiluvultaan suuria kaupunkeja, kun olet susimuodossa. Paikallinen ruoka ei aina maistunut kisaajille, joten retkipäivän iltana käytiin illallisella pitseriassa. R i . Tehtävästä sai 7 pistettä, kun syötettä oli rajattu seuraavasti: N . i . Aiot tehdä Q matkaa, joiden päätepisteet on määritelty etukäteen siten, että matka i (0 . Voit muuntautua ainoastaan ollessasi kaupungissa (muuntautumisen voi tehdä myös matkan päätepisteissä S i tai E i ). N 1), jotka kertovat, mitä kaupunkeja sinun tulee välttää. Mistä tahansa kaupungista on olemassa reitti mihin tahansa kaupunkiin yhtä tai useampaa tietä pitkin. Q 1) kulkee kaupungista S i kaupunkiin E i . L i . Olet ihmissusi. 9 Tehtävä vuoden 2018 kisasta Tämä tehtävä oli yksi kolmesta ensimmäisen kisapäivän tehtävästä IOI 2018 -kilpailussa. Elämä ihmissutena ei ole helppoa. Matkan aikana sinun pitää muuntautua (muuttua ihmismuodosta susimuotoon) tasan kerran. Täydet pisteet sai, jos kehitti ratkaisun, jolla ohjelma toimi neljän sekunnin aikarajan puitteissa, vaikka rajat olivat suuremmat: N . Ratkaisusi tulee siis toteuttaa seuraava funktio (C-syntaksilla ilmaistuna): int[] check_validity(int N, int M, int Q, int[] X, int[] Y, int[] S, int[] E, int[] L, int[] R); Missä N, M, Q, S, E, L ja R ovat kuten tehtävänannossa on kuvattu, ja X ja Y määrittelevät tiet siten, että kaikille . i . Tehtävänäsi on kertoa jokaiselle matkalle, onko sinun mahdollista kulkea kaupungista S i kaupunkiin E i niin, että kaikki aikaisemmin mainitut ehdot täyttyvät. M 1, kaupungista X[i] kulkee tie kaupunkiin Y[i]. 400 000 ja Q . 100. Sen ovat laatineet iranilaiset Mohammad Roghani ja Helia Ziaei. Jokaisen matkan alussa olet ihmismuodossa. i . Kilpailussa kisaajilla on käytössä tehtävänantotekstin lisäksi esimerkkisyötteitä ja tiedot pisterajoista. 100, M . Funktio palauttaa taulukon, jonka indeksissä . 335 osallistujasta 15 sai tehtävästä täydet pisteet. Alkuperäisen tehtävänannon ja testisyötteet löydät osoitteesta ioi2018.jp/competition/ tasks/ Venäläinen Codeforces-sivusto tarjoaa avoimia nettikisoja säännöllisin väliajoin. Tulevaisuus on kirkas koko Suomen kisajoukkueelle. Jokaiselle matkalle i on annettu kaksi rajaa L i ja R i (0 . Jokainen tie yhdistää kaksi erillistä kaupunkia, ja sitä voi kulkea kumpaan suuntaan tahansa. 200, Q . Saisitko sinä. Kaupungit on numeroitu 0, … , N 1 niiden asukasmäärän mukaan kasvavassa järjestyksessä. Matka saa olla mielivaltaisen pitkä. Q 1 on 1, jos matka i on mahdollinen, ja muulloin. Maukkaita pitsoja odotellessa ratkottiin kiperää ongelmaa.. Sinulla on kaksi muotoa: susimuoto ja ihmismuoto. Jokaisen matkan lopussa sinun täytyy olla susimuodossa. Sen takia matkalla i voit muuttua ainoastaan jossakin kaupungeista L i , … , R i . linta ovat hyödyllisiä taitoja niin työssä kuin vapaa-ajalla. 200 000. 200 000, M
Esimerkiksi Overwatch eli OW hyödyntää erilaisia tavoitteita vaihtelevilla pelimuodoillaan, kun taas CS:GO jättää valinnan pelaajille. Näkymä on siis rajattu pitkälti pelaajan ”silmiin”: käytävässä seisova hahmo näkee vain käytävän seinineen. Tietokoneohjatut viholliset ovatkin tärkeä osa MOBA-pelejä, eikä vastaavia juuri käytetä FPS-peleissä. Tällöin pelaaja näkee pelialueen lähes kokonaisuudessaan, ja näkyvyyttä rajoitetaan ”vision”-mekaniikalla, jolla mallinnetaan esimerkiksi pelihahmon näkökenttää. E-urheilu on siis lyönyt läpi ja lujaa. 4 10 Pelit D ota 2 -videopeliturnaus The International keräsi tänä vuonna huiman määrän katsojia. Myös striimien lähetystuotannoissa on eroja. Jo lyhenne FPS eli ”first person shooter” kertoo, että peliä pelataan hahmon näkökulmasta, ensimmäisestä persoonasta. MOBA-peleissä taas käytetään isometristä kuvakulmaa, joka näyttää pelialueen viistosti ylhäältäpäin. Näkymään on merkattu, mitä hahmo näkee, vaikka pelaaja näkee myös tämän ympäristön. Eroavaisuudet pelien tapahtumissa ja tavoitteissa muokkaavat lähetyksiä. Miten FPS-pelit eroavat MOBA-peleistä. FPSeli ensimmäisen persoonan ammuntapelit eroavat MOBA-peleistä näkyvimmin pelaajan kuvakulman osalta. Striimattavien pelien joukkoon mahtuu MOBA-pelien lisäksi myös ensimmäisen persoonan räiskintöjä, kuten Overwatch ja Counter-Strike: Global Offensive. Suosituimpien MOBA-pelien, kuten League of Legendsin ja Dota 2:n, tavoite on suoraviivainen. Katsojalle tärkein osa e-urheilun seuraamista on kiistatta striimi eli pelin suora lähetys kisapaikalta. FPSja MOBA-pelien perusperiaatteet eroavat toisistaan suuresti. Pelkästään Twitch-suoratoistopalvelun kautta turnausta seurasi lähes 67 miljoonaa katsojaa. 2 1 8 . Teksti: Janne Laukkanen, Tomi Pyy Kuvat: Toni Kortelahti, Tomi Pyy Striimeissä on eroja. Lähtökohtaisesti toteutuksessa on huomioitava, kuinka pelit tarkalleen eroavat toisistaan. Striimien toteutus E-urheilulähetysten toteuttamiseen peliin tarvitaan ”kamerankäyttäjiä” eli tarkkailijoita, jotka vastaavat katsojalle välittyvästä kuvasta. Entä mitä yhteistä striimeillä on. Keskiössä on yleensä vastustajien eliminoiminen, mutta pelin voi voittaa vaikka valtaamalla tietyn alueen tai viemällä jonkin avainesineen maaliin. Pelaajat eivät voi havaita tarkkailijaa pelin aikana, ja tämän näkymä eroaa merkittävästi pelaajien näkymästä. Tarkkailija liittyy peliin Spectator-tilassa, jolloin tämä voi seurata peliä ”lentokameralla” liikkuen tai pelaajien näkökulmasta. Pelaajien yhteenotot ratkaistaan monipuolisilla keinoilla, jotka liittyvät hahmojen kykyihin. Kuinka nämä hyvin erilaiset pelit toteuttavat lähetyksensä, jotta katsoja voi seurata kisaa ja pysyä kärryillä. Nimensä mukaisesti pelit myös painottavat ampumista. Business Insiderin arvion mukaan e-urheilun markkina-arvo liikkuu 900 miljoonan dollarin tienoilla, ja The Internationalin voittanut OG-joukkue kääri taskuihinsa yli 11 miljoonaa dollaria. Tarkkailija näkee kummankin joukkueen pelaajat MOE-urheilu kasvattaa suosiotaan penkkiurheilijoiden keskuudessa. Tärkein resurssi on kulta, jota kerätään vastustajien tietokoneohjattuja ”kätyreitä” tai pelaajahahmoja eliminoimalla. FPS-peleissä taas on usein monta tapaa voittaa. Miten eri kilpapelit eroavat toisistaan, ja miten eroavaisuudet vaikuttavat suoriin lähetyksiin. Joukkueet pyrkivät keräämään resursseja ja aikaa puskeakseen tiensä vastustajan tukikohtaan ja tuhotakseen sen
Näihin verrattuna esimerkiksi CS:GO-lähetykset ovat usein monikameratuotantoja, eli ne vaativat useita observoijia seuraamaan ottelua”, Rönkä kertoo. Dota 2:n banja pick-vaihe ennen ottelun alkua. Este on merkitty tämän näkymään, mutta se ei peitä kuvaa kuten pelaajalla. Kuvassa näkyy lähetyksissä käytetty AR-tekniikka, jolla hahmojen 3D-mallit tuodaan ikään kuin elävinä lähetyksiin.. Näitä on vaikea hakea pelien nopeatempoisuuden vuoksi. Ohjaajalla on oltava selvä käsitys pelistä, sen mekaniikoista ja kuvakerronnasta. ”Monissa MOBA-tuotannoissa selostaja toimii itse observoijana [tarkkailijana]. 11 BA-peleissä kartan lisäksi kentällä ja FPS-peleissä seinien läpi näkyvillä ääriviivoilla. ”Ylen tuottamassa Assembly-tapahtuman CS:GO-lähetyksessä käytettiin kolmea observoijaa ja yhtä ohjaajaa. Ruudulla ei kannata esimerkiksi näyttää mitään, millä ei ole itseisarvoa”, Rönkä avaa. Pelien tärkeimmät muuttujat eli elämäja haarniskapisteet sekä Overwatchissa barrier näytetään jatkuvasti ruudulla. Kuvassa näkyvät pelaajien näkölinjat sekä kranaatin lentokaaren näyttävät viivat. Se auttaa niin pelaajia kuin katsojiakin seuraamaan, kuinka voimasuhteet ottelussa muuttuvat. ”Esimerkiksi urheilulähetysten rytmitys on muotoutunut vuosikymmenten kehityksen kautta ja hioutunut toimivaksi. Röngän mukaan e-urheilussa ei tarvitse koettaa keksiä pyörää uudelleen. League of Legendsin käytetyin kuvakulma. Ylen e-urheilutoimittaja Otto Röngän mukaan FPS-pelien lähetykset vaativat paljon työtä. Yleisimpiin lisätietoihin kuuluu tehty vahinko, eliminointien määrä ja MOBA-peleissä sekä OW:ssa healing eli parantamisen määrä. Yhden pelimuodon CS:GO:een esittely tarvitaan vain alussa, ja MOBA-peleissä kaava oletetaan katsojalle tutuksi. Rönkä on itsekin ollut mukana tuottamassa ja ohjaamassa e-urheilulähetyksiä. Röngän mukaan ohjaaja vaikuttaa lähetyksen kiinnostavuuteen merkittävästi. Kill feed eli eliminoinneista ilmoittava syöte on tärkeä osa lähetystä kaikissa e-urheilupeleissä. Myös peliin liittyvät tilastot ovat läsnä kaikissa lähetyksissä. Pelin tilastojen on tarkoitus helpottaa ottelun seuraamista. Hyvä ohjaaja voi halutessaan tehdä lähetyksestä visuaalisesti varsin mielenkiintoisen ja jännittävän.” E-urheilustriimien yhtäläisyyksiä FPS-peleissä ottelut alkavat pelimuodon ja karttojen esittelyllä. Lisäksi ohjaajan on tiedettävä, miten tiimipelaaminen toimii kuvattavassa pelissä. ”Suuri ero lajeissa on, että videopelit keräävät automaattisesti dataa. CS:GO:ssa yleinen staattinen ilmakuva. Ohjaaja vastaa siitä, mitä kuvataan missäkin kohdassa lähetystä.” E-urheilulähetykset perustuvat pitkälti perinteisten urheilulajien lähetyksiin. Perinteisiin urheilulähetyksiin verrattuna tilastotietoa ei tarvitse kerätä erikseen, vaikka dataa on silti avattava katsojalle. ”Usein tyydytään observoimaan pelaajan perspektiivistä, mutta jotkin tuotantoyhtiöt ovat kokeilleet muitakin kuvakulmia. Pelattavaa karttaa näytetään liitävän kameran avulla, ja etenkin Overwatchissa myös pelimuoto selitetään auki aina sen vaihtuessa. Tilastoilla havainnollistetaan myös pelaajien tekemää työtä. Lähetyksessä tieto vain laitetaan ruudulle.” Rönkä toteaa myös, että lähetysten ohjaajan rooli on vaativa. Muutoin ohjaajalla ei ole käsitystä siitä, mitä lähetyksessä tulisi näkyä, jotta se palvelisi katsojia mahdollisimman hyvin. Kill feed voi näyttää eliminointien lisäksi pelissä sankarien henkiin herättämiOverwatchissa käytetään paljon ilmakuvaa, josta näkee joukkueen sijoittumisen kartalla. Myöskään näköesteet, kuten MOBA-pelien ”vision” ja CS:GO:n valokranaatit, eivät koske tarkkailijaa
Miten OW ja CS:GO eroavat. Pelin sisäiset voimasuhteet elävät jatkuvasti hahmojen palatessa peliin kuoleman jälkeisen jäähyajan jälkeen (respawn), kun taas CS:GO:ssa hahmot eivät palaa ennen seuraavaa erää. Suurin osa e-urheilun seuraajista kuitenkin katsoo lähetyksiä etänä, ja kotiyleisö huomioidaan usein sosiaalisen median avulla. OW ja CS:GO edustavat samaa peligenreä, mutta näistä jälkimmäinen on perinteisempi FPS-peli. Tarkkailijan näkymä tekee pelaajien yksilötaitojen hahmottamisen katsojalle vaikeammaksi. CS:GO:ssa pelataan jatkuvasti samalla hahmolla, ja erot pelaamiseen tulevat aseista ja muista varusteista, joita pelaajat voivat ostaa pelin aikana. Tällaisia tilanteita ovat esimerkiksi MOBA-pelien joukkuetaistelut, alivoiman kääntäminen CS:GO:ssa useilla eliminoinneilla tai muu mekaanisesti vaikuttava pelaaminen. Striimin ylälaidassa näytetään jatkuvasti kunkin joukkueen hahmovalinnat, Dota 2:ssa käytettävä, kolme hyökkäyslinjaa yhtä aikaa näyttävä kuvakulma.. OW ei sisällä pelin sisäistä taloudenhallin taa, joka määrittelisi hahmojen vai kutuksen peliin: vaikutus on rakennettu kunkin hahmon sisään. CS:GO taas tähtää realismiin, ja siinä tilanteet ovat nopeita. CS:GO painottaa tilanhallintaa, reittivalintoja ja mekaanista ampumataitoa. Pelaajat valitsevat hahmonsa suhteessa sekä joukkuetovereiden että vastustajien hahmoihin. Otteluita edeltävä, niiden välinen sekä jälkeinen aika käytetään lisäsisältöön. Overwatch yhdistelee MOBA-genren elementtejä ammuntapeliin: OW:n nimetyillä hahmoilla on esimerkiksi erityyppisiä kykyjä, kuten Dota 2 -hahmoillakin. Vastustajien hahmoja pyritään torjumaan ja oman joukkueen hahmoja tukemaan esimerkiksi yhteensopivilla kyvyillä, ja hahmoja vaihdellaan kierrosten aikana. Overwatchin ja CS:GO:n merkittävimmät erot löy tyvät tästä hahmomekaniikasta, hahmojen keskinäisestä vuorovai ku tuksesta ja tavoitteista. Hahmoille on luotu roolit, joista kullakin on oma tehtävänsä ja vaikutuksensa kentällä. CS:GO:sta eroten OW:n pelimuodoissa vastustajien eliminoiminen on vain väline tavoitteen saavuttamiselle. Erojen vuoksi Overwatch keskittyykin enemmän hahmojen yhteiskäyttöön, uhkien arviointiin ja reagointiin. Kuten perinteisissäkin urheilulähetyksissä, myös e-urheilussa käytetään uusintoja. Mekaanisen ampumataidon lisäksi Overwatchissa nousee vahvasti esiin hahmon tunteminen ja kykyjen käyttäminen oikeaan aikaan, samoin hahmon vaihtaminen tilanteen mukaan. Rahaa käytetään hahmojen panssarointiin, aseistamiseen ja muuhun varusteluun. Roolijako on samankaltainen kuin MOBA-peleissä: tankit vetävät vastustajan tulta puoleensa ja luovat muille hahmoille tilaa, damage-hahmot keskittyvät vahingoittamaan vastustajia ja tukihahmot (support) pitävät joukkuettaan elossa. Yleisön kuvaaminen on myös tapa kertoa pelin suosiosta: onhan ottelu kerännyt kisapaikan täyteen. Tilasto luo selvät numeroiksi puetut vertailuarvot: esimerkiksi League of Legendsin lähetyksissä verrataan pelaajien resurssitilannetta 15 minuutin kohdalla. Analyysit ja pelaajahaastattelut ovat merkittävässä roolissa: lähetyksen tuottaja voi vaikuttaa pelilliseen sisältöön vain rajallisesti. Erot FPS-pelien striimeissä Suurimmat erot Overwatchin ja CS:GO:n striimeissä perustuvat pelien visuaaliseen tyyliin ja pelitapojen poikkeavuuteen. CS:GO:ssa pelin sisäinen talous on suuri tekijä ottelun voiton kannalta, sillä paremmat varusteet tuovat usein parempia tuloksia. Yleensä uusinnat keskittyvät poikkeuksellisiin tai merkityksellisiin pelitilanteisiin, jotka ovat yksityiskohtaisemman läpikäymisen arvoisia. Kun molempien joukkueiden pelaajat näkyvät katsojalle jatkuvasti, pelaajien reagointikykyä ja peliälyä on hankalaa arvioida. Lähetyksissä on yleistä näyttää esimerkiksi katsojien lähettämiä twiittejä. CS-pelaaja voi ostaa itselleen tarkkuuskiväärin vaikuttaakseen eri tavalla, kun OW taas käyttää erillisiä tarkka-ampujahahmoja. Analyyseissä käytetään usein hyödyksi keskustelijoiden omia havainnollistavia piirroksia, joilla korostetaan esimerkiksi alueiden tai pelaajan roolia. Pelattavat pelit ovat hyvin monimutkaisia, eikä edes peliä itsekin pelaava katsoja aina hahmota kaikkea tapahtuvaa. Uusintojen tarkoituksena on tuoda pelitilanteiden merkitys esiin ja antaa niille lisäarvoa. Joukkueet saavat alussa summan rahaa, ja potti kasvaa kierrosten välillä. 2 1 8 . Asiantuntijat ja selostajat käyvät läpi tilanteiden taktisia puolia, jotta katsoja ymmärtää tapahtumat paremmin. Selostajat ovat olennainen osa mitä tahansa urheilulähetystä, ja tämä korostuu e-urheilussa. CS:GO:ssa numeroilla verrataan esimerkiksi eliminointeja ja osumia päähän, OW:ssa taas sankareiden kyvyillä tehtyjä peliliikkeitä. Lähetyksissä yleisöllä on oma roolinsa tunnelman luojana, ja heistä näytetään kuvaa pitkin lähetystä. Overwatchissa hahmovalinta määrittää pelaajan vaikutusmahdollisuudet, mikä toimiikin pohjana kaikelle pelin taktiselle toiminnalle. Overwatch on värikäs ja sarjakuvamainen, ja hahmojen kyvyt tuovat ruudulle valtavan määrän ärsykkeitä. Overwatchin MOBA-vaikutteet näkyvät esimerkiksi Overwatch League -esports-turnauksen lähetyksissä. Peli on ajoittain hektinen, ja kiinnostavat tilanteet voivat venyä pitkiksi. 4 12 sen, MOBA-pelien pienempien tavoitteiden saavuttamisen ja eliminointeihin osallistuneet pelaajat. Visuaalisesti runsaissa peleissä uusintaan voidaan liittää myös statistiikkaa, joka selventää, mitä värimyrskyssä itse asiassa tapahtui. Siinä missä vastustajajoukkueen täydellinen tuhoaminen voi sellaisenaan tuoda voiton CS:GO:ssa, Overwatchissa tilanne vain tarjoaa mahdollisuuden edistää kierroksen tavoitetta. Useimmat lähetykset olettavat katsojan olevan perillä pelin slangista, kuten sijaintien lempinimistä, ja selostajat käyttävätkin pelikohtaista sanastoa reilusti
Joukkueet jakaantuvat ”laneille” eli kartan kolmelle etenemislinjalle, jolloin joka kolkassa tapahtuu yhtä aikaa. Useimmat striimit pyrkivät kertomaan tilanteista visuaalisesti, mutta selostajilla ja asiantuntijoillakin on paikkansa. 13. Kun tankki tekee tavallista tehtäväänsä, puuha ei ole kovin kiinnostavaa katsottavaa. Striimit alkavatkin erillisellä banja pick-osuudella, jossa käytetään grafiikkaa osoittamaan vaiheiden etenemistä. Pelimuotoa ja karttaa ei juuri esitellä, sillä pelin kaava pysyy samana. Striimituotannoissa käytetään runsaasti eri keinoja, jotta maallikonkin katsojan olisi helpompi seurata lähetystä. Jokaisella on useita kykyjä, oma määränsä elämäpisteitä, kykyjen käyttöä rajoittava resurssi kuten mana, puhumattakaan hahmoille ostettavista varusteista. MOBA-striimit ovatkin usein täynnä palkkeja ja ikkunoita hahmoista. Hahmot mallinnetaan lähetykseen ikään kuin nämä seisoisivat tapahtumapaikalla. Dota 2 kuuluu League of Legendsin ohella suosituimpiin e-urheilupeleihin. League of Legendsissä pelaajat esimerkiksi tuhoavat ajoittain kartalle ilmestyvän lohikäärmeen, joka tarjoaa erilaisia bonuksia kuoliniskun antaneelle joukkueelle. Overwatch taas hyötyy visuaalisuutensa vuoksi kolmannesta persoonasta ja lentävästä kamerasta – hahmojen sijaintia toisiinsa nähden ja kykyjen käyttöä on näin helpompi seurata. Moni tarkkailija tyytyy hyppimään kameralla linjojen välillä keskittyen erityisesti kiinnostaviin konflikteihin, kuten pelaajahahmojen kahakoihin. Mekaniikka yltää peleissä myös kentän ulkopuolelle, sillä hahmoja ei voi vaihtaa pelin aikana. Ensimmäiset askeleet Dota 2tai LoL-ottelussa ovat pickja ban-vaiheet, joissa pelaajat valitsevat haluamansa hahmot ja estävät tiettyjen hahmojen valitsemisen kokonaan. Kentän eri puolilla tapahtuu jatkuvasti, kunnes resurssit riittävät voimakkaisiin puskuyrityksiin ja joukkueet kokoontuvat yhteen. CS:GO:ssa kameraa käytetään vastaavasti esimerkiksi kun kranaatteja käytetään tilanhallintaan. kestävyys ja Ultimate-kyvyn prosenttimäärä. Overwatchiin ja CS:GO:hon verrattuna MOBA-pelien päätavoitteeseen pääsy on monimutkaisempaa. Mitä MOBA-lähetyksissä otetaan huomioon. Kuvassa näkyy pelaajan käyttämä AWP-kiikarikiväärin tähtäin. Päästäkseen päätavoitteeseensa eli vastustajan tukikohdan jyräämiseen, pelaajat suorittavat usein pienempiä tehtäviä saadakseen etulyöntiaseman. OW:ssa Ultimate-kyvyn eli hahmon voimakkaimman kyvyn käyttäminen on tärkeä paino pelitilanteen kallistamiseksi, ja tämä otetaan lähetyksissä huomioon. Kummassakin pelissä valittavia hahmoja on yli sata, joten hahmovalinta pyritään tekemään visuaalisesti mahdollisimman selkeäksi. Vaikka myös CS:GO:ssa näytetään pelaajien HP ja Armor, Overwatchissa tilanne elää jatkuvasti Support-hahmojen palauttaessa hahmojen kestävyyttä. Kuten Overwatch, myös MOBA-pelit perustuvat hahmomekaniikkaan. Lisäksi eri hahmoilla on eri määrä kestävyyttä. Hahmon käyttäessä kykyä kamera viedään usein kauemmas sankareista, jotta kokonaistilanne hahmottuu paremmin. MOBA-peleissä siis on huomioitava joukkueiden sirpaloituneempi sijainti kartalla ennen pelin loppupuoliskoa. Esimerkiksi Tank-roolin hahmoja pelaavien kuvakulmaa näytetään ensimmäisestä persoonasta vain silloin, kun nämä pelaavat poikkeavasti. Pelin seuraamisen kannalta jokaisen sankarin tilanne on tärkeä, joten lähetyksessä on jatkuvasti näytettävä näistä kertovaa grafiikkaa. Tarkkailijat käyttävät tätä hyödykseen paikallaan pysyvillä kamerakulmilla hyökkäysreiteistä ja puolustuspaikoista. FPS-pelien lähetyksissä keskitytään usein seuraamaan pelaajien etenemistä ja kamppailua yhtenä joukkona, mutta MOBA-pelit alkavat resurssien keräämisellä. Pelin seuraamisen kannalta on olennaista, että katsoja tietää, mitkä sankarit pyörivät kentällä. Isometrisen kuvakulmansa vuoksi MOBA-pelien lähetyksiä on helpompi toteuttaa tarkkailijan kannalta. Dota 2:n The International -turnauksessa käytetään esimerkiksi AReli lisätyn todellisuuden tekniikkaa näyttämään katsojalle suurikokoiset 3D-mallit valituista hahmoista. Tarkkailijan näkymässä vastustajien ääriviivat näkyvät seinien läpi. CS:GO:ssa kartoilla on usein vakiintuneet reitit, joilta pelaajat hyökkäävät kohdealueille. Myös erilaista numerotietoa on huomattavasti enemmän: hahmoilla on enemmän ominaisuuksia kuin FPS-peleissä. Ensimmäisen persoonan kuvakulma CS:GO:ssa. Pelien taktisen ja visuaalisen sisällön määrä tuottaa kuitenkin omia erityispiirteitään. OW:ssa esiintyy vastaavia reittejä, mutta hahmojen liikkuvuuden ja kykyjen vaatiman tilan vuoksi tarkkailija seuraa tilannetta usein lentokameralla. Dota 2:ssa samanlaista virkaa ajavat riimut. Muissa kuvakulmissa CS-tarkkailijan näkymään on lisätty pelaajien näkölinjat osoittavat viivat, jolloin katsoja tietää yhä, minne pelaaja tarkalleen ampuu. Damage-hahmoja pelaavien tilanne on toinen, etenkin tarkka-ampujien. Näistä pisteistä taisteleminen on usein tarkkailijan mielenkiinnon kohde. Kamerakuva voidaan myös jakaa kolmeen, mikäli tahdotaan seurata kaikkia linjoja. Mekaanista ampumataitoa painottavan CS:GO:n lähetyksissä käytetään Overwatchiin verrattuna huomattavasti enemmän ensimmäisen persoonan kuvakulmaa. Lopuksi Lähetyksissä otetaan siis huomioon pelityyppien erityispiirteet
Kirja tutkailee lajimuotojen kehitystä sekä niiden suhdetta keskeisimpiin kaupallisiin julkaisuihin. K ilpapelaamisen täytyy olla huudossa, kun tänä syksynä jopa Hjallis Harkimo haki alalle yritysjohtajia Diilissä. Se käsittelee ylikansallisia teemoja, kuten väkivaltaviihteen kysymystä ja e-urheilua liikuntana, mutta myös esimerkiksi kilpapelaamista Suomen puolustusvoimissa ja Veikkauksen vedonlyönnissä. Parasta Kaikessa e-urheilusta on kirjan monisuuntaisuus – sen voi tavallaan lukea eteentai taaksepäin tai poikittain. Pelikulttuuriteko.. Sitä onkin leppoisaa lukea palasissa, eikä lukijan tarvitse arvailla, miltä ne pelit oikein näyttävät. Kirja, joka puhuu yhtä lailla Stavros Fasoulaksesta kuin Teemu Hiilisestä sekä C-lehdestä ja Fortnitesta ei voi olla huono. 2 1 8 . Joulumarkkinoillemme tähtää aiheesta peräti kaksi kirjaa – otimme toisen syyniin. Sivuilla vilisee myös suomalaisia pelija kilpapelialan nimiä, tuttuja niin vanhemmalle kuin nuoremmallekin lukijalle. Emme siis yllättyneet, kun samaan aikaan Suomen pieniä markkinoita siunattiin peräti kahdella kotimaisella eurheilukirjalla. Kaikki e-urheilusta on esitystavaltaan lehtimäinen – sen aukeamat ovat hyvin visuaalisia ja aliluvut kuin artikkeleita. Toisin kuin perinteisessä urheilussa, jolla on takanaan satojen vuosien historia, e-urheilun lajivalikoima on vasta muodostumassa. Kirjan suomalaisuus näyttäytyy myös positiivisesti. alanurkan kuva), joissa monet kirjan aiheista avataan menneiden vuosikymmenten merkkihetkien kautta. Siinä missä E-urheilun käsikirjaa on markkinoitu hieman enemmän kilpapelaamiseen ryhtyvälle, Kaikki e-urheilusta -kirjan ote on skrollimaisempi. Kirja aloittaa Spacewarista, Pongista ja Donkey Kongista – eikä vain nimellisesti, vaan se todella asettaa kilpapelaamisen historialliseen ja poikkitieteelliseen viitekehykseensä. Kelkasta pudonneet pelaamisen seniorikansalaiset voivat lukea kirjan alusta loppuun ja nousta takaisin kyytiin. Pienenä miinuksena tämän Skrollin kanteenkin visioitua virtuaalitodellisuuden kilpapelaamista tunnutaan sivuavan lähinnä velvollisuudentunnosta. Nimensä mukaisesti se valottaa e-urheilun kokonaiskuvaa pitkittäin ja poikittain, muinaisuudesta nykyisyyteen, demoskenejuurista olympialaisiin. Kirjaa rytmittävät kiitettävästi kuvitetut ja tekstitetyt aikajanat (ks. Itselleni kiinnostavinta antia olivat silti noin kymmenkunta eri kilpapelilajin esittelyä. Myös pelikuvia on runsaasti. Nykytrendeissä eläville junnuille se taas paljastaa e-urheilun laajemmat juuret sekä oman suosikkilajin ulkopuoliset ulottuvuudet. 4 14 Kirjat Kaikki e-urheilusta 176 sivua Tekijät: Kalle Rantala, Samuli Kraneis Julkaisija: Suomen urheilumuseosäätiö 2018 Kaikki e-urheilusta Teksti: Janne Sirén Kuvat: Manu Pärssinen E-urheilu on Suomessakin kovassa nosteessa. Toinen on urheilutoimittaja Otto Röngän E-urheilun käsikirja (Otava) ja toinen on tämä: Kalle Rantalan ja Samuli Kraneisin Kaikki e-urheilusta. Annetaan anteeksi jopa yksi kirjoitusvirhe Jukka Tapanimäen nimessä – suomalaisen pelihistorian suurmies mainitaan sentään kolmesti
Myös vanhempani oli viimein lämmitelty idealle. Löydettyäni Amigalla C-kielen, ohjelmoinnin viemä aika oli jo 75 %:n luokkaa. Niinpä Jobs oli osallistunut kaunokirjoitustaiteen eli kalligrafian kurssille – huvikseen. Kalligrafian opit palasivat tarinan mukaan Jobsin mieleen vuosia myöhemmin, kun Macintoshin graafista käyttöliittymää suunniteltiin. Hämmästyin, kuin muistoissani varsin kämäinen konsoli olikin teknisesti pätevä. Tulevaisuus voi olla pienestä kiinni. Pisteiden yhdistäminen Kirjoittaessani sankarimyyteistä (Skrolli 2016.1) mainitsin Steve Jobsin päättäjäispuheen Stanfordissa vuodelta 2005. Tuskin kotitietokonebuumi olisi silti täysin mennyt minulta ohitse Colecovision-konsolinkaan kanssa. Niinpä Colecovisioniin liittyy minulla ikuisesti muisto, jossa tokkurainen äitini hoipertelee bussipysäkin ohitse Lasipalatsin edessä toistellen ventovieraille ihmisille, ettei ole humalassa. Puheen kolmesta tarinasta nostin tuolloin esiin viimeisen, joka käsitteli individualismia. Tuskinpa kirjoittaisin nyt Skrolliin, jos olisin tuolloin päätynyt Colecovisioniin. ”Ja koska Windows kopioi kaiken…”, maalaili virnuileva Jobs kalligrafiakurssinsa kauaskantoisia seurauksia. Tutkintoa tavoitellessa tälle kurssille ei olisi ollut aikaa eikä tarvetta. Colecovision-esite/emulaattori ja Jobsin Stanford-puhe: skrolli.fi/numerot Elämän käännekohdat näkee usein vasta jälkeenpäin – sattumalta minäkin päädyin ohjelmoimaan. Niinpä Macista tuli yksi ensimmäisistä tietokoneista, jossa oli kauniit kirjasimet. Jobs aloitti tarinansa muistelemalla, kuinka jätti aikanaan omat korkeakouluopintonsa kesken. Se on kertomus siitä, miten historian syy-seuraussuhteet näyttäytyvät vasta jälkikäteen. Muistoissani näen edelleen konsolin salkkumaisen kotelon ja ohjaimien numeronäppäimistöt tavaratalon lasivitriinissä. Tänä päivänä olisin esports-miljonääri, enkä ohjelmoija / palkaton kolumnisti. Ehkä kaverin isoveljellä oli sellainen tai se vain mahtui rajalliseen budjettiini. 15 Kolumni V arhaisin tietotekniikkamuistoni on pelikonsoleiden vertailu Helsingin keskustan Sokos-tavaratalossa. Hän ei kuitenkaan lopettanut heti kaikkea opiskelemista. Pelikonsolikeikka keskeytyi diabeetikkoäitini mataliin verensokereihin ja syömään kiirehtimiseen. Colecovision ensikoneena olisi kuitenkin johtanut siihen, että olisin käyttänyt formatiivisimmat bitinnypläysvuoteni Basic-räpellysten sijaan sataprosenttisesti pelitaitojeni hiomiseen. Olin juuri aloittanut koulun ja saanut uusia kavereita, jotka olivat tartuttaneet päähäni ajatuksen omasta pelikoneesta: Colecovisionista. Uusi asuinpaikka toi mukanaan uudet kaverit ja heistä lähes jokaisella oli jokin Commodore (poikkeuksina yksittäinen Spectravideo ja Atari-konsoli.) Niinpä ensikoneekseni tulikin Commodore 64, jota seurasivat Amiga 500 ja 1200. Viimeistään kaveripiirini Amiga-vaihe olisi houkutellut minutkin Commodore-leiriin. Tutkinnosta luopuminen vapautti aikaa yliopistolla oleskeluun. Ensimmäinen tarinoista, Connecting the dots, on vieläkin ajatuksia herättävämpi. Ehkäpä siksi, että ensimmäinen pelikonsolini vaihtuikin kotitietokoneeksi. Minun ja Colecovisionin väliin ennätti toinenkin yllätys: muutto toiselle paikkakunnalle. Kahvilapulla ja sokerilimppari auttoivat äitiä, mutta Colecovision jäi sillä kertaa ostamatta. Janne Sirén Sattumankauppaa. Colecovisioniin sai jopa tietokonelaajennuksen, joskaan sitä en olisi 1980-luvun Suomessa kokenut. Vuosi oli noin 1984. Ostin minä sen Colecovisioninkin, mutta vasta vuonna 2018. Commodore-kerroin Jälkikäteen ymmärsin katselleeni Colecovisionia pelikonsoleiden ensimmäisen kulta-ajan kuolonkorinoissa. Kauniit kirjasimet olisivat varmasti lopulta löytäneet tiensä tietokoneisiin ilman Jobsiakin, mutta ajatus on silti kutkuttava. Tätä rataa päädyin Helsingin yliopistoon lukemaan tietojenkäsittelytiedettä ja valmistuin ohjelmoijaksi. Pääsin pelaamaan, mutta kolmantena yllätyksenä pian 50 prosenttia koneajastani kului Basicohjelmointiin – sitä ei olisi pelikonsolilla tapahtunut. Vuotta myöhemmin laitteen valmistus päättyi ja taustayhtiö, 1930-luvulla perustettu Connecticut Leather Company, kaatui pian sekin. Muisto on kirkas toisestakin syystä. Kävipä niin, että se jäi ostamatta seuraavaksi 34 vuodeksi
Kapinan alkusoitto Ennen kisaviikonloppua Robot Uprisingin nettisivuille alkaa ilmestyä videoita vuoden 2042 tapahtumista. 4 16 Tapahtuma Lego-robottien kapina Robot Uprising on tarinavetoinen hackathon, jossa viikonloppuna rakennetut ja ohjelmoidut lego-robotit selviytyvät haasteradan läpi enemmän tai vähemmän itsenäisesti. Toisessa alle viisihenkiset tiimit ja yksin osallistuvat muodostavat viiden hengen ryhmiä. Vain parhaat tehtävään ilmoittautuneista valitaan. Teksti: Valhe Kouneli Kuvat: Nasu Viljanmaa, Robot Uprising/Markus Ketola, Robot Uprising/Tapio Auvinen V uosi 2042. Täältä nelihenkinen tiimimme. Keskustietokoneeseen kohdistettu virtapiikki saa sen ylikuumentumaan ja sytyttämään tulipalon, jota manuaalisesti pois kytketyt palosammuttimet eivät taltuta. (Kaupungin vaakuna on aivan mahtava.) Työtehtäviin kuuluu muun muassa hakkereiden jäljittämistä, salakoodien murtamista ja kadonneen kännykän jäljittämistä varmuuskopioitujen tiedostojen perusteella. 1800-luvun loppupuolella perustetun suomalaisnorjalaisen Dvergaryhtiön robottitehtaan tietojärjestelmään on murtauduttu. Kvanttitietokonetta suojaavaa täysin automatisoitua ja modernia tutkimuslaitosta ei kuitenkaan ole suunniteltu ihmisille. Kaikki ovat leikissä ihanasti vähän pahisten puolella. Vain roboteilla on mahdollisuus saada kvanttitietokone haltuunsa. 2 1 8 . Oikeasti vuosi on 2018, Dvergar-nimistä yritystä ei ole olemassakaan ja Futurice, Liquid Studio, Nixu ja Visma ovat itsenäisiä yrityksiä, Robot Uprising -tapahtuman sponsoreita. Reddit-keskustelufoorumille ilmestyy vuoden 2042 Helsinkiä koskeva alafoorumi, jolta löytyy linkki tulevaisuuden Helsingin kaupungin työnhakusivulle. Tapahtumaan ilmoittautujista valitaan 150 osallistujaa, jotka esittävät neljän sponsoriyrityksen palkkaamia, kvanttitietokonetta havittelevia hakkereita. Antti, Lauri, Niklas ja Valhe ovat valmiita ottamaan kisaviikonlopusta kaiken irti. Iskusta epäillään hakkerijärjestö U9R1SEa, jonka tavoitteena on estää yleistekoäly ODINin kehittäminen. Tässä on Robot Uprising -hackathonin lähtökohta. Supertekoäly ODIN, jonka huhutaan olevan kaikkien aikojen kehittynein tekoäly ja kenties tuleva singulariteetin liikkeellepanija, varastetaan Dvergarilta hakkerointi-iskun jälkimainingeissa. Nixu raportoi Dvergariin tehdystä hyökkäyksestä, Visma iloisesti siitä kuinka dronet korvaavat ihmiset rakennustyömailla, Dvergarin tekoäly antaa huolestuttavia vastauksia Liquid Studion tutkijan kysymyksiin, ja Futuricen videolla androideilta lipsahtaa suunnitelma ihmisten nujertamisesta. Dvergarin asiakasyritykset Futurice, Liquid Studio, Nixu ja Visma rekryävät hakkeritiimejä hoitamaan homman. Nelihenkinen tiimimme, joka koostuu kahdesta automaatiopuolelta valmistuneesta diplomi-insinööristä, tietojenkäsittelytieteen tohtorikoulutettavasta ja minusta, ilmoittautuu ja pääsee mukaan kilpailuun. Sitä suojaavaa kvanttisalausta ei voi kuitenkaan purkaa ilman kvanttitietokonetta, ja ainoa sellainen löytyy mistäs muualtakaan kuin Dvergarin omista tiloista. Kiire on kova ja aikaa vain 48 tuntia. Vaikka se vähän epäilyttääkin, että kilpailun säännöissä on melkein kaikki sallittua. Kovemman rahan tehtävissä päätyy kääntämään binääriä takaisin assembler-koodiksi ja korjaamaan rikkinäistä C-koodia. Ennen varsinaista kilpailua Robot Uprising järjestää kaksi ennakkotapahtumaa, joista ensimmäisessä tutustutaan oluen kera viime vuoden voittajarobottiin, kokeillaan tekniikkaLegojen rakentamista ja leikitään kauko-ohjattavilla leluroboteilla. Osassa tehtävistä on hyötyä Redditin keskustelujen lukemisesta, ja ratkaisu johdattaa ottamaan sähköpostilla yhteyttä laittomia kyborgi-kehomuokkauksia tekevään toimijaan
Menestyvään talliin kuulumisesta sai hieman lisäpisteitä. Eteenpäin päästäkseen on poistettava siitä datakuutio ja vietävä se oikeaan paikkaan. Kilpailijoille vinkataan, että omien robottien paikalle salakuljettaminen on sallittua ja että oveluudella ja kilpailijoiden vakoilemisella pärjää. Seuraava huone on täynnä teräspilareita, jotka kannattelevat ylempiä kerroksia. Vuoden 2018 kilpailuun osallistui yli 150 kisaajaa jaettuna 35 joukkueeseen. Kilpailun ympärille on kehitetty taustatarina, jossa eletään vuodessa 2042, jolloin androidit ja robotit ovat arkipäivää. Tavoitteenamme on laatia jo ennen kisaa vähintään miminum viable product, yksinkertainen toteutus, jolla selviää kunnialla kilpailun haastekentän läpi. Ainoana rajoituksena muita robotteja ja kisaajia ei saa vahingoittaa pysyvästi. Läpi pääsemisen jälkeen tie johtaa suureen saliin, jossa on monoliittimainen supertietokone, joka ohjaa koko laitosta. Diplomi-insinööri Antti ja maisteriopiskelija Pavel ohjelmoivat läppärillä ajettavan koodin lähettämään robotille bluetoothin yli UDP-paketteja ja robotilla ajettavan koodin surruuttamaan moottoreitaan niiden mukaisesti. Kun kisaajat asettuvat pöytiensä ääreen, kasseista ja nyssyköistä paljastuu myös omaa elektroniikkaa, kolveja ja koekytkentälevyjä. Keltaista, lattiassa olevaa laattaa painettaessa aukeaa reitti seuraavaan huoneeseen. Suurin osa joukkueista oli etukäteen muodostettuja, mutta alle viisihenkisillä joukkueilla ja yksin kisaan ilmottautuneilla oli ennen kisaviikonloppua tilaisuus täydentää rivejään. Sentään pahat työnantajayrityksemme tarjoavat meille runsaasti naposteltavaa sekä niin aamiaisen, lounaan kuin päivällisenkin. Se on osittain samanlainen kuin viime vuonna. Toinen diplomi-insinööreistämme, Lauri, hankkii itselleen Lego Mindstorms EV3 -robottisetin, jonka kaltaista käytetään myös kisassa, ja kokoonnumme päämajaamme harjoittelemaan sen rakentamista ja ohjelmoimista. Aiempana vuonna otettujen kuvien tarkasta tutkimisesta ja Pavelin kertomuksista on ollut apua ennakkosuunnittelussa. Kisan voittaja ratkaistiin pisteyttämällä robotin koodi, rakenne ja suoritus loppukilpailussa sekä ryhmän yhteistoiminta. Kuva: Robot Uprising/Markus Ketola (editointi Tapio Auvinen) bongaa viidennen jäsenensä, jo kerran kisaan aiemmin osallistuneen tietojenkäsittelytieteen maisteriopiskelija Pavelin. Onneksi joku on ilmeisesti hakkeroinut koneen etukäteen antamaan datakuution jokaiselle, joka painaa koneessa olevaa punaista nappia… Pahin on kuitenkin vielä edessä, sillä Dvergarin tehtaan tuotantolinjan läpi pääseminen vaatii tarkkaa suunnittelua ja ajoitusta. Koska panokset ovat kovat ja kvanttitietokone on saatava käsiin hinnalla millä hyvänsä, aloitamme työskentelyn jo varhain. Niihin on vaarallista osua. Komentorivi ja A-, S-, Dja W-napit ovat toistaiseksi riittävä käyttöliittymä. Viisihenkisen koodaritiimimme nimeksi valikoituu Parsertongue, ja Visma ottaa meidät siipensä alle. Robot Uprisingissa ei ole juurikaan sääntöjä, ja ne voivat muuttua kesken kilpailun. Kun siitä on selvinnyt, onkin enää löydettävä kalibrointiosastolta tie ylempään kerrokseen. Pyörivillä alustoilla paremmankin robotin suuntavaisto menee nimittäin sekaisin, ja pyörät saattavat juuttua alustoilla lojuviin robottiosiin. Samaan aikaan Valhe ja Lauri rakentavat telaketjuja käyttävän, kovaakin käsittelyä kestävän robotin, joka ei kuitenkaan pääse mukaan kisaan kadottamisen pelossa. Kisan voittajajoukkue sai pääpalkintona 2500 euroa. SD-kortti, jolle robotin koodi ja sopivat Python-kirjastot on ladattu valmiiksi, otetaan kuitenkin mukaan. Viisihenkiset ryhmät rakentavat ja ohjelmoivat viikonlopun aikana Lego-robotin, jonka tarkoituksena on selvitä mahdollisimman itsenäisesti haastavasta, moniosaisesta esteradasta. 17 Mikä Robot Uprising. Meneekö meillä sittenkään niin hyvin kuin kuvittelemme. Parsertongue on keinottelullaan saanut mukavaa etumatkaa muihin kilpailijoihin. Siihen on useampia eri keinoja, joista toiset ovat kunnianhimoisempia kuin toiset.. Kohti kvanttitietokonetta Hankimme varsinaista tapahtumaa varten wifi-tikun robottiin, jotta epävarmemmasta bluetoothista voisi luopua. Joukkueet taas jaettiin neljän tapahtuman sponsorin edustamiin talleihin. Haasterata, tai siis Dvergarin robottitehtaan miniatyyrisimulaatio/ hologrammi, paljastetaan. Kuvitteellista maailmaa luodaan siihen liittyvillä videoilla, nettisivuilla ja haastetehtävillä, joita kilpailijat voivat ratkaista ennen kisaviikonloppua ansaitakseen kisassa käytettävää virtuaalivaluuttaa. Tehtaan ensimmäinen huone sisään tultaessa on labyrinttimäinen palvelinhuone, jonka läpi löytämistä sentään ohjaa sairaaloista tuttu lattiaan merkitty viiva. Esterataa ei paljasteta etukäteen. Kilpailun tavoite yhdistetään tarinaan, jossa kilpailijat pyrkivät robottiensa avulla saamaan haltuunsa pahamaineisen Dvergar-yhtiön kvanttitietokoneen ja toimittamaan sen oman yhtiönsä käyttöön. Robot Uprising on yrittäjyysyhteisö Helsinki Think Companysta käyntiin ponnahtanut, jo kahdesti järjestetty robottiaiheinen hackathon. Kisapaikka kuhisee ihmisiä, ja monella on mukana omia tekniikkaLego-settejä. Se tarkoittaa aikarajoituksillamme kauko-ohjauksen toteuttamista ennakkoon
Emme ole enää kovin nuoria, joten yövalvomiset eivät tule kuuloonkaan. Rivit rakoilevat Toinen päivä valkenee pahemmitta univeloitta. Telaketjuja ei valitettavasti ole. Robottirakennuskonsultti käy painottamassa, että paraskaan koodi ei auta, jos robotti on rakennettu huonosti. Nopeimmat robotit eivät kuitenkaan anna kiltisti tilaa hitaammille kilpailijoilleen, vaan myöhemmin tulleiden on haastettava edelläkäyvät armottomaan tappeluun, jossa häviäjä syöstään kuiluun. 4 18 Labyrintin päällä on kisan aikana akryylitankojen kannattelema katto, mikä tekee etäohjauksesta hankalaa. Monen rakennusiteraation jälkeen robotti alkaa valmistua. Ensimmäisen päivän jälkeen emme ole saaneet vielä kovin paljon aikaan. Valhe aikoo rakentaa maailman kapeimman, vakaimman ja kestävimmän robotin. Täällä puretaan Dvergarin yleistekoälypiirien kvanttisalaus. 2 1 8 . Tarkoituksena on pystyä missä tahansa välissä keskeyttämään robotin itsenäinen suoritus ja ottamaan kauko-ohjaus käyttöön. Kestävyys on myös olennaista, sillä viime vuonna harva robotti pääsi kuulemma kokonaisena perille asti. Suoritettava koodi ei saa siis koskaan sisältää odottamista vaativia käskyjä. Rakentaminen ja koodaaminen voi alkaa. Kaaokseen ja ihmishälyyn alkaa jo tottua, ja joitakin uusia tuttavuuksia on syntynyt. Puhumattakaan häiriöistä, joita tulee jatkuvasti ylimääräisten haasteiden ja yllättävien mahdollisuuksien muodossa. Olemme etukäteen päättäneet käyttää telaketjuja, koska niissä on hyvä pito ja niiden avulla robotti voi helposti kääntyä paikoillaan. Sitten käteemme annetaan laatikollinen EV3-robottiosia, sensoreita, moottoreita ja keskusyksikkö. Valhe ehdottaa, että jokaisen yksittäisen huoneen ratkaiseva koodi on eri, ja robotti vaihtaa näiden koodien ajamisen välillä sillä perusteella, että tunnistaa huoneiden välillä olevan neonpunaisen rampin värin. Lauri luo tilakoneen, Antti muuttaa Bluetoothia käyttävän kommunikaatioväylän wifiä käyttäväksi, ja Pavel alkaa ohjelmoida viivanseuraajaa. Taistelu alkaa On täysin selvää, että ohjelmointitaitomme ja aikamme eivät riitä yleispätevän, koko Dvergarin robottitehtaan läpäisevän tekoälyn ohjelmoimiseen. Vihdoin – lomittumistaso. Kapeus auttaa pujottelemaan kakkoshuoneen pilarien läpi ja vakaus auttaa sekä ylämäessä että toisten robottien hyökätessä kimppuun. Valheen etukäteen (tulevaisuuden) Helsingin kaupungille tekemät työt ovat kerryttäneet ryhmälle paljon valuuttaa, mutta teknisten ongelmien vuoksi luvattu robottiosakauppa ei ole vielä auennut. On myös täysin selvää, että jonkun pitää ensin rakentaa robotti. Automaattisten tilasiirtymien sijaan päätämme määrittää ajettavan tilan etäkäyttöliittymästä käsin, koska huoneitten väliset punaiset rampit näyttävät eri värisiltä eri värivalaistuksissa. Ensimmäinen versio robotista saa alleen kaksi pyörää ja tukirullan, ja viivanseuraajakoodi laaditaan yhden värianturin oletuksella. Sekä oman että vastustajien tallien napostelutarjonta on tutkittu huolella läpi, ja robottia on käytetty välillä radalla testiajossa. Kuva: Robot Uprising / Markus Ketola (editointi Tapio Auvinen) Pyörivät alustat ja niillä lojuvat robottiosat saavat useammankin kisailijan kellahtamaan. Moottoreita on kaksi isoa ja yksi pieni. Keltainen painonappi labyrintin keskellä saa sen toisen puoliskon liukumaan viistottaisesti ja paljastamaan reitin seuraavaan huoneeseen. Saamissamme osissa on kaksi kosketuseli törmäysanturia, infrapunalla toimiva etäisyysanturi, rajoitetusti toimiva värianturi sekä gyroskooppi. Saatavilla on kuitenkin vain rajallinen valikoima rakennusosia. Meillä on valmis robotti, vaikka kaikkia sensoreita ei olekaan vielä kytketty siihen. Kaaokselta, kiukuttelulta ja erimielisyyksiltä ei vältytä. Antti, Lauri ja Pavel alkavat väkertää koodin parissa. Muista tiimeistä ainakin yksi Venäjältä tullut on nukkunut vuoroissa…. Myöhemmin Visma kuitenkin tuo lisäosia, joista löytyy myös telaketjut. Tavoitteenamme on ollut alusta asti tehdä mahdollisimman automatisoitu ratkaisu. Kieltämättä salakoodien ratkomisesta ei tähän mennessä ole ollut mitään hyötyä, koska robottiosakauppa on yhä kiinni. Niklas yrittää suorittaa viimeisiä, vaativia työnantoja tulevaisuuden Helsingin kaupungilta. Valhe harhautuu ratkomaan kulkukortin nauhasta ja paikan seiniltä löytyviä salakoodeja, joita Antti kutsuu pelkiksi harhautuksiksi. Keskusyksikkönä toimivassa EV3palikassa on valitettavasti vain neljä moottoriporttia ja neljä anturiporttia. Lauri ehdottaa tilakoneen käyttämistä. Kauko-ohjaus toimii
Kaupan työntekijänä toimivan puhuvan robottipään kanssa on kuitenkin hauska asioida, vaikkakin turhauttavaa – se ei nimittäin tunnu saavan vahvalla aksentilla lausutusta englannista selvää ja lopettaa asiakaspalvelun kesken kaiken. Ennestään käytössä oleva valoanturimme kun osoittaa maata kohti eikä kykene näkemään eteenpäin. Onnistumme ostamaan ylimääräisen valoanturin ja ultraäänianturin käyttöömme. Lopputaistelu Viimeinen kisapäivä alkaa aamukymmenen aamupalalla. Robotin akku muistetaan ladata täyteen. Kokeilussa eläydytään yrityksen työntekijän ja yritykseen hyökkäävän hakkerin rooleihin. Päätöksen seurauksena Valheen puskurisuunnitelmasta tulee hyödytön. Niklas ja Valhe harhautetaan Nixun sosiaalisen hakkeroinnin kokeiluun mukaan. Niklaksella on valitettavasti menoa iltaan asti. Joku on laittanut rampin jo yläasentoon, mutta huoneessa on ruuhkaa. Antti saa aikaan gyroskooppia käyttävän ohjelman, jonka avulla robottimme selviää pyörivien alustojen täyttämästä asennuslinjastosta ainakin testivaiheessa. Viimeisiä muutoksia koodataan ja testataan kentällä. Robotista ja koodin testaamisesta sillä alkaa muodostua vaikea pullonkaula. Robottiosakaupan vihdoin auettua paljastuu, ettei sieltä saa oikein mitään hyödyllistä. Käytämme ohjelmointiin Pythonia, jossa on se ongelma, että koodia ei käännetä kuten esimerkiksi Javan tapauksessa, joten koodissa olevat virheet eivät tule esiin kuin vasta koodia suoritettaessa. Jännitteet kasvavat ryhmän sisällä. Päätämme etäohjata robotin työntämään datakuution paikoilleen, emmekä edes yritä rakentaa robotillemme kouraa, joka voisi kantaa kuutiota. 19 Punaista nappia painamalla saa datakuution haltuunsa. Valhe saa idean pylväshuoneen ratkaisemisesta kahden törmäysanturin avulla ja rakentaa robottiin puskurin, joka sekä estää robottia jumittumasta pylväisiin tai kulmiin että välittää tiedon törmäyksestä robotille. Emme kuule, kun oma lähtövuo. Kaikki tahtoisivat päästä kokeilmaan omaa koodiaan ajossa. Tämä tarkoittaa, että muut joutuvat odottamaan. Työskentely jatkuu yli yöneljään. Esittämällä yrityssiivoojaa tai toista työntekijää hakkeri livahtaa sisään yrityksen tiloihin ja varastaa tietoja tai tekee muuta rikollista. Haasteen jälkeen Valhe haluaa päästä myös ajamaan omaa koodiaan robotilla ja nappaa Antin avukseen selittämään, miten robottiohjelmointi sujuu viimeisten muutoksien jälkeen. Valheen puskuria ja törmäyssensoreita käyttävä algoritmi osoittautuu hyväksi ja se päätetään diktaattorimaisesti ottaa käyttöön lopulliseen ratkaisuun. Myös loppuradassa päätämme käyttää etäohjausta. Pitkän kiistelyn jälkeen sovimme, mihin aiomme käyttää vaivalla ansaitun valuuttamme. Jossain välissä joku hermostuu ja lähtee ajoissa kotiin. Sillä aikaa koodi edistyy tasaisesti. Haastehuoneen lattiassa on magneetteja, jotka tekevät metalliosia sisältävän kuution kuljettamisesta kohteeseensa astetta hankalampaa. Valhe päättää tarttua Dvergarin pyyntöön löytää tuhmien hakkerien henkilöllisyys ja alkaa tutkia ympäristöstä löytyviä vihjeitä, joiden avulla koodilukittujen kaappien tulisi aueta. Robottikaupasta käyttöön ostetut anturit eivät tule lopulta käyttöön ollenkaan. Itse kisasta olemme lähes myöhästyä. Valitettavasti nopeat syövät hitaat, ja kaikille esillä olevien vihjeiden ratkettua kaapit löytyvät aina ovet ammollaan ja tyhjennettyinä. Kokeilu on mielenkiintoinen mutta vie huomion pois päähaasteelta. Lopulta enää Valhe ja Antti jäävät valvomaan robotin parissa. Ratkomiselle parempi aika olisi ollut eilen eikä tänään. Laurilla on idea käyttää ultraääntä pylväiden havaitsemiseen ja valoanturia kahden kentän seinissä olevan painonappien näkemiseen
Pisteytys oli hieman hämärä, ja lopulta koodin idea ja käytetyt algoritmit ratkaisivat enemmän kuin se, miten robotti suoriutui itse radalla. Kohokohtia Oman robottimme suoritus ei suinkaan ollut kiinnostavin koko tapahtumassa. Robotillamme on kauko-ohjauksessa valitettavasti vain yksi nopeus, ja toinen robotti onnistuu suuremmalla liikevoimallaan puskemaan sen alas tasanteelta. Naapuripöydässämme työskennellyt joukkue yhdisti kännykän robottiin ja käytti sitä robotin silminä. Olennaista oven auki saamiseksi oli, että kytkimelle pudotettiin jonkinlainen paino. Omia suosikkejani oli robotti, joka päätti ottaa kaiken irti kisan säännöttömyydestä ja jättää välistä radan kaikki vaiheet paitsi viimeisen haasteen ja lopputappelun. Pyörivillä tasoilla on onneksi enemmän tilaa liikkua. Toisin kuin järjestäjät ovat meille kertoneet, robotit eivät suoritakaan rataa itsenäisesti, vaan hitaammat robotit saattavat jäädä myöhemmin tulevien tielle. 2 1 8 . Ainakin kolme edellämme ollutta robottia luovuttaa leikin ja taivaallinen käsi tulee ja nostaa ne ylätasanteelle. Ruuhka jatkuu seuraavassa huoneessa. Robotti oli suunniteltu siten, että se pystyi oikein ohjattuna kiipeämään matalia matkoja ovelan rakenteensa ansiosta. Tulimme lopulta kolmanneksi, mutta emme välttämättä täysin ansioin. Jatkamme kisaa pudotettujen robottien epävirallisessa katutappelussa odotellen loppupisteytystä ja tuloksia. Sitä ohjaava ohjelma kaatuu heti käynnistämisen jälkeen, koska ensimmäinen tila oletti, että robottikaupasta ostetut anturit olisivat kytkettyinä robottiin. Kuvasta tunnistettiin ainakin punainen väri, ja kisan aikana robottia ohjattiin oikeaan suuntaan kuin härkää punaisen paperilapun avulla. Olemme siis tässä vaiheessa ohittaneet useamman robotin, emmekä enää ole viimeisiä radalla! Pääsemme kietoutumistasanteelle ja haastamme yhden jo maaliin päässeistä roboteista taisteluun. Monta robottia yrittää päästä ylätasanteelle, jonne nousee ramppi napista painamalla. 4 20 Rampin saa nostettua yläasentoon myös haastavammalla tavalla, josta saa lisäpisteitä. Emme käy edes moikkaamassa datakuutiota. Monoliittimaisen supertietokoneen huoneessa onkin ruuhkaa. romme tulee, ja juoksemme viime hetkellä paikalle robottimme kanssa. Se loikkasi ensimmäiseltä, sivulaidattomalta rampilta alas lattialle ja rullasi sitten viimeiselle huoneiden väliselle rampille. Robotin takana oleva tiimi Achively koostui Helsingin yliopiston psykologian opiskelijoista. Selviääköhän se kulman yli. Viivan seuranta ei hajoa, mutta menee nopeasti sekaisin, ja siirrymme etäohjaukseen. Saamme vihdoin rauhan käydä itse painamassa nappia, ja olemme onneksi niin nopeita, että ehdimme ylös ennen kiusantekoa. Kuulemma käytännön suorituksista oli liian vaikea pitää kirjaa. Muita yleisösuosikkeja olivat robotit, jotka avasivat oven tiputtamalla kytkimelle datakuution sijaan mukanaan kuljettamansa palikan. Valitettavasti napista painamalla ramppi menee myös alas, joten nappia painanut robotti tuskin pääsee puoleen väliin ramppia, kunnes toinen robotti painaa nappia uudestaan. Robotti lähtee aluksi väärään suuntaan, mutta taivaallinen käsi saapuu yläilmoista ja oikaisee sen, minkä jälkeen se selviää itsenäisesti huoneen ulospääsylle asti toisin kuin yksikään aiemmista roboteista. Lego-ukkelia kuljettava robotti rampin yläosassa. Apukäsi korjaa jälleen tilanteen. Antti tekee nopean päätöksen käyttää tilannetta hyväksi, ja ohjaa robotin sujahtamaan valmiiksi auki olevasta ovesta seuraavaan haasteeseen. Valitettavasti algoritmi ei ymmärrä uloskäynnin eikä seinän käsitettä, ja robotti etäohjataan seuraavaan haasteeseen. Tällaisen ratkaisun keksineitä joukkueita oli siis useampia. Pääsemme labyrintistä nopeasti läpi ja siirrämme robotin automaattiseen tilaan pylväshuonetta varten. Eräs robotti puolestaan päätteli olevansa labyrintissä siten, että se mittasi ultraäänianturilla etäisyyttä ylöspäin – labyrintin päällä oli katto toisin kuin muualla radassa. Onneksi muut tilat eivät ole riippuvaisia ensimmäisestä tilasta. Sillä oli sekä telaketjut että pyörät ja ovela saranarakenne, jonka ansiosta sen toinen osa pystyi heittäytymään ylemmälle tasolle ja vetämään toisen osan mukanaan. Tasoilta toisille siirtyminen ei suju robotiltamme niin hyvin kuin harjoituksissa, ehkä siksi että gyroskooppi on mennyt kisan tiimellyksessä sekaisin. Samainen joukkue rakensi myös langanpäähän kiinnitetystä magneetista vaihtoehtoisen ratkaisun datakuutiohaasteeseen, jossa tyypilli