F I. 2 1 5 .4 Tietokonekulttuurin erikoislehti 2015.4 S K R O L L I
16 Armottomat pikselit Villin lännen seikkailut ovat aina kiehtoneet pelintekijöitä. 78 Pelihistoriallinen outolintu Metal Gear -sarjan mustan käärmeen tarina. 56 Kiintolevy Commodore 64:ään Tähän ei 1541 pysty – isotkin ohjelmat latautuvat sekunneissa. 37 Äänisynteesi Näin ykköset ja nollat muovautuvat musiikiksi. 4 2 3 Pääkirjoitus 4 Kirja-arvostelu: Hello Ruby Lasten koodisatukirja kasvattaa uutta sukupolvea. 62 ZX Spectrum Vega Saarivaltion suosikin emuloitu eläke. 68 BK-0011 Kymmenvuotinen kaipuu päättyi – käsissä on viimein neukkukone. 64 ZX Evolution Kuusnepaa siellä saatu ei, joten Spectrum idässä voiton vei. 72 Pelejä tuunaamassa, osa 1 Mitä tapahtuu, kun pelimaailman rakenteet avataan sorkittavaksi. 24 Internetin hallintomallit Onko netissä oikeuksia vai vain mahdollisuuksia. 44 Jollalla perille Sailfish-ohjelmointisarjan kolmannessa osassa otetaan käyttöön kartat ja satelliittipaikannus. 52 Tietoa kantaan ja takaisin Tällaisilla tekniikoilla tiedonpalaset pysyvät järjestyksessä. 82 Ei näin! Imagine Software oli räiskyvä tähdenlento, joka sammui nopeasti. 2 1 5 . 8 Pelaamalla koodaajaksi Opettele ohjelmoinnin perusteet pelien parissa. 12 Hitler-videomeemien anatomia Diktaattoria on pilkattu jo lähemmäs vuosisadan verran. 30 C++ standardimankelissa Näin ohjelmointikielen yhtenäisyys varmistetaan. 33 Postipalsta 34 Turku – Suomen syntetisaattoripääkaupunki Synamiitti kokoaa vuosittain yhteen innokkaimmat harrastajat. 29 Kolumni: Janne Sirén Omaiskoodaaja voi auttaa kroonisten sairauksien itsehoidossa. 5 Mikrokivikausi 6 Unelma kaikesta pilvessä Taskutietokone Solu lupaa jotain aivan uutta. 20 Teknologia diabeetikon apuna Softa, rauta ja avoin lähdekoodi mullistavat diabeteksen hoitoa. Ruby-tyttö seikkailee Linda Liukkaan Hello Ruby -kirjassa, josta on arvio sivulla 4.. 60 Nyky-Basicit Kun Basic on selkäytimessä, sitä haluaa käyttää nykyajankin hommissa
Kahden numeron verran ilmestynyt Sceen oli yleishengeltään varsin lähellä Skrollia, joskin se keskittyi aika vahvasti demoskeneen ja muihin luoviin tietokonealakulttuureihin. Meillä erityyppiset hakkerit, harrastajat, startup-yrittäjät ja pelaajat ovat paljon lähempänä toisiaan kuin isommissa maissa. Kauppinen, Ronja Koistinen, Teemu Likonen, Annika Piiroinen, Manu Pärssinen, Janne Sirén, Suvi Sivulainen Tämän numeron avustajat Jani Halme, Mika Haulo, Chris Helenius, Pasi Huttinen, Matti Hämäläinen, Panu Kalliokoski, Jussi Kasurinen, Janne Katajamäki, Jarkko Lehti, Tapio Lehtimäki, Miikka Lehtonen, Sakari Leppä, Asser Lähdemäki, Visa-Valtteri Pimiä, Markku Reunanen, Petri Saarikoski, Mikko O. Nämä ovat haalineet laajalti eri ”skenejä” saman katon alle ottamaan kontakteja toisiinsa. 3 Ville-Matias Heikkilä päätoimittaja Skrolli Tietokonekulttuurin erikoislehti Yhteydenotot toimitus@skrolli.fi Ircnet: #skrolli skrolli.fi Päätoimittaja Ville-Matias Heikkilä Toimituspäälliköt Toni Kuokkanen & Ninnu Koskenalho Taiteellinen johtaja Nasu Mäki-Petäys Kuvatoimittaja Mitol Meerna Mediamyynti Jari Jaanto Talous Anssi Kolehmainen Muu toimitus Mikko Heinonen, Päivi Julin, Jukka O. Olemme siis muihin verrattuna varsin laaja-alainen lehti: yhdistämme monia alakulttuureja ja kuppikuntia. Tällainen pirstaloitumattomuus on muutenkin tyypillistä suomalaiselle tietokonekulttuurille. Skrollin kaltaista lehteä ei suuressa maailmassa oikeastaan ole. Suurin osa perinteisistä tietotekniikan yleislehdistä on joko lopettanut tai kärsii talousvaikeuksista. Torvinen, Erno Vanhala, Ville Voutilainen, Wallu, Antti Ylikoski Julkaisija Skrolli ry Painopaikka Tammerprint, Tampere, ISSN 2323-8992 (painettu) ISSN 2323-900X (verkkojulkaisu) 441 878 Painotuote skrolli.int Nyt se on päätetty: Skrolli levittäytyy ulkomaille. Mikäli ulkomaantilauksia tulee riittävästi, voisimme vihdoinkin ruveta tekemään Skrollia ihan oikeasti työksemme, mikä varmasti myös parantaisi suomenkielistä versiota entisestään. Näin ihmiset ovat voineet hyvin omistautua erilaisille intohimoisille harrasteprojekteille, kuten erilaisille avoimen lähdekoodin ohjelmille tai vaikkapa Skrolli-lehdelle. Jotkin erikoistuneemmat lehdet pärjäävät vielä – esimerkiksi Linux Format, monet pelija retroilulehdet ja toki myös tiedejulkaisut. Oli viiteryhmäsi siis mikä hyvänsä, niin kerro Skrollista ja sen englanninkielisen version joukkorahoituskampanjasta eteenpäin! Mitä laajemmin erilaisilta tietokonekulttuurin osa-alueilta saamme kansainvälistä huomiota, sitä paremman ja monipuolisemman lehden voimme saada aikaan! skrolli.fi/international Pääkirjoitus Etukannen kuva: Nasu Mäki-Petäys Sisällysluettelon kuva: Hello Ruby, Otava. Suomalaisilla on siis edelleen suhteellisen vahva käsitys siitä, mitä tietokoneharrastus voi olla. Kansakunnan pienuudella on varmasti tekemistä asian kanssa, mutta niin myös Assemblyn ja Alternative Partyn kaltaisilla tapahtumilla. Ja niitä tarvitaan nyt, kun yritämme levittää Skrollin ilosanomaa muiden maiden tietokonekulttuuripiireihin. S krolli aloittelee joukkorahoituskampanjaa, jonka kautta on tarkoitus saada aikaan ainakin yksi englanninkielinen numero. Ensimmäisen lehden sisältö olisi vielä käännöksiä suomenkielisen lehden parhaimmistosta, mutta myöhemmin kieliversioiden olisi tarkoitus tukea toisiaan. Suomalaisessa tietokonekulttuurissa on aina ollut paitsi hyvä yhteishenki, myös vahvat kansainväliset yhteydet. Meidän ei ole myöskään tarvinnut ajatella kaikkea ensisijaisesti rahan kautta – elämmehän vielä ainakin toistaiseksi modernissa hyvinvointivaltiossa
Koodilistauksia ei tarvitse tavailla Hello Ruby ei oikeastaan ole ohjelmointikirja, vaan kutsuu itseään koodisatukirjaksi. Ne ovat kuviopäättelyitä, sääntöjen tulkitsemista, Venn-diagrammeja ja jopa loogisia totuusarvoja. 4 4 V iime vuosina on intoiltu paremman, aiempaa nuoremmille suunnatun ja paremmin saavutettavan tietotekniikkakoulutuksen perään. Alkupuoli on satu Ruby-nimisestä tytöstä ja hänen seikkailuistaan vekkulien hahmojen kanssa. Suomessa hän on saanut vuonna 2014 lastenkulttuurin valtionpalkinnon tulevaisuuteen suuntautuneen lastenkulttuurin kehittämisestä. Aihepiireinä ovat värikkäät ja arkiset lasten asiat: lelut, nuket, eläimet ja leivonnaiset. Satuosan jälkeen seuraa tehtäväkirja. Se on tyylilajiltaan lastenkirja värikkäine kuvituksineen ja hassuine tarinoineen. Kirja syntyi joukkorahoitusprojektina Kickstarterissa, jossa se menestyi mallikkaasti. OngelmiKirjaesittely Hello Ruby Mediassa paljon näkyneen Linda Liukkaan ”koodisatukirja” Hello Ruby ilmestyi syksyllä suomeksi ja englanniksi. Kirjassa on kaksi osaa. Teksti: Ronja Koistinen Kuvat: Otso Kaijaluoto, Maija Tammi (Otava). Suomessa aihepiirin tunnetuimpia puuhaajia on ollut Linda Liukas, jolta ilmestyi tänä syksynä lasten ohjelmointikirja Hello Ruby. Vastaukseksi toiveisiin on suunniteltu ohjelmointiopetusta alakouluihin, ja julkaistu kirjallisuutta. Siinä on erilaisia kuvitettuja pulmia lapsen ratkottavaksi. Liukas kirjoitti kirjan aluksi englanniksi. Esipuhe käyttää ilmausta ”ohjelmoinnillinen ajattelu”. 2 1 5 . Samalla se pyrkii virittämään lasta loogiseen ajatteluun, päättelemiseen ja ongelmien pilkkomiseen. Seikkailussa on erilaisia vaiheita, esteitä ja ongelmia, joita Ruby ja hänen ystävänsä ratkovat päättelemällä, suunnittelemalla ja rakentelemalla. Aiemmin Liukas on tunnettu muun muassa Amerikassa pyörittämästään Rails Girls -projektista, joka on keskittynyt ohjelmoinnin opettamiseen tytöille ja naisille. Vuonna 2015 hänet valittiin vuoden tietotekniikkavaikuttajaksi Suomessa. Ohjelmistoalan veteraanit ovat tippa linssissä muistelleet lapsuutensa 80-lukua ja harmitelleet, ettei nykyään ole tenavilla yhtä matala kynnys tarttua koneeseen ja alkaa luoda sillä uutta. Kirja on söpö, mutta pääseekö se tavoitteeseensa. Teoksen julkaisija Suomessa on Otava ja suomentaja Kirsikka Myllyrinne. Mitään ohjelmointikieltä kirja ei opeta
OK! Huh. Opettajat koulumaailman kentällä ovat kuitenkin pian helisemässä, jos ei suuria puheita saada lunastettua toimiviksi menetelmiksi. Tarvitaan paljon lisää Hello Rubyn, Linda Liukkaan toisen projektin Rails Girlsin ja hacklabien tapaisia konkreettisia tekoja ja ennakkoluulottomia ympäristöjä. olen niin iloinen ja onnellinen! No mistä moinen. kihihi... Riittääkö 5½-vuotias, vai pitääkö olla täyttänyt kuusi. Ensimmäisenä silmään osuu jo mainitsemani takakannen teksti ”kaikille yli 5-vuotiaille”. Soitin museohankkeen vetäjille ja tänään sieltä miehet tulivat ja hakivat... Kihihi... Paketti saattaa olla liian tuhti En ole varhaiskasvatuksen enkä lastenkirjojen asiantuntija, mutta minua hieman huolettaa, että Hello Rubyn satuja tehtäväosuus saattavat olla epätasapainossa. Nämä pikkujutut saattavat toki olla myös suomennoksen mokia. Kirjassa on myös muutamia kohtia, jotka aiheuttavat pikkumaista kulmien kurtistelua koodaukseen virittyneessä lukijassa. Sekä koulutuspolitiikan että IT-yritysmaailman setämiehet puhuvat paljon siitä, kuinka ohjelmointi on kaikkien alojen tulevaisuus – vain sillä voi automatisoituvassa maailmassa turvata elantonsa. Kirja sanoo olevansa tarkoitettu toisaalta alle kouluikäisille, toisaalta takakannen mukaan ”kaikille yli 5-vuotiaille”. 5 en tarkastelu tähtää ohjelmoinnillisen päättelemisen harjoitteluun. Tehtäväkirjan pulmat taas saattavat olla liian tylsiä, abstrakteja ja vaikeita kuusivuotiaalle ja sopisivat pikemminkin 8–10-vuotiaalle. Toinen, äskeistä huolestuttavampi huolimattomuus esiintyy tehtäväosiossa sivulla 108. Aukeaman täyttää noppapeli, jossa edetään radalla. 5 vai ikä > 5. Hänhän on jo pitkään puhunut ja suunnitellut tukevansa jollain lailla pelimuseohanketta... Millaisen?. Sitten varmasti pikkuhiljaa löydetään toimivat tavat saada nuori polvi oikeasti koodaamaan. Maailman paras koodisatukirja! Linda Liukas, Otava 2015. Hello Ruby. Yhdessä kohdassa on ohjeet, mitä tehdään, jos heittää nopalla silmäluvun alle kolme tai enemmän kuin kolme. Järjestin armaalle siipalleni kerrassaan mahtavan ylläripyllärin! Kihihi... Tarkoittaako se ikä . ISBN: 978-951-1-29038-4 Kovat kannet, 111 sivua eron hetki kun lyö, se miestä näin syö. Alkuteos: Hello Ruby: Adventures in Coding . Kuusivuotiaalle Hello Rubyn satu saattaa olla epäkiinnostava ja juoneton sarja sattumuksia. Sen sijaan mitään ohjetta ei anneta siltä varalta, että heittää tasan kolme. Tätä lisää! Nipotuksestani huolimatta Hello Ruby on todella vahva avaus 2010-luvun nopeasti käyntiin lähteneelle ohjelmointipedagogiikalle. Suomentanut: Kirsikka Myllyrinne
Yksi ohjelmisto, tietokoneilla tai mobiilissa, ei kuitenkaan ole vielä pilvisovellus: käyttöjärjestelmä. Laitteet ovat edelleen omia saarekkeitaan, joille rakenSolu Unelma kaikesta pilvessä Lokakuussa suomalainen Solu keikutti IT-maailman aaltoja puusta valmistetulla taskutietokoneella, joka lupaa viedä kaiken pilveen. Elokuvat, TV-sarjat, tieto ovat nekin pitkälti jo verkossa. Microsoft joutui myrskyn silmään Xbox One -pelikonsolillaan, jonka ensi-iteraatiossa omistamasi sisällön piti olla käytettävissä millä tahansa Xbox Onella. Digitaalinen pilvivallankumous, nimittäin. Skrolli kurkisti viilun ja hypen taakse. Jonkin verran ohjelmistokomponenttejakin jo striimataan. 2 1 5 . Kolmannessa vaiheessa digilevyt ladattiin suoraan internetistä kiintolevylle. Vaatimus verkkoyhteydestä kuitenkin närästi liikaa ydinsukellusvenemiehistöjä, ja markkinapaineessa Microsoft vesitti osan suunnitelmistaan. Historian läksyjä Laitetta pilven ympärille on toki rakennettu aikaisemminkin. Taylor Swiftin ja parin rokkikukon kipuilua lukuun ottamatta musiikissa ollaan maalissa, sitä on saatavilla internetistä mistä vaan, milloin vaan ja vieläpä laillisesti. Kesti vuosikymmeniä, että teknologia, lisenssit ja liiketoimintamallit kypsyivät idealle. Tietokoneiden puolella Steamin kaltaiset pelikaupat ja monet ammattisovellukset, kuten Adobe Creative Suite ja Microsoft Office, ovat jo pitkälti siirtyneet pilveen. Solu yrittää saada pilveen loputkin – raudan ja softan. Niinpä viimeinen niitti on puuttunut. Ensiksi musiikki samplattiin analogisen LP-levyn sijaan digitaaliselle CD-levylle, sitten CD-levyt ripattiin tietokoneen kiintolevylle. Teksti: Janne Sirén, Visa-Valtteri Pimiä Kuvat: Sakari Leppä, Solu Machines Solu on pieni, orgaaninen tabletti: Lasia, puuta ja sisällön mukana elävä pilvikäyttöliittymä, SoluOS.. 4 6 Rauta K aikki alkoi musiikkilevyistä. Lopulta joku keksi että miksi ladata, kun voi striimata – ja kun voi striimata, voi musiikkia myös jakaa yhtä vaivattomasti. Ohjelmia voi käyttää missä ja milloin vain, kunhan verkkoyhteys varmistaa käyttöoikeuden jatkumisen. Sisältö ja joskus jopa sovellukset voidaan tarvittaessa palauttaa tai siirtää toisaalle. Sisällön automaattivarmennus pilveen on myös yleistynyt. Lisenssistä maksetaan kuitenkin kuukausittain, mistä kaikki eivät tykkää. Lisäksi tämä yleensä tarkoittaa sovellusten erillistä asentamista eri koneille tai kevyempiä web-versioita. Kinect-kamera tunnistaisi naamasi, verkkoyhteys siirtäisi sisällön ja varmistaisi käyttöoikeudet
Rautapuolella olemme harkinneet avointa lähdekoodia, sillä ei olisi ollenkaan haitaksi, että palveluun kiinnittyisi hyvinkin erilaisia laitteita.” Ihan kaikki ei Solussakaan ole pilvessä: se käyttöjärjestelmä. Offline-käytöstä vastaa älykäs välimuisti, joten siellä ydinsukellusveneessäkin Solu on ainakin teoriassa tallentanut kaiken tähdellisen välimuistiin ja peli jatkuu. Solut valmistetaan Suomessa ja myös niiden pilvipalvelimet sijaitsevat Suomessa, mikä on mainio asia. Tämä liiketoimintamalli on niin tärkeä osa yrityksen ideologiaa, että Kristofferin mukaan se on peräti kirjattu manifestiin, johon sijoittajat eivät saa puuttua. Koska sovellukset ovat näin erillismaksuttomia, niitä on tarkoitus voida jakaa käyttäjältä toiselle yhtä helposti kuin kissavideoita. Jos tallennustilaa uupuu, pilvessä on automaattisesti lisää. Käyttöjärjestelmän päivitykset tehdään manuaalisesti kuten Androideissa yleensäkin. Haastoimme kuitenkin Kristofferia kysymällä, mitä mieltä hän on, jos raudan käyttäjät hylkäävät emopalvelut ja perustavat sen sijaan omia piraattiservereitään. Ensivilkaisu mikrobiologiaa muistuttavaan käyttöliittymään on sentään selvästi poikkeava, mutta sekään ei täysin vastaa kysymykseen, mitä tällä tehdään. Nykypäivänä näillä ominaisuuksilla tosin erottuu toisista yhtä heikosti kuin hipsteri Kånken-repulla. Siis juuri se yksi asia, jota tässä yritetään siirtää pilveen, on samalla ylipäätänsä kaikkein vaikein ratkaistava – appsit. Kristofferilla on kuitenkin kiinnostava pointti: Mitä ikinä Solulla tekeekin, sitä voi tehdä millä tahansa Solulla, koska kaikki Solussa on natiivisti pilvessä. Kristoffer heittää avoimen pallon mieluummin laitekehityksen suuntaan: ”Lähtökohtaisesti Solu toimii meidän palvelumme kanssa – sitä kautta saadaan kollaboraatio ja ohjelmien liiketoimintamalli pelaamaan, siinä on meidän leipä palvelun pyörittämisessä. 7 netaan paikallinen infrastruktuuri ja vasta sitten tuodaan tuontisisältöä. Lisälaitteet ulkoista 4K-näyttöä myöten liittyvät siihen USB-C-portin kautta. Solun käyttöliittymä kun pyrkii olemaan hyvin erilainen, uudesta pilvikollaboraatioja liiketoimintamallista puhumattakaan. Rajaa hämärtämässä Kysyimme yhdeltä Solun perustajista, toimitusjohtaja Kristoffer ”Setok” Lawsonilta, mitä he yrittävät tehdä eri tavalla kuin muut. Toisin sanoen Solu on pieni, neliönmuotoinen tabletti, jonka voi kytkeä myös isoon näyttöön. Pohjalla on kuitenkin jotain tuttuakin. Solun käyttöjärjestelmänä on muovattu Android, jonka sovelluksia voi käyttää, kunhan ei kaipaa niihin Solun erityisominaisuuksia. Esijulkaisuvaiheessa Solu on vielä vähän mysteeri. Oman Solu-app-ekosysteemin tarvetta ei silti voi vähätellä. Jos Solu toimii kuten lupaa, konsepti on kiistatta hieno. Lisäksi Solun käyttötilanteet vaihtelevat sen pieneltä neliönäytöltä suurelle tietokonenäytölle, jolloin appien tulisi osata hyödyntää pientä näyttöä kakkoskäyttöliittymänä. Solu on trendikäs ja nätti kuin kuusenkerkkäkarkki – se löytyy Kickstarterista, ja pintaan on vuoltu lastu lähimetsää. Lisää kontribuutioita odotellaan, kun ensimmäiset Solu-ohjelmistokehittäjät saavat kehityslaitteensa toivottavasti jouluksi. Kristoffer myöntää, että osansa Solussa on ihan teknologian yleisellä kehityksellä. Käyttäjät maksavat sovelluksistaan all you can eat -kuukausimaksua, ja sovelluskehittäjille maksetaan sovellusten käyttötilastojen mukaan. Yhdeksi vauhdittajaksi toivotaan demoskenen ja hakkerimentaliteetin vaikutusta. On käyttäjien etujen mukaista, että yrityksemme toimii. Tähänkin Kristofferilla on vastaus, ja oli Solun mahdollisuuksista mitä mieltä tahansa, idea ainakin on erilainen: kaikki Solulle tehdyt sovellukset nimittäin kuuluvat Solun App Libraryn kuukausimaksuun. Spotify-malli ekosysteemille Solun, kuten minkä tahansa uuden alustan, suurin haaste ovat nykypäivän vaatimukset toimivasta ohjelmistoekosysteemistä. Idea Solu-taskutietokoneesta ulottuu parin vuosikymmenen taakse, kun Kristoffer ensimmäisiä kertoja tutustui silloin jo varsin suureksi kasvaneeseen internetiin, mutta vasta nykyisin taskurauta ja langattomat verkkoyhteydet riittävät toteutukseen. Solu on Kristofferin mukaan jo nyt saanut siitä osansa, mikä näkyy muun muassa käyttöjärjestelmän reippaassa kehitystahdissa ja käyttöliittymän efekteissä. Solu on siis valinnut Spotifyn liiketoimintamallin. Jos Solu tipahtaa järveen, uuteen Soluun tarvitsee vain kirjautua sisään, ja kaikki ohjelmat ja dokumentit ovat heti käytettävissä. Aina kun istahdat uudelle tietokoneelle, joudut enemmän tai vähemmän aloittamaan alusta. Lisätietoja: www.solu.co SoluOS-käyttöjärjestelmässä elämänsä voi jakaa (yhteistyö)projekteihin.. Siniristivai pääkallolippu. Solu on modernisti kosketusnäyttöön naitettu Nvidian Tegra K1 -system-on-a-chip, päivän akkukestolla ja wlan-yhteydellä. Solun tuotantoversio ilmestyy keväällä noin 450 euron hintaan (Kickstarter 350 euroa)
Human Resource Machine Human Resource Machine on testin tuorein ja selvästi pelimäisin julkaisu. Joskus peli voi myös kertoa koodaamisesta. Sillä tarkoitetaan yksinkertaisesti sitä prosessia, jonka avulla abstrakteja ongelmia muutetaan loogisiksi askeleiksi, joita tietokone pystyy seuraamaan. Koska tila ja aika ovat rajallisia, ne jäivät tämän jutun ulkopuolelle. Yhdessä päässä on selvästi viihdepeliksi suunniteltu teos, jossa ohjelmointi on mukana, mutta kivasti ja lähestyttävästi esitettynä. Taustalta löytyy yksinäinen kehittäjä, jonka edellisessä pelissä poltettiin takassa erilaisia esineitä. Koodaaminen on hauskaa, ja niin ovat videopelitkin. Asioilla on perinteisesti ollut se yhteys, että koodaamalla tehdään pelejä, mutta eihän sen tarvitse olla pelkästään näin. Pelaaja on suuren yhtiön tuorein Pelaamalla koodaajaksi Voiko pelaamalla oppia ohjelmoimaan. Toisessa päässä on pelillistetty ohjelmointikoulu, jossa jo osaavat voivat hioa taitojaan. Mitä mahtaakaan mahtua välimaastoon. Niinpä ei ole mitenkään hirvittävän yllättävää, että useissa peleissä on joko lainailtu ideoita ohjelmoinnista tai suoranaisesti tehty ohjelmoinnista pelimekaniikka. Mitä tehdä esimerkiksi peleille, joissa suunnitellaan tekoälyrutiineita erilaisille roboteille tai vaikka liukuhihnojen varassa toimiville tuotantolaitoksille. Siinä se. Teksti: Miikka Lehtonen Kuvat: Nasu Mäki-Petäys, Miikka Lehtonen, Jani Halme Pelit Human Resource Machinen värikäs grafiikka ja hauska huumori peittävät alleen pelin, jossa pulmat ovat oikeasti haastavia – ja koodista tulee melkoista spagettia.. 4 8 M onissa peleissä ratkotaan tiettyjen sääntöjen rajoissa loogisia pähkinöitä, ja sitähän ohjelmointikin pohjimmiltaan on. 2 1 5 . Lopulta seulan läpäisi neljä peliä, joissa kuljetaan tietyn akselin päästä toiseen. Algoritmisena ajatteluna tunnettu käsite on kaiken ohjelmoinnin perusta. Omaperäiset ideat ovat siis tuttuja, ja sellainen on myös Human Resource Machine. Kun ryhdyin tutkimaan ideaa tarkemmin tätä artikkelia varten, kävi ilmi, että erilaisia ohjelmoinnin ympärillä pyöriviä pelejä riittää yllin kyllin, ja että rajaukset ovat usein hieman hankalia. Skrolli testasi neljää erilaista peliä, joissa ohjelmointi on pelimekaniikkana
Pelissä pelaaja on saanut käsiinsä unohdetun 80-luvun kotimikron, TIS-100:n. Vuosien varrella kone on kärsinyt sen verran, että kaikki muut sen ohjelmat ja mahdollisuudet ovat tuhoutuneet, paitsi koneen yksinkertainen konekielinen käskykanta. Hommaa mutkistaa se, että kaikkia rekisterejä ohjelmoidaan paikallisesti ja suoraan. Sitä kun tulee tarvitsemaan. Varsinkin kun syötteenä tulevat numerot ovat satunnaisia, joten ratkaisujaan ei voi koodata tiettyjä tapauksia varten, vaan niistä täytyy suunnitella yleisiä. Human Resource Machine on selvästi suunniteltu ihmisille, jotka eivät ole ikinä koodanneet. Heitetään mukaan vielä vähän loogisia ohjauskäskyjä, joilla hypätään työntekijän ohjeissa eri kohtaan sen mukaan, onko kädessä oleva numero vaikka negatiivinen tai nolla, ja siinä sitä ollaankin. Pelin mukana tulee PDF-manuaali, jossa ihan oikean ohjelmointioppaan tavoin selitetään käskyt sekä kehoitus tulostaa manuaali. Se näyttää veikeältä, on helposti lähestyttävä ja todellakin opettaa kuin huomaamatta huumorin avulla algoritmisen ajattelun perusteita ja käsitteitä. Kaikki opetetaan kyllä pelin aikana. Oikeassa laidassa on outbox, johon duunarin pitäisi saamansa numerot toimittaa tiettyjen pomon antamien sääntöjen rajoissa. Edessä on useampi kymmenen koodaushaastetta, jossa yksinkertaisen käskykannan avulla tulee rakentaa uudelleen monimutkaisia korkeamman tason toimintoja. Ruudun vasemmassa laidassa on inbox, johon saapuu syötteenä erilaisia numeroita ja kirjaimia, kentästä riippuen. Kuten nokkelimmat jo ehkä huomasivat, käytännössä pelaajalla on käytössään yksinkertainen konekieli. Alussa vielä mennään simppelisti, kun tavoitteena on vaikka lähettää peräkkäisten lukujen summa eteenpäin, mutta pian haaste nousee aika tavalla. Muihin rekistereihin ei voi TIS-100 tarjoaa mahdollisuuden koodata hyvinkin uskottavaa ja wanhaa assembly-konekieltä, vieläpä viihdyttävästi – vaikka sitä ei ehkä kuvasta usko.. Tyypillisessä haasteessa saadaan yhdestä tai useammasta syötteestä lukuja, jotka sitten pitää käsitellä ja lähettää eteenpäin annettujen sääntöjen mukaisesti. Tätä varten hänellä on käytössään lattialla olevia lokeroita, joihin numeroita voi väliaikaisesti laskea, sekä käskyjä, joilla numeroita siirrellään lokeroiden välillä, lasketaan yhteen tai vähennetään toisistaan tai vaikka kasvatetaan yhdellä. Peli tekee pieniä kädenojennuksia pelattavuuden suuntaan, sillä esimerkiksi tietokoneen muistirekisterit on ladottu kaksiulotteiseksi taulukoksi, jossa dataa siirrellään fyysisten ilmansuuntien mukaan. Lattialla olevat laatikot vastaavat muistirekisterejä, ja duunarille suoritettavaksi purkitettavista käskyistä muodostuu yksinkertainen ohjelma, jolla numerot prosessoidaan annetun algoritmin mukaisesti. Ja niin myös tehdään. Kun tehtävänä on vaikka siirtää outboxiin kaikki Fibonaccin lukujonon alkiot (numerosarja, jossa aina kaksi peräkkäistä lukua summataan yhteen muodostamaan seuraava), jotka ovat pienempiä kuin saatu syöte, alkaa tulla hiki. 9 työntekijä, jonka tehtävänä on suorittaa yksinkertaisia loogisia tehtäviä sen verran hyvin, ettei hänen työpaikkaansa tarvise korvata tietokoneella. Jo pelin esittelytekstissä Steam-verkkokaupan sivuilla mainostetaan, että ei ole mitään syytä olla huolissaan, vaikka ei olisi koskaan koodannut. Human Resource Machine on mainio peli. Human Resource Machinen oppimiskäyrä on saatu aika hyvin kohdalleen. TIS-100 Jos Human Resource Machine pyrki tavallaan huijaamaan pelaajan opettelemaan konekieltä, TIS-100 heittää haasteen suoraan naamalle. Eihän tämän jälkeen toki vielä mitään assembly-koodia osaa lähteä paukuttamaan, mutta ei se ole edes tavoitteena
Tätä kautta pelissä pääsee myös hyvin kokemaan käytännössä, millaista koodaaminen oli vanhoina hyvinä aikoina. TIS-100 onkin hyvin palkitseva ja addiktoiva pelikokemus. Mistään suunnattomista haasteista ei ole kyse, sillä omassa C#-testissäni esimerkiksi piti huomata, että eräs aliohjelma yritti palauttaa muuttujaa, joka oli määrittelyssä kirjoitettu Kun koodi saa miekan huitomaan ja örkit kuolemaan, koodauksen opettelu tuntuu oikein viihdyttävältä puuhalta!. CodeWars on koodaustreenaaja, jossa itsepuolustuslajien hengessä edustetaan klaania tai jotain muuta tahoa ja kerätään sille kunniaa suorittamalla erilaisia tehtäviä. Jos konekielellä koodaaminen ei suju, pelistä ei saa hirveästi irti. Idea on mitä mainioin ja tarjoaa vähän syvällisemmän algoritmisen ajattelun sovelluksen kuin TIS-100 tai Human Resource Machine. Pelillistäminen on ilmiö, jossa pyritään tekemään tylsistä tai työmäisistä asioista hauskempia lisäämällä mukaan elementtejä peleistä. CodeWars Niistä suuremmista jutuista ja muista kielistä puhuttaessa pitää vielä mainita CodeWars, joka eroaa niistä aiemmista peleistä vaikka sillä, että se ei oikeastaan ole peli. Esimerkiksi miekan käteensä ottamalla hahmo oppii self.attackNearestEnemy()-tyylisiä käskyjä, kun taas vasaralla voi rakennella ansoja ja esteitä. Kun huomioidaan, että CodeCombat aloittaa aivan perusteista, se on yllättävän syvä paketti. 4 10 viitata, vaan ainoastaan luvut liikkuvat niiden välillä. Pelin kielivalikoima on testissä olevien pelien laajin, sillä tarjolla on jo nyt pino oikeita ohjelmointikieliä, ja tulossa on koko ajan lisää. Nyt pitää jo itse vähän kyetä miettimään ja purkamaan sumeita ongelmia (”kulje labyrintin läpi kolikoita keräten ja hirviöitä tappaen”) loogisiksi askelmiksi, joita voidaan sitten seurata. Niin – ja kuhunkin rekisteriin mahtuu 15 rivin edestä koodia. Loppua kohden mennään jo aika korkean tason juttuihin. On toki huomioitava, että CodeCombat pyörii skriptauskielten ympärillä ja tarjoaa täten verrattain rajoittuneen kokonaiskuvan ohjelmoinnin maailmaan. Tämäkin puoli pelistä sopii hyvin ohjelmoinnin maailmaan, sillä mainiona ideana erilaiset varusteet laajentavat pelaajan käytössä olevaa käskykantaa hyvin samalla tavalla kuin jos koodatessaan toisi ohjelmaansa mukaan ulkopuolisia luokkia. Se ei ole peli, mutta se käyttää pelillisiä elementtejä. Läpäistessään tasoja pelaaja kerää kokemuspisteitä, pelin sisäistä valuuttaa ja hahmolleen myös uusia varusteita. Kyllä minä sille vielä näytän! CodeCombat CodeCombat on hyvä esimerkki viime aikoina suosiota ja näkyvyyttä keränneistä peleistä, joiden tarkoitus on opettaa käytännön ohjelmointia pelaamisen lomassa. TIS-100 ei myöskään osaa itse synkronoida ohjelmia mitenkään, vaan eri tahtiin kulkevat aliohjelmat täytyy synkronoida itse käsin heittelemällä väliin nollakomentoja. 2 1 5 . Niinpä oikea haaste tuleekin siitä, että asioita täytyy tehdä yhtä aikaa yksinkertaisesti ja monimutkaisesti. Tarjolla on toista sataa erilaista kenttää, joten ohjelmoinnin eri osaalueet ja piirteet tulevat taatusti tutuiksi. Vaikeuskäyrä on toteutettu mainiosti. Code Combat pätee myös sillä, että toisin kuin aiemmissa peleissä, CodeCom batia pelataan viidellä oikean maailman ohjelmointikielellä, joita pelaaja sitten oppii pelatessaan käyttämään. Siinä missä Human Resource Machinen vaikeuskäyrä on mukavan loiva ja pelikokemus sujuva, TIS-100 ottaa luulot pois jo aika varhaisessa vaiheessa. Se tekee algoritmisen ajattelun opettelemisesta ja harjoittelemisesta helppoa ja sujuvaa puuhaa. Kun sain veteraanipelaajalta vinkin pudottaa koodistani pois pilkut ja käyttää yksikirjaimisia hyppykoodeja kuvaavien sanojen sijaan, jotta riveille – ja täten rekisteriin – mahtuisi enemmän koodia, olin kuin ällikällä päähän lyöty. Jokainen onnistunut suoritus tuntuu voitolta, ja suorituksen jälkeen peli näyttää kuinka omat kaverit ovat saman ongelman selvittäneet. Pelaaja ohjastaa roolipelin sankaria, mutta ei kuitenkaan peliohjaimella tai näppäimistöllä vaan ohjelmoimalla. Niissä ongelmat ilmoitetaan valmiina algoritmeina ja pelaajan vastuulla on toteuttaa ne annetun käskykannan avulla. Suurempien kokonaisuuksien kasaaminen ja ohjelmistosuunnittelu eivät tietenkään kuulu sen mittakaavaan, mutta se hoitaa lestinsä mainiosti. Kyse ei toki lopulta ole suunnattomasta teknisestä haasteesta, sillä käskykanta on pieni, rajoittunut ja suoraviivainen. Ei ole helppoa, ei. Peli etenee aivan perusteista alkaen askel kerrallaan läpi aliohjelmien, silmukoiden, tiedon välittämisen oliosta toiseen ja niin edelleen. Erilaisten elementaalioperaatioiden synkkaukset ja ohjelman jakaminen ovat ongelmia, joiden kanssa joko oppii elämään tai lopettaa pelaamisen. Kun aluksi on valinnut opetteluun haluamansa kielen, täytyy seuraavaksi todistaa hallitsevansa sen perusteet korjaamalla rikkinäisiä ohjelmia toimiviksi. Toisin kuin testin muita pelejä, CodeWarsia ei ole suunniteltu edes täysille aloittelijoille. Kun on opetellut perusteet CodeCombatilla, voi todennäköisesti siirtyä verrattain pienellä vaivalla muiden kielten pariin tekemään suurempia juttuja, mikäli mielenkiintoa riittää. Jos oma koodi ratkoi ongelman kahdeksalla rutiinilla ja 1359 syklillä ja kaveri selvisi siitä kuudella rutiinilla ja 1200 syklillä, niin kyllähän se potkii optimoimaan ja tuunaamaan omaa koodia
Haasteet on jaettu laajoihin kategorioihin, joista voi valita juuri itseään kiinnostavia aihepiirejä ja sitten lähteä leikkimään sankarikoodaajaa. CodeWars pyörii pitkälti crowdsourcing-pohjalta, eli yhteisö saa itse kehittää ongelmia ja arvioida niiden vaikeustasoa ja soveltuvuutta. Loppupäässä saa jo koodata tosissaan.. Human Resource Machine on hyvä koukutin algoritmisen ajattelun maailmaan ja ohjelmointiin mukavan visuaalisesta perspektiivistä esitettynä. Lisätietoja: codecombat.com CodeWars Tuetut kielet: CoffeeScript, JavaScript, Python, Ruby, Java, Clojure, Haskell, C# (tulossa F#, Obj-C, php, C, C++) Alustat: selainsovellus Hinta: ilmainen Lisätietoja: codewars.com CodeWarsin tehtävät alkavat perustason jutuista, mutta tasojen noustessa myös haasteet kasvavat aika reippaasti. Yhteisö on mukana myös keskustelemassa ongelmista, joten jos ajautuu pulman kanssa umpikujaan, voi kysyä muilta neuvoja tai vaihtoehtoisesti tutoroida muita saitin käyttäjiä. Kun rima on ylitetty, edessä on valtava koodaushaasteiden allas, johon sitten sukeltaa. Itsepuolustuslajien eri tasojen mukaan jaotellut tehtävä ovat jo aluksi sangen kinkkisiä ja todella monipuolisia. Kun ne ovat hallussa, taitojaan voi hioa ja uusia kieliä opetella kätevästi vaikka CodeWarsin parissa. Vaikka CodeWars ei olekaan yhtä viihdyttävä tai välittömän ihastuttava kuin testin muut pelit, omasta perspektiivistäni se on ehkä antoisin. Olen itse maisterivaiheen tietojenkäsittelytieteiden opiskelija, ja omat opintoni keskittyvät nykyään pääasiassa ohjelmistotuotantoon ja muihin teoreettisempiin juttuihin, joten on oikein mukava päästä venyttelemään koodauslihaksiaan ja tekemään jatkuvasti uusiutuvia ja sopivan haastavia pähkinöitä. Human Resource Machine Tuetut kielet: oma alkeellinen konekieli Alustat: Mac, Windows, Wii U Hinta: 9,99 € Lisätietoja: tomorrowcorporation.com/humanresourcemachine TIS-100 Tuetut kielet: oma assembler-konekieli Alustat: Linux, Mac, Windows Hinta: 6,99 € Lisätietoja: www.zachtronics.com/tis-100/ CodeCombat Tuetut kielet: Python, JavaScript, CoffeeScript, Clojure ja Lua Alustat: selainsovellus Hinta: Ilmainen, mutta tarjolla on myös kuukausimaksullinen versio, joka sisältää enemmän erilaisia hahmoja ja muita pieniä bonuksia. 11 pienellä alkukirjaimella kun taas palautuksessa suurella. CodeWars sopii myös hyvin nyt tarjoilemamme loogisen jatkumon päätepisteeksi. CodeCombat opettaa sitten oikean ohjelmoinnin perusteet
Ulkona riehuva sota saa unohtua, sillä käsillä on huomattavasti vakavampi tilanne. On kiinnostavaa, että valtamediat eivät olleet laajemmin kir”Pistä natsi asialle ja mene itse perässä!” Hitler-videomeemien anatomia Sosiaalisessa mediassa leviävät Hitler-videomeemit perustuvat Oliver Hirschbiegelin ohjaamaan, Adolf Hitlerin viimeisiä päiviä esittävään elokuvaan Perikato (Der Untergang, 2004). ”Demokratia on puhdasta pelleilyä!”, Hitler raivoaa. Natsi-Saksan diktaattori on erittäin vihainen. Syvällä maan sisällä alkaa tilannekatsaus Adolf Hitlerin johtohuoneessa. Suomen vuoden 2015 edustakuntavaalien lopputulos on johtanut katastrofiin ja keskustan ”juntit” ovat nousemassa valtaan. Punamullan sijasta Suomeen olisi luvassa ”juntti-porvarihallitus”. Kaaoksen keskellä keskustan hallintokorttelissa vartiosotilaat vetäytyvät suojaan komentobunkkeriin ja pamauttavat oven kiinni perässään. Suomessa valtamediat kiinnostuivat ilmiöstä keväällä 2015, kun toisen maailmansodan päättymisestä tuli kuluneeksi 70 vuotta. Neuvostankit rynnäköivät eteenpäin etsien läpimurtokohtaa yhä ohuemmiksi käyvästä puolustuslinjasta. Teksti: Petri Saarikoski. ”Stalin sentään tajusi, että kansalta ei pidä kysyä yhtään mitään!” Raivokohtaus on tallennettu YouTubeen illalla 19. 4 12 Kulttuuri K ranaatit räjähtelevät Berliinin kaduilla, rakennuksia sortuu ja sirpaleita lentelee kaikkialla. huhtikuuta 2015 eli heti vaalituloksen selvittyä. Hitlervideoiden nettivirta jatkuu vuosien taakse. Hitler-nettivideot ovat tyypillisiä sosiaalisen median meemejä eli nopeasti verkossa leviäviä, tietylle idealle perustuvia kulttuurimuotoja. Kohtaus tekstitetään uudelleen ottamaan kantaa ajankohtaisiin, yleisöä puhuttaviin tapahtumiin. Suosituimmilla videoilla on miljoonaluokan yleisö. Videomeemejä alkoi syntyä vuoden 2005 jälkeen, ja ne ovat kymmenen vuoden ajan olleet erityisen suosittuja YouTube-videovälityspalvelussa. Videot perustuvat pääsääntöisesti Perikato-elokuvan kohtaukseen, jossa Adolf Hitler saa hillittömän raivokohtauksen ymmärrettyään, että sota on hävitty. huhtikuuta. ”Vieläkö [Perikato-elokuvaa] ja sen keskeistä kohtausta voi katsoa vakavana, huvittumatta?” pohti Helsingin Sanomat. Hitlerin viimeiset päivät Berliinissä olivat sodan loppuvaiheen tunnetuimpia tapahtumia ja Yleisradio esitti tähän liittyen Perikato-elokuvan uusintana 24. Tällä hetkellä YouTubessa saatavilla olevia erikielisiä versioita löytyy pikahaun perusteella sadoittain. Hitler-videot kotimaisen median hampaissa Tapaus on hyvä esimerkki ”Hitler kuulee” -nettivideoiden tavasta ottaa parodian keinoin kantaa ajankohtaisiin tai muuten vain mielenkiintoisiin ilmiöihin. 2 1 5
Muutaman viikon päästä kommentointi kyllääntyi ja kiinnostus laimeni. Siitä lähtien, kun Hitler ensimmäisen kerran ilmestyi julkisuuden parrasvaloihin 1920-luvulla, hän tuli tunnetuksi erityisesti taitavana ja manipuloivana puhujana. Miten ja millä tavoin Hitleristä tuli Internet-parodioinnin kohde ja miksi hänelle on helppoa nauraa. Todellinen humoristisen ja satiiristen esitysten vyöry lähti liikkeelle heti Yhdysvaltojen liityttyä Saksan-vastaiseen sotaan liittoutuneiden rivissä. Lehtiartikkelien määrää tuskin kukaan pystyy laskemaan. Lähde: Wikipedia. Poliitikkona Hitler oli synnynnäinen ja laskelmoiva näyttelijä, joka pystyi omaksumaan tarpeen mukaan lukuisia eri rooleja. Meemeille tyypilliseen tapaan kommentointi oli kehittynyt metatasolle, sillä festivaalin trailerissa esiintyi Adolf Hitlerin sijaan ruotsia puhuva Mannerheim, joka raivostui oman suurelokuvansa kariutumisesta. 13 joittaneet Hitler-videoista kun elokuva oli esitetty aikaisemmin televisiossa (2004, 2008, 2012). Mahtipontiset, usein samalla kaavalla vedetyt julkiset esiintymiset sekä peittelemättömän aggressiivinen ja kansallismielinen propaganda olivat omiaan synnyttämään poliittisia pilapiirroksia ja humoristisia kannanottoja. Miten Hitler-videot ovat syntyneet, ja mitä ne kertovat sosiaalisen median muodonmuutoksesta. Toisena esimerkkinä South Park -animaatiosarjan (1997–) Hitleriksi pukeutunut rääväsuinen Charlie Chaplin parodioi Hitleriä Diktaattori-elokuvassa. Toisen maailmansodan päättyminen Saksan täydelliseen tappioon johti lopulta siihen, että Hitlerin karikatyyrinen hahmo jäi elämään oma elämäänsä populaarikulttuurissa. Molempien tekijät tuntemattomia.. Laajaa mediahuomiota aiheelle syntyi, kun Rakkautta & Anarkiaa -elokuvafestivaali käytti meemiä tapahtumansa markkinoinnissa vuonna 2014. Nimikkeistä tärkein ja tunnetuin oli Charlie Chaplinin Yhdysvalloissa ohjaama Diktaattori (The Great Dictator, 1940), jossa esimerkiksi Hitlerin mahtipontinen esiintymistyyli joutui pilailun kohteeksi. Saksan vasemmistopiireissä julkaistiin myös Hitleriä satiirisesti käsitteleviä propagandaelokuvia vielä 1930-luvun alussa. Mielenkiintoisella tavalla Diktaattorista otettiin vaikutteita Iron Sky -elokuvaan, josta löytyy niin ikään oma Hitler-videoita parodioiva kohtaus – monella tavalla parodia on kiertänyt historiallisen ympyrän. Hitler-hahmo on kytketty komedian keinoin ottamaan kantaa ajankohtaisiin yhteiskunnallisiin tai kulttuurisiin ilmiöihin. Pian ilmestyi videoita, joissa parodioitiin trailereita, jotka parodioivat alkuperäistä traileria. Esimerkkinä mainittakoon komediaryhmä Monty Pythonin Britannian äärioikeistoa pilkkaava Hitler in England -sketsi vuodelta 1970. Hitleriä käsittelevien parodioiden ja satiirien juuria voidaan jäljittää aina hänen poliittisen uransa alkuvaiheisiin 1920ja 1930-luvulla. Luonnollisesti trailerin rinnalle alkoi heti ilmestyä videoita, joissa parodioitiin traileria. Hitler eli niin sarjakuvissa, televisiosarjoissa kuin elokuvissa. Toisen maailmansodan sytyttyä toiminta muuttui vakavampaan suuntaan ja yhdistyi Hitlerin vastustajien poliittiseen propagandaan. Kaksi esimerkkiä Hitler-meemeistä: tekstitetty kuva ja gif-animaatio. Ymmärtääksemme niiden merkitystä ja suosiota meidän on pakko kääntää katseemme menneisyyteen. Olen itse tutkinut Hitler-videomeemejä osana sosiaalisen median historiaa. Suosittu video lähti sosiaalisessa mediassa nopeasti viralisoitumaan ja lopulta traileri sai huomattavasti enemmän huomiota kuin tapahtuma itse. Hitler-karikatyyrin synty Adolf Hitleristä (1889–1945) ja hänen ajastaan on kirjoitettu hyllymetreittäin tutkimuksia, yleisteoksia, selvityksiä ja dokumentteja. Hahmona Natsi-Saksan diktaattori kiinnosti suurta yleisöä historiallisena henkilönä, mutta hän kelpasi myös lukemattomien vitsien, sketsien ja komediapätkien aiheeksi
Kotimaisista varhaisvaiheen videoista suosituimpia oli YouTubeen 29.9.2009 ladattu ”Hitlerin olut-ongelma”. Perikato-elokuvan ohjaaja Oliver Hirschbiegel oli haastattelujen mukaan tietoinen videoista jo melko varhaisessa vaiheessa ja piti niitä lähtökohtaisesti myönteisenä osana Internetin remix-kulttuuria. Katsojia ja kriitikoita arvelutti erityisesti elokuvan tapa inhimillistää absoluuttisen pahan symbolina tunnettua diktaattoria. Undergangers-harrastajista ehkä tunnetuin on Isosta-Britanniasta kotoisin oleva Stacy Lee Blackmon, joka tunnetaan myös nimimerkillä ”Hitler Rants Parodies” tai ”Elite Prime”. Monien Hitler-videoiden alkuperäisten tekijöiden jäljittäminen on hyvin vaikeaa, koska eri versioita alettiin kopioida ja kääntää surutta eri kieliversioille. Tyypillisimpiä esitystapoja oli käyttää alkuperäistä, historiallista kuvamateriaalia ja tekstittää sitä uudelleen tarpeen mukaan tai vaikkapa pistää Aatu pomppimaan laaman selässä gif-animaatiossa. Esimerkkinä mainittakoon Hitlerversiot korealaisen rap-artisti PSYn ”Gangnam Style” -videosta (2013). Monet varhaisvaiheen videoista hävisivät tässä vaiheessa lopullisesti, mutta suosituimmat klipit yksinkertaisesti vain ladattiin palveluun uudelleen. Hän on julkaissut yli 1100 Hitler-videomeemiä. Hitlerin henkilöhahmon nostaminen elokuvan pääaiheeksi synnytti vilkasta ja kriittistä keskustelua. Haastattelussa hän vihjaisee, että videot lisäsivät selvästi elokuvan tunnettavuutta ja olivat näin ollen myös taloudellisesti hyödyllisiä. Perikato oli kaupallinen menestys ja varsinkin pääosan esittäjä Bruno Ganzin roolisuoritusta ylistettiin laajasti. Näppärät nettiharrastajat ottivat elokuvan luovan leikittelyn välineeksi. Nettimeemejä arkistoivien palvelujen (esimerkiksi knowyourmeme.com) mukaan ainakin yksi varhaisimmista tunnistetuista esimerkeistä oli nimimerkki ”DReaperF4”:n YouTubeen 10.8.2006 lataama Sim Heil: Der untersim (espanjankieliset tekstitykset), joka koski Microsoftin Flight Simulator X -pelin demoversion huonoja ominaisuuksia. Mitäpä jos tämä kohtaus tekstitettäisiin uudelleen. Huippusuosituksi noussut YouTube-videolatauspalvelu aloitti toimintansa vuonna 2005 ja tarjosi parhaan mahdollisen alustan parodiavideoiden levitykselle. 4 14 Cartman, joka vaihtelevalla menestyksellä näytti keskisormea ihmisten kaksinaismoralismille ja tekopyhyydelle. Sitä paitsi monet videoista olivat hänen mukaansa äärimmäisen ”hauskoja”. Eurooppalaisena suurproduktiona toteutettu Perikato (Der Untergang, 2004) on ylipäätään yksi harvoja saksalaisia toista maailmansotaa käsitteleviä ison budjetin elokuvia – muita esimerkkejä ovat Das Boot vuodelta 1981 ja Stalingrad vuodelta 1992. Ilmiön varhaisvaiheen videot, joita katsottiin miljoonia kertoja, ottivat erityisesti urheiluja pelikulttuurien ilmiöt hampaisiinsa: ”Hitler gets banned from Xbox Live” (2007), ”Ronaldo leaves Machester United for Real Madrid” (2008), ”Usain Bolt Breaks 100m World Record” (2009). Seuraavaan vuoteen mennessä oli syntynyt näihin videoiden erikoistunut ”Untergangers”-alakulttuuri, jonka piirissä videomeemejä pyrittiin kehittämään aikaisempaa kunnianhimoisempaan suuntaan. Nettiparodia astuu näyttämölle Perikato-elokuva asettuu tässä populaarikulttuurissa mielenkiintoiseen saumakohtaan. Videomeemit tuotantoyhtiön hampaissa Videot joutuivat melko nopeasti myös sensuurin kohteeksi. DVD-julkaisun ilmestyttyä suosittu elokuva lähti nopeasti leviämään verkossa piraattiversiona. Joka tapauksessa vuoteen 2009 mennessä videot olivat nousseet kansainvälisesti niin suosituiksi, että niille alettiin perustaa omia nettiyhteisöjä ja -ryhmiä. Haastattelun perusteella Hirschbiegel suhtautui alusta asti meemeihin hyväksyvästi, koska ne sopivat hänen mukaansa elokuvan alkuperäiseen tarkoitukseen: Adolf Hitlerin sisäpiirin toiminnan mielettömyyden kuvaamiseen. Tässä vaiheessa sodasta oli kulunut jo niin kauan, että kiinnostus aihetta kohtaan oli nousussa yhdistyneessä Saksassa. Vihaa ja voimaa puhkuvan karismaattisen Hitlerin tilalla nähtiin henkisen ja fyysisen romahduksen partaalla vavissut ukko, joka herätti lähinnä säälin tunteita. Verkkokulttuurin ja internetin yleistyttyä 1980ja 1990-luvulta lähtien Hitleristä tuli harrastajien verkkovitsien peruskauraa. Natsikenraalien myöhästyneen kaljanhakureissun jälkipuintia oli katsottu syyskuuhun 2015 mennessä yli 900 000 kertaa. Tuotantoyhtiön perustelujen mukaan poistot olivat oikeutettuja, koska Google Trendsin tilasto, jossa hakutulosten valossa näkyy miten Hitler-videoiden maailmanlaajuinen suosio on kehittynyt.. Pelkkien uudelleentekstitysten sijaan videot voitiin luovasti rakentaa täysin uusiksi ja sisällyttää niihin klippejä elokuvan muista kohtauksista tai laittaa niitä vuoropuheluun muun mediakulttuurin kanssa. Video nousi varsin suosituksi ja sai rinnalleen englanninkielisiä versioita. 2 1 5 . On mahdotonta sanoa mikä oli ensimmäinen Perikato-elokuvaan perustuva Hitler-videomeemi, koska varhaisista virityksistä on jäänyt vain sattumanvaraisia jälkiä. Vastatoimet kulminoituivat vuonna 2010, jolloin YouTube joutui liukuhihnalla poistamaan videoita palvelustaan. Vain käyttäjien luova hulluus oli rajana sille, miten hahmoa voitiin käyttää humoristisen nettikulttuurin välineenä. Tuotantoyhtiö sen sijaan oli täysin toista mieltä. Erityisen paljon kiinnostusta herätti elokuvan kuuluisa raivokohtaus
15 se piti niitä mauttomina ja epäasiallisina. Aluksi hänen oli ollut hyvin vaikea hyväksyä parodioita, koska oli panostanut niin valtavasti roolisuoritukseensa. Nettikeskustelukulttuurille tyypilliseen yleistykseen viitaten voisi kysyä: ”Onko pakko heittää Hitler-kortti pöytään, kun haluan nauraa?” Aiemmin mainittu Helsingin Sanomien kirjoitus, jossa pohdittiin voiko Perikato-elokuvan tunnetuimpaan kohtaukseen suhtautua enää ”vakavasti” on mielenkiintoinen. Video osoittautui parodiaksi parodiasta. Uskottavalta kuulostavat kommentit paljastuivat lähemmin tarkasteltuna huvittavaksi metakommentoinniksi: haastattelun tekstitykset eivät vastanneet saksaksi puhuvan näyttelijän käsittelemiä asioita. Sensuuriyritykset kääntyivät lopulta tuotantoyhtiötä vastaan. Vuoden 2010 aikana Hitler-videoiden maailmanlaajuinen suosio nousi kattoon, ja rajoitustoimet näyttivät päin vastoin vain lisäävän tietoisuutta niiden olemassaolosta. "Hitler kuulee Guggenheimista” (2012) ”Hitler kuulee Talvivaarasta” (2013) "Hitlerin olut-ongelma” (2009). Loppuvuodesta 2010 tuotantoyhtiö nosti kädet pystyyn ja sensuuripolitiikkaa höllennettiin. Yhtiö alkoi jopa mainostaa elokuvaa videoiden yhteydessä. Kysymys viittaa siihen, että todellisiin historiallisiin tapahtumiin perustuva elokuva olisi jotenkin menettänyt merkitystään ja sosiaalisen median ruokkimat videomeemit olisivat nousseet etualalle. Todelliset syyt lienevät olleet tekijänoikeudellisia. Voiko pahuudelle nauraa. Leikittely toimii näin syntyvästä kontrastista, jossa alkuperäistä tapahtumaa voi käsitellä omituisella mutta tunnistettavalla tavalla. Mitä me oikeasti ajattelemme kun katsomme Hitler-videoita. Parodian hauskuus syntyy leikittelystä, jossa katsoja pystyy tunnistamaan käsiteltävän, ajankohtaisen ilmiön uudessa ympäristössä. Vai naurammeko me itsellemme. Kysymystä kannattaa hienosäätää ja tarkentaa: voinko parodioida ajankohtaista ilmiötä ja valita vitsailuni työkaluksi Hitlerin. Hitler oli 1900-luvun tuhoisimman sodan pääarkkitehti, joka aiheutti Euroopassa enemmän tuhoa kuin oli koskaan koettu. Veteraaninäyttelijä Bruno Ganz ei ole juurikaan kommentoinut videomeemejä julkisuudessa. Tulkinnat voivat olla varsin ristiriitaisia, mutta samalla moniulotteisia. Hänen mukaansa parodioissa ja huumorissa ei ollut sinällään mitään vikaa ja Ganz toki ymmärsi, että meemivideoiden ansiosta hän oli nyt näyttelijänä ”tunnetumpi kuin koskaan”. Leikittely kuitenkin väistämättä pinnallistaa kohdettaan. Miten Hitler soveltuu parodioinnin lähteeksi. Hitler-videomeemien taustahistoria paljastaa, että diktaattorille naureskelulla on pitkät perinteet. Tosin YouTubessa julkaistiin kolmisen vuotta sitten lyhyt videohaastattelu, jossa Ganz sanoi ihailevansa harrastajien ”luovuutta”. Kriittisiä ajatuksia meemeistä Hitler-meemivideoihin liittyvää kritiikkiä ei voi kuitenkaan täysin sivuttaa
Top Gun aidolta näyttävä lännenmies kohotti aseensa pelaajaa kohti. Vaarallisin vastustaja kukistetaan tarinan huipennuksessa, lopun tiivistunnelmaisessa kaksintaistelussa. Elektroninen arcade-kulttuuri oli näiden mekaanisten laitteiden suoraa jatketta ja toisintoa: esimerkiksi lännen kaksintaistelut sekä reaktiopelit olivat tuttua tavaraa jo ennen mikropiiriaikaa. Kukapa ei olisi nähnyt lännenelokuvaa, jossa virnuilevan pahiksen pokerikäsi paljastuu sittenkin sankaria huonommaksi. Lännenteemoja muokattiin, rikastettiin ja kyseenalaistettiin elokuvissa yli puolen vuosisadan ajan ennen ensimmäisiä kotitietokoneita ja pelikonsoleita, joten tilaisuuden tullen valmista materiaalia oli tarjolla runsaasti. Revolverisankarien lisäksi toistuvia teemoja etenkin flippereissä olivat puolipukeiset intiaanineidot ja lehmitytöt. Flipperit ja pelihallit Viihteellistetty länsi on jo itsessään varsin pelimäinen: korttipelien ja ruletin ohella onnenpyörää ja yksikätistä rosvoa vilahtelee elokuvissakin. ARMOTTOMAT PIKSELIT: LÄNNENPELIEN JÄLJILLÄ Villin lännen teemalla on tuotettu massiivinen määrä populaarikulttuuria niin elokuvista iskelmiin kuin sarjakuviinkin, eivätkä pelit ole mikään poikkeus. 1960-luvun peleissä Mr. Quick Draw tai Mr. Pelit 2 1 5 . Taistelupari saattoi vertailla vetämisnopeuttaan reaktiokoneen äärellä tai yksittäinen pelaaja koetella kuntoisuuttaan luonnollisen kokoista sähkömekaanista mallinukkea vastaan. Eipä ihme, että vuoden 1973 Westworldelokuvassa fantasioitiin robottihahmojen ennen pitkää kapinoivan ihmisiä vastaan. Ensimmäiset varsinaiset pelihallit koostuivat huvipuistolaitteista ja mekaanisista peleistä. 4 16 V illi länsi oli vahvasti tuotteistettu fantasiamaailma jo 1900-luvulle tultaessa, sillä romantisoitua kirjallisuutta sekä showesityksiä oli tehty pitkään. Teksti: Tero Heikkinen ja Markku Reunanen Kuvat: Manu Pärssinen, Tero Heikkinen. Etenkin elokuvien kautta lyötiin lukkoon tunnetuimmat lännenkliseet: yksinäinen sankari puhdistaa pahiksen hallitseman, vellihousujen kansoittaman kaupungin, nitistää rikolliset ja poistuu voittajana paikalta. Lautapeleistä, huvipuistojen mekaanisista kaksintaisteluista ja flippereistä oli luonteva siirtyä bittimaailmaan, kun digitaaliset pelit alkoivat yleistyä kodeissa ja pelihalleissa 1970-luvun kuluessa. Rajaseudulla tarvittu mytologinen taituruus heijastui suoraan erilaisiin mekaanisiin peleihin – alkeellisia flippereitä sekä rahapelejä koristeltiin intiaanija rodeoteemoilla jo 1900-luvun alussa
Ratsastelua ja patsastelua 1980-luvulla kotitietokoneiden länkkäritoimintapelit olivat pitkälti tavanomaisen kaavan toisintoja westernkuorrutuksella. Villin lännen käyttäminen aiheena velvoitti kehittäjiä sisällyttämään peleihin jonkinlaisen ratsastusosuuden sekä pidättäytymään perinteisessä, tunnistettavassa asevalikoimassa revolvereineen ja Winchestereineen. Nämä kaksi seikkaa erottavatkin lännenpelien mekaniikan aikakauden tavallisemmasta Gunfightin varhaista väkivaltaa. ”Pelisarjaa” lämmiteltiin vielä 2012, kun monien käsien kautta kulkenut Atari julkaisi iLaitteille kosketusnäytön näpyttelyyn perustuvan räiskinnän. Etenkin Taiton Gunfightia kloonattiin kotikonsoleilla ja -tietokoneilla ahkerasti vielä pitkään 1980-luvun jälkipuolelle asti. Gunfightin Pong-historiasta kertoo osaltaan se, että nelikulmaiset luodit kimpoavat kentän yläja alareunasta. Lännenteemaa onkin usein istutettu aivan perinteisiin tasohyppelyihin – esimerkiksi monilla laitteilla nähdyt Lucky Luke -pelit tuntuvat järjestään varsin kaavamaisilta rahastuksilta. Sivuperspektiivi mahdollisti toiminnan kuvaamisen vieritetyssä panoraamassa, johon mahtuivat hevosratsastus, junan katolla hyppely ja monet muut vauhdikkaat kohtaukset. Laukkaa ratsu reima: Outlaws ja Express Raider.. 17 Digitaaliviihde laukkaa koteihin 1970-luvun ensimmäisten konsolipelien juuret ovat vastaavasti aikakauden kolikkopeleissä: Pong-klooneja markkinoitiin eri urheilulajeina tenniksestä jalkapalloon, ja pienillä muutoksilla sama mekaniikka sovitettiin myös eräänlaisiksi lännenpeleiksi. Nimen ja tunnusmusiikin osalta ratsastettiin elokuvaklassikko Sheriffin (High Noon, 1952) maineella, vaikka virallinen lisensointi olikin päässyt tekijöiltä unohtumaan, eikä elokuvan uraauurtavasta juonestakaan jäänyt paljoa jäljelle. Varhaisilla kotitietokoneilla nähtiin jonkin verran muitakin ruudinkäryisiä räiskintöjä, kuten Gunfright, jossa jahdataan isometrisessä kaupungissa lainsuojattomia, sekä reaktionopeutta testaavat Bank Panic -kloonit, joissa täytyy salamannopeasti arvioida, ketä ovistakävelijää sopii ampua. Kuusnelosella suosittu High Noon on sekin selkeä Gunfightin perinteen jatkaja arcademaisine ammuskeluineen, vaikka päähahmo ei olekaan enää jumissa näytön reunassa. Ruudun laidoilta toisiaan ampuvat tikku-ukot sopivatkin hyvin varhaisten laitteiden kyvyille, eikä kahden pelaajan mittelöön tarvinnut rakentaa edes tekoälyä. Pelihalleissa ja 2600-konsolillaan menestynyt Atari ei jättänyt tätäkään kiveä kääntämättä, vaan toi 1976 markkinoille Outlaw-räiskinnän. Monien muiden kolikkopelien tapaan Outlaw’sta tehtiin puolivillainen konsolikäännös, mutta hieman yllättäen pelimekaniikka kopioitiin suoraan Gunfightista eikä Atarin omasta pelistä. Sillä ei tosin ole aiempien osien kanssa juuri muuta tekemistä kuin nimi
4 18 scifi-räiskinnästä ja ramboilusta. 2 1 5 . Sierran Gold Rush! ja ZX Spectrumille tehty Kultakuume. Välillä täydennetään tarvikkeita kaupassa, toisinaan tienataan rahaa pokeripöydän ääressä. Pelistä tulee väistämättä mieleen klassinen Oregon Trail -pelisarja, jossa lännen tiellä kohdataan niin ikään vaaroja toisensa jälkeen. 1980-luvun alun uudet konesukupolvet mahdollistivat lännen rikkaan visuaalisen maailman sekä monimutkaisten juonikuvioiden yhdistelyn. Lännenseikkailut Tekstipohjaiset seikkailupelit toivat lännenteemoihin laajempia ulottuvuuksia räiskinnän ja toiminnan jäädessä taka-alalle. Wild Bunchissa sankari etsii käsiinsä rikollisjoukkoa etsintäkuulutusten antamien visuaalisten vihjeiden perusteella. Esimerkiksi pelihallikäännös Express Raider, Ultimaten vaatimattomaksi jäänyt Outlaws ja budjettipeli Kane sisältävät kaikki vauhdikasta ratsastamista. Kevyemmistä teoksista nostettakoon esiin kulttipeli North & South, joka perustuu belgialaiseen Sinitakitsarjakuvaan ja edustaa siten Lucky Luken tapaan eurooppalaista näkökulmaa. Leisure Suit Larrystä tunnetun Al Lowen Freddie Pharkas taas edustaa huumorilla höystettyä länttä, jossa nälvitään tuttuja kliseitä joka käänteessä. Viihdyttävä North & South ja SSI:n karumpi Gettysburg.. Sisällissodan melskeissä Yhdysvaltain sisällissota (1861–1865) toimii elokuvissa usein tapahtumien taustana, kuten Sergio Leonen spagettiklassikossa Hyvät, pahat ja rumat. Teema nousee muutenkin esiin vanhoina kaunoina, pohjoinen–etelävastakkainasetteluna sekä hahmojen motiiveja selittävänä tekijänä. Commodore 64:n Law of the West oli eräänlainen suunnannäyttäjä, vaikkei aivan seikkailupelien sarjaan yltänytkään. Vaikka toimintapelit tavoittivatkin Hollywood-stunttien tunnelmaa, palikkaisten hahmojen mittelöt olivat kaukana klassisten lännenelokuvien moraalisista ja yhteiskunnallisista pohdinnoista. Kaikki seikkailut eivät olleet puhtaasti tekstimuotoisia – esimerkiksi Spectrumin Wild Bunchia (ei sukua elokuvalle) ohjattiin monivalintakäskyillä. Sheriffi-elokuvasta ammentava yksinäinen päähahmo pyrkii ratkaisemaan tilanteita lähinnä monivalintakeskustelujen kautta. Digitaalinen länsi ei ollut enää välttämättä loputon ammuskelukohtaus, vaan tasapainotetumpi seikkailun ja toiminnan yhdistelmä. Arkaluontoisena aiheena sisällissota on näyttäytynyt peleissä lähes yksinomaan abstraktien ja puolueettomien strategiasimulaatioiden muodossa; etenkään vanhoissa toimintapeleissä sisällissotaa ei edes sivuttu. Harvoista kotimaisista seikkailuista mainittakoon tässä vähälle huomiolle jäänyt Kultakuume-tekstipeli Spectrumille sekä Sierralle ja LucasArtsille syvään kumartava Fester Mudd. Osaavan sanailijan ja aseenheiluttajan käsissä pankkiryöstäjät päätyvät hautaansa, henkipatot luopuvat aseistaan ja naisasiatkin saadaan kuntoon. Varsinaisista seikkailuista Sierran Gold Rush! on pikkutarkaksi yltyvä historiallinen kultaryntäyseepos, jossa päähuomio kohdistuu kultakentille matkustamiseen. Strategian raskaammasta päästä löytyy esimerkiksi SSI:n pelisarja, jossa sisällissodan ratkaisevat taistelut Antietamista Gettysburgiin käytiin Saman teeman parissa
Linkki: widerscreen.fi/numerot/2015-1-2/upon-time-screen-wild-west-computer-video-games/ Selän takaa kaksija kolmiulotteisesti: Law of the West ja Six-Guns.. Seuraavana vuonna laserdisc sai palvella myös Villin lännen tarpeita, kun Konami julkaisi konseptiltaan Dragon’s Lairin kanssa varsin samanlaisen reaktiotestin nimeltä Badlands. Skaalan kevyessä päässä on paljon sekalaisia pikkupelejä, joissa Villi länsi on lähinnä kuorrutuksena, ja toisessa päässä taas vakavia miljoonatuotantoja. Ihan kuin elokuvissa Lännenelokuvia soviteltiin vuorovaikutteiseen pelimuotoon niinkin varhain kuin 1974, kun Nintendo toi pelihalleihin Wild Gunmanin, jossa mutkikas kahta projektoria käyttävä mekanismi loihti ruudulle filmiltä aidonnäköisiä vastustajia. Selkeämmin Villiin länteen sijoittuva Outlaws (1997) oli vielä suhteellisen yksinkertainen Doomja Quake-vaikutteinen ammuskelu, ja vasta myöhemmät Red Dead Revolver sekä sen jatko-osa Redemption antoivat esimakua siitä, kuinka länttä parhaimmillaan voitaisiin simuloida. Aurinko ei laske Digitaalisten lännenpelien historia yltää vuosikymmenten taakse, ja aihe innoittaa pelintekijöitä edelleen. Massiiviset laserdiscit eivät valloittaneet koteja merkittävästi, mutta niiden perintö näkyy etenkin 1990-luvun huonomaineisissa CD-ROM-peleissä, joissa vuorovaikutteisuus oli samaten typistetty yksinkertaiseen klikkailuun. Ajan saatossa tietyt alalajit, kuten puhtaat kaksintaistelut, ovat menettäneet suosionsa, mutta toisaalta uudet innovaatiot multimediarompuista 3D-grafiikkaan on valjastettu lännenteeman käyttöön. Tunnetuimpia esimerkkejä formaattiloikan tehneistä peleistä on koominen Mad Dog McCree, joka käännettiin alkuperäisestä kolikkopelistä lukuisille CD-pohjaisille konsoleille ja myöhemmin muun muassa Nintendo Wiille. Yhdysvalloissa hiljattain leimahtanut kiista Etelävaltojen lipun käytöstä rasistisena symbolina kertoo siitä, kuinka pitkät jäljet 150 vuoden takaisilla tapahtumilla saattaa olla. 19 jo Apple II:n ja C-64:n valtakaudella. Riita kosketti pelialaakin, kun alati poliittisesti korrekti Apple poisti App Storestaan kaikki sovellukset, joissa lippu näkyi, mukaan lukien sisällissotaan sijoittuvat strategiapelit. Piirrettyyn western-animaatioon oli japanilaisille peleille ominaiseen tyyliin fuusioitu muitakin fantasiaelementtejä – ainakaan aivan perinteisimpään lännenkuvastoon ihmiseksi naamioituneet hirviöliskot ja kaksipäiset dinosaurukset eivät kuulu. Tuoretta näkökulmaa kentällä tuovat indie-pelit. Nyt, kun elokuvissa ja etenkin televisiosarjoissa on meneillään western-renessanssi, voidaan todeta, että lännenfiktio on tällä hetkellä taas hyvin voimissaan. Siten onkin perusteltua väittää, että lännenpelien genre on noussut uudelle tasolle viimeisimpien teosten myötä. Artikkeli perustuu samojen kirjoittajien tutkimusartikkeliin ”Once Upon a Time on the Screen – Wild West in Computer and Video Games”, joka julkaistiin WiderScreenverkkolehden Villi länsi -teemanumerossa 1/2015. Even Cowgirls Bleed ja Calamity Annie kääntävät perinteisen macho-kuvaston päälaelleen, siinä missä Gunman Clive leikittelee sarjakuvateemoilla. Nykykonsolien ja tietokoneiden 3D-grafiikalla voi luoda rikkaita hiekkalaatikkomaailmoja, joissa pelaajalle tarjoutuu mahdollisuus seikkailla lännessä haluamallaan tavalla. Pelilogiikan yksinkertaisuuden vuoksi pelistä saatiin tehtyä jopa DVD-soittimella toimiva versio, jota ohjaillaan kaukosäätimen nappeja painelemalla Kohti 3D-länttä Kolmiulotteinen vektorigrafiikka on monessa mielessä kuin luotu lännenpelejä varten: yksityiskohtaiset maisemat ja ampumiskohtausten vaatima tilallinen hahmottaminen voidaan toteuttaa 3D:n keinoin. Pelaaja voi osallistua tarinaan – tai halutessaan vain ratsastella ja räiskiä pyssyllä ympäriinsä. Siirtyminen kolmanteen ulottuvuuteen ei tapahtunut kuitenkaan aivan hetkessä. Hiekkalaatikkopelit kokoavat yhteen aiemmin erillisiä toimintapelien ja graafisten seikkailujen elementtejä, minkä lisäksi käsikirjoituksista on tullut mittavia ja monisäikeisiä. Vuorovaikutteisen elokuvan seuraavaa sukupolvea edustivat laserdisc-pelit, joista useimmat tunnistanevat ainakin Cinematronicsin sarjakuvamaisen Dragon’s Lairin (1983) jatko-osineen. Japanissa julkaistiin 1990-luvun loppupuolella löyhästi lännenteemoista ammentavia toimintaja roolipelejä, kuten Wild Arms -sarja, mutta puristia tällainen happofuusio ei tyydytä. 2000-luvulla sisällissotaa on hyödynnetty muun muassa History Channel -tuotteistettujen fps-räiskintöjen näyttämönä
Diabetes on vaarallinen tauti: liian korkeat sokerit kasvattavat elinvaurioiden riskiä, liian matalat voivat viedä tajunnan tai jopa hengen. 4 20 D iabetes on joukko haiman vajaatoiminnan sairauksia, joissa verensokeri kohoaa normaalia korkeammaksi. Vastaanotin on pienen mp3-soittimen näköinen laite, jonka näytölle piirtyy muutaman minuutin välein saaduista Lähes puoli miljoonaa suomalaista sairastaa diabetesta, osa tietämättään. Tässä artikkelissa teemme katsauksen teknologiaan diabeetikoiden oman hoidon apuna. Anturiin kiinnitetään lähetin, joka lähettää datan vastaanottimelle. Biotekniikka omahoidon perustana Ilman verensokerin mittausta diabeetikon omahoito olisi kuin autolla ajo silmät kiinni – tuurilla voi pysyä ainakin melkein omalla kaistalla, mutta holtiton eteneminen kostautuu ennemmin tai myöhemmin. Mittaus perustuu sormenpäästä otettuun verinäytteeseen ja mittaliuskassa tapahtuvaan glukoosioksidaasitai glukoosidehydrogenaasientsyymireaktioon – siis yksinkertaisemmin sanottuna sähkövirran muutokseen. Diabeetikko seuraa verensokereiden käyttäytymistä ja säätelee niitä lääkityksellä ja ravinnolla, tasapainoillen matalan ja korkean verensokerin välillä. Softa, rauta ja open source mullistavat diabeteksen hoitoa – välillä kapinahengessä. Toinen verensokerin seurantaan käytetty laite on glukoosisensori. Diabeteksen hoidossa suuren osa hoitopäätöksistä tekee diabeetikko itse. Sähkökemiallisesta reaktiosta johdetaan verensokerimittarilla numeroarvo, jonka yksikkö on mmol/l. Eniten on tyypin 2 diabeetikoita, he tarvitsevat hoitoa ja seurantaa vähemmän. 2 1 5 . Teksti: Mika Haulo Kuvat: Tapio Lehtimäki, Mika Haulo Tekniikka TEKNOLOGIA DIABEETIKON APUNA. Yksi diabeetikon tärkeimmistä apuvälineistä onkin verensokerimittari kertakäyttöisine mittaliuskoineen. Anturi on ihon alle rasvakudokseen – tyypillisesti vatsan seudulle tai käsivarteen – asettuva ohut lanka, joka mittaa sokeritasoa. Diabetestyypeistä sanottakoon sen verran, että aktiivisemmin erilaisia omahoidon välineitä käyttävät niin sanotut tyypin 1 diabeetikot, joilla elimistö ei tuota lainkaan verensokeria laskevaa insuliinia, vaan verensokerin säätely on täysin diabeetikon itsensä käsissä. Se koostuu kolmesta osasta: anturi, lähetin ja vastaanotin
21 Sokeriseuranta-verkkopalvelun päiväkirjanäkymä. Tässä tapauksessa verensokerit ovat pysyneet aisoissa kohtuullisesti – liikuntasuorituksena Pirkan Pyöräily (217 km). Diabeetikon laukun tyhjennys: Verensokerimittareita, glukoosisensoreita ja insuliinin annostelijoita tarvikkeineen.
Siksi pumpun letku täytyy irrottaa nousun ja laskun ajaksi. Insuliinipumppu – uuden ajan taskunauris Elintärkeää insuliinia voidaan annostella ruiskulla, insuliinikynällä tai -pumpulla. Tällaisesta toiminnosta on hyötyä esimerkiksi pitsaa syödessä, tuhdin aterian verensokeria nostavat hiilihydraatit kun imeytyvät hitaasti. Tuolloin verensokeri pyrkii tyypillisesti nousemaan. Näistä insuliinipumppu on teknisestä näkökulmasta mielenkiintoisin. Ei kuitenkaan ole muodostunut yhteistä standardia, jonka avulla eri laitteet ja ohjelmistot olisivat keskenään yhteensopivia. Insuliinia on pystyttävä pumppaamaan ennalta määrätyn ohjelman mukaisesti ja äärimmäisen tarkasti. Vaikka verensokerin mittaus on nykyvehkeillä äärimmäisen helppoa, ei mittaustulosten tarkastelu jälkikäteen yksittäisinä numeroina mittarista tai muistivihkosta ole. Teknologia on periaatteessa olemassa: tarvitaan keino tarkkailla verensokeritasoa jatkuvasti (glukoosisensori), väline joko insuliinin tai verensokeria nostavan hormonin glukagonin annosteluun (pumppu) ja keinoäly joka tekee päätöksen verensokeritason säätelystä (minikokoinen tietokone tai älykännykkä). Ohjelmistot kertovat hoidon onnistumisesta Tyypillisen verensokerimittarin näyttö on pieni yksivärinen LCD. Tyypillisellä diabetesohjelmalla voi kirjata muistiin verensokeriarvot, insuliiniannokset, ja aterioiden hiilihydraattimäärät. 2 1 5 . Vaikka toimivia keinohaimaprototyyppejä on rakennettu, yleiseen käyttöön niitä ei vielä ole odotettavissa. Vastaanotin toimii samalla koko sensorijärjestelmän käyttöliittymänä. Tulevaisuuden kehitysaskel on keinohaima – nykyaikainen diabeteksen omahoito pyrkii jäljittelemään terveen haiman toimintaa, visioissa tämä automatisoitaisiin. Miljoonien diabeetikoiden erilaiset päivärytmit, ruokailuja liikuntatottumukset sekä taudinkuvat ovat haastava yhtälö. Nykyään vastaanotin voi olla myös älykännykkä – markkinoilla on sensori, joka lähettää tiedot Bluetoothyhteydellä. Lähes kaikilla mittarivalmistajilla on nykyisin jonkinlainen diabetesohjelmisto. Insuliinin annostelua voidaan ohjelmoida pumppuun monin eri tavoin, esimerkiksi annostelemaan insuliinia aamun ja aamuyön tunteina tavallista enemmän. 4 22 verensokeriarvoista havainnollinen kuvaaja. Tiedot syötetään joko käsin tai luetaan Nightscoutin käyttöliittymä on yksinkertaisen tehokas: verensokerin nykyinen arvo, historia muutaman tunnin ajalta sekä arvio verensokerin suunnasta seuraavalle puolelle tunnille.. Aterioiden yhteydessä otettava insuliini taas voidaan säätää annosteltavaksi esimerkiksi kahden tunnin aikana. Hyväksyttävän poikkeuksen muodostaa lentokoneen nousu ja lasku, jolloin ilmanpaineen muutokset voivat saada insuliinin liikkeelle diabeetikon haluamatta. Uusimmat insuliinipumput osaavat kuitenkin jo ennakoivasti katkaista insuliinin annostelun tietyissä tilanteissa. Se on mikrotietokone, joka pumppaa säiliöstään insuliinia letkuun ja sitä kautta edelleen diabeetikon kudoksiin. Monipuolisemmat appsit kirjaavat myös tietoja liikunnasta, mielialasta, pistospaikkojen käytöstä. Siksi tulokset siirretään yhä useammin tietokoneohjelmaan, mobiililaitteeseen tai verkkopalveluun, jossa näyttöpinta-alaa ja laskentatehoa riittää numeroiden havainnollistamiseen. Lisäksi on kolmansien osapuolien ohjelmia, esimerkiksi kotimainen Mendor Balance ja ruotsalainen Diasend, jotka ovat yhteensopivia useiden eri mittareiden kanssa. Tarvittavasta tarkkuudesta kertoo jotain se, että normaalipainoisen aikuisen päivässä tarvitsema insuliinimäärä on vain noin puoli millilitraa. Jotkin mittarit keskustelevat kuitenkin Applen HealthKitja Samsungin S Health -rajapintojen kanssa
Tuore brittiläinen tulokas Glucosense kehittää laseriin perustuvaa ei-invasiivista verensokerin mittausta. Sen sijaan että diabeetikko käy vastaanotolla muutaman kuukauden välein, mittaustulokset välittyvät hoitohenkilökunnalle verkossa ja vastaanotolle kutsuttaisiin vain tarpeesta. Nightscout on myös poikinut muita johdannaisprojekteja: Wixel-piiriin perustuva xDrip sieppaa suoraan glukoosisensorin lähettimen signaalin ja ohittaa virallisen vastaanottimen kokonaan. xDrip on yhteensopiva Nightscout-palvelimen kanssa. Nyt kehitystyö on siinä pisteessä, että yhden miehen resurssit eivät enää riitä kaikkeen tarvittavaan. Yhdysvaltalainen diabeetikon isä päätti koodata yksinkertaisen kännykkäsovelluksen, joka luki tiedot lapsen glukoosisensorista ja lähetti ne verkkopalvelimelle, jonka kautta vanhemmat pystyivät tarkkailemaan lukemia. Piuha kiinni mittariin, toinen pää kännykkään ja mittaustiedot tallentuvat verkkoon automaattisesti – muutaman kymmenen koodirivin avulla diabeetikon elämästä on tullut taas hieman helpompaa. Myös 3G, NFC ja Bluetooth Smart tekevät tuloaan verensokerimittareihin. Moderni teknologia mahdollistaa myös uudentyyppisen vertaistuen: Kun joukko suomalaisia ykköstyypin diabeetikoita kyllästyi olemaan diabetes-keskustelun vähemmistössä, he perustivat verkossa toimivan Diabetesseura Plasma ry:n. Suosituimmassa ykköstyypin diabeetikoille suunnatussa ryhmässä on jo yli tuhat jäsentä ja keskustelu käy vilkkaana päivittäin. Ihmisten apua on toki aikaisemminkin löytynyt verkosta. io/xDrip/ • OpenAPS – openaps.org & github.com/openaps/openaps • iLet Bionic Pancreas – sites.bu.edu/bionicpancreas/ • Diabetesseura Plasma – www.plasma.fi • Suomalainen keinohaimaprojekti – www.femma5.com. Palvelinpuolen lisäksi tarvittaisiin pilvipalvelun kanssa juttelevat natiivisovellukset ainakin Androidille ja iOS:lle, ehkä myös Windows Phonelle ja Jollalle. Jatkuva kiire. Ensimmäisenä kaavaillaan Sokeriseurannan Android-appsin koodin avaamista, tämän artikkelin julkaisun aikoihin. Tutkijoiden mukaan väliaikaisen tatuoinnin avulla on mahdollista analysoida solunesteestä käsin muutakin kuin vain sokeriarvoja. Se erottuu muista diabetessovelluksista irtaantumalla perinteisestä kirjausmallista, jossa verensokeria mitataan vain muutaman kerran päivässä: ennen aterioita ja kaksi tuntia aterioiden jälkeen. Parissa vuodessa Nightscout on kasvanut tuhansien perheiden ja diabeetikoiden päivittäiseksi apuvälineeksi, jolle on perustettu jopa säätiö. Kaikki alkoi artikkelin kirjoittajan omaksi iloksi tekemästä harrasteluprojektista. Rivikaupalla dokumentoimatonta koodia. 23 suoraan laitteista – verensokerimittareista ja -sensoreista tyypillisesti usbtai usb-serial-yhteyden kautta, joskus saatetaan käyttää infrapunaporttia. Hyposprayta odotellessa Ei-invasiivista verensokerin mittausta, jossa ihoa ei tarvitse puhkaista esimerkiksi verinäytteen ottamista varten, on yritetty jo pitkään saada toimimaan – toistaiseksi ilman kunnollista menestystä. Sokeriseurannan lähtökohtana on se, että verensokeria kannattaa seurata huomattavasti tiheämpään. Pilvipalveluista voidaan tuoda tietoja REST-rajapintojen ylitse. Oma lukunsa ovat hoitohenkilökuntaan yhteydessä olevat mittarit ja palvelut. Kun yhä useampi diabeetikko kiinnostui Sokeriseurannasta, alkoi siitä asteittain tulla vakavammin otettava hanke. Kenties tulevaisuuden diabeetikon tunnistaakin diabetesrannekkeen sijaan viileästä tatskasta. Sokeriseuranta-diabetesmuistio on kotimainen tee-se-itse-pilvipalvelu verensokerin kirjaamiseen ja analysointiin. ”Me emme suostu odottamaan” Terveysteknologiaan liittyy ymmärrettävästi paljon sääntelyä, eikä puolivillaisia viritelmiä lasketa markkinoille, mikä hidastaa kehitystä. Kotimainen vastaus huutoon Suomessakin tapahtuu. Myös teknologiajätti Google on ryhtynyt etsimään ratkaisuja diabetesongelmiin verensokeria mittaavien piilolinssien muodossa. Tätä on jo pilotoitu. Sokeriseurannasta avointa lähdekoodia. Ei palkkaa. Projekti on synnyttänyt #WeAreNotWaiting-hashtagin tunnuksena omatoimisuuden ja avoimen lähdekoodin voimalle diabeteksen hoidossa. Paljon työtä. Pilvipalvelun lisäksi Sokeriseurannasta on julkaistu Android-sovellus, joka osaa lukea dataa verensokerimittareista tiedonsiirtokaapelin avulla. Nightscout on malliesimerkki tällaisesta tee-se-itse-projektista. Tee-se-itse-mentaliteetti on edennyt myös keinohaimojen suuntaan, OpenAPS-projektin (Open Artificial Pancreas System) tarkoituksena on luoda avoimen toteutuksen keinohaima. Aika, energia ja taidot eivät yksinkertaisesti riitä tähän kaikkeen – kenties ongelmat ratkeaisivat tekemällä Sokeriseurannasta avoimen lähdekoodin projektin. Perinteikäs Suomen Diabetesliitto ylläpitää omaa Kohtauspaikka-foorumiaan ja Facebookissa on useita diabetesaiheisia vertaistukiryhmiä. Koska Nightscout-systeemi vaatii sensorin vastaanottimen ja kännykän kuljettamista mukana, on sille kehitetty myös koteloita – kuinkas muutenkaan kuin 3D-tulostamalla. Kalifornian yliopistossa puolestaan tutkitaan eräänlaista tulostettua sensoritatuointia, joka pienellä testiryhmällä on osoittautunut tarkaksi tavaksi mitata verensokeria. Jos hanke menestyy, luvassa mainetta ja kunniaa. Aina käyttävät eivät kuitenkaan suostu odottelemaan validoitujen ratkaisujen ja virallisen terveydenhuollon verkkaista tahtia. Lisätietoja: www.sokeriseuranta.fi Diabetesprojekteja • Nightscout – www.nightscout.info & github.com/nightscout • Sokeriseuranta – www.sokeriseuranta.fi • xDrip – stephenblackwasalreadytaken.github. Etsitään tekijöitä mielenkiintoiseen ohjelmistoprojektiin. Monet diabeetikot kokevatkin saavansa parasta tukea juuri muilta diabeetikoilta. Yhdistys pyrkii hyödyntämään viimeisintä sosiaalista mediaa ja muuta nykyaikaista tietotekniikkaa nimenomaan tyypin 1 diabeteksen omahoitoon
2 1 5 . 4 24 Kulttuuri Internetin hallintomallit Internet on ainutlaatuinen hallintomallien laboratorio, jossa toimivat vierekkäin diktatuuri, anarkia ja suora demokratia. Teksti: Panu Kalliokoski Kuvat: Tapio Lehtimäki, Mikko Torvinen. Miten valta jakautuu netissä ja mikä on tekniikan rooli
Jos käytän jonkun muun hallinnoimaa palvelua, en pysty lähtökohtaisesti vaikuttamaan mitenkään siihen, miten tuo palvelu toimii ja kehittyy. Jos olen 3 Käytännössä koko Internetin tekniset käytännöt on luettavissa RFC-dokumenteista esim. Internet koostuu palvelimista, jotka tarjoavat erilaisia palveluita, ja verkosta, joka välittää liikennettä. Etenemme yksittäisen palveluntuottajan vapauksiin, pohdimme hiukan niiden rajoituksia ja sitten katsomme, miten verkkoyhteisöt toimivat. Missä kulkevat vapautemme rajat. 2 Perinteiset IPv4-osoitteet ovat tosin loppuneet jo kesken: elämme jännittäviä aikoja. Palvelimet ovat yksityinen resurssi, ja niitä hallinnoidaan yksityisesti. Netin luomista ovat toisaalta ohjanneet idealistiset visiot siitä, mitä kaikkea hyvää sillä saadaan aikaan. savetheinternet.com/net-neutrality-whatyou-need-know-now. Palvelimet ovat siis lähtökohtaisesti ylläpitäjiensä diktatuureja: palvelimen haltija määrittää, millaisia palveluita se tarjoaa ja miten se reagoi muiden yhteydenottoihin. Tämä netin perusopetus, että jakamalla muille vapauksia tulee itsekin vahvemmaksi, toistuu uudestaan ja uudestaan netin eri osissa, esimerkiksi yksittäisissä palveluissa, päätöselinten toiminnassa ja uusien yhteistyöalustojen suunnittelussa. Palaamme aiheeseen verkkoyhteisöjä käsittelevässä osiossa. Verkon eri osat ovat yksityisten toimijoiden hallussa, mutta niiden sääntöjä hallitsevat verkkoyhtiöiden väliset sopimukset, maiden väliset sopimukset ja eri maiden kansallinen lainsäädäntö. sivulta: www.rfc-editor.org/rfc-index.html.. 3 Lukemattomilla järjestelyillä on siis pyritty luomaan yhteinen leikkikenttä, johon voi perustaa pieniä diktatuureja ja jossa kukaan ei pääse liikaa lyömään toista. Syyt ovat sekä ideologisia että käytännöllisiä. Saat esimerkiksi lähettää videon palvelimelle, jos pystyt, mutta toisella käyttäjällä on yhtäläinen vapaus häiriköidä liikennettäsi, tai videopalvelun ylläpitäjällä on oikeus estää pääsysi palvelimelle. Yllättävän harvat käyttäjät ovat tietoisia tästä. Aloitamme perussäännöistä ja netin taustalla olevista sopimuksista. On tosin palvelun tarjoajan vastuulla jotenkin saattaa muiden tietoon, missä palvelu on saatavilla ja miten sitä käytetään. Miksi ihmeessä näin vapaa järjestelmä. Toisaalta myös netin vapaus saatetaan ottaa annettuna ja ymmärtämättä, etteivät netin perustoiminnan takaavat sopimukset ole itsestäänselvyyksiä. Lopuksi palaamme siihen, mitä netin hallinnosta voi oppia. Tämä on hyvin erilainen tilanne kuin fyysisessä maailmassa, jossa esimerkiksi matkustusvapautta on tukemassa oikeus vapaaseen liikkuvuuteen: matkantekoasi tahallisesti häiritsevä ihminen voidaan oikeasti panna aisoihin ja saattaa vastuuseen aiheuttamastaan haitasta. Tässä artikkelissa tarkastelen sitä, miten netin vapaudet, rajoitukset ja valta muodostuvat. Netin perusluonne syntyy siitä, että kaikki valta netin sisällöstä on delegoitu sen käyttäjille itselleen. Miten netissä on saatu delegoiduksi näin paljon valtaa. Vaikka netin käyttäjällä on paljon vapauksia, niistä vain harvat ovat oikeuksia. Kuka tahansa, jolla ylipäänsä on nettiyhteys ja tietokone, voi julkaista palvelun, koska mikä tahansa netissä oleva kone voi ottaa yhteyden mihin tahansa muuhun julkisessa netissä olevaan koneeseen. Periaatteita on puolustettu raivoisasti viimeksi vuonna 2014: www. Ensinnäkin, kaikkea ei pysty tekemään. Verkkoyhtiö ei saa lähtökohtaisesti suosia eikä estää liikennettä sisällön perusteella, ei häiritä eikä estää kilpailijoidensa tuotteiden toimintaa ja niin edelleen. Joskus on vaikeaa muistaa, että netissäkin on rajoituksia. Edelleen hyvin pienillä taloudellisilla panostuksilla voi luoda nettiin omia palveluitaan ja julkaista omia viestejään, jotka voivat muuttaa maailmaa – tai sitten vajota netin äärettömään mereen ja unohtua. Tee mitä vain, mihin pystyt Aloitetaan lähtökohdista. 1 Verkon toiminnassa on muitakin yhteisiä resursseja kuin liikenteenvälitys, jonka hallinto on melko tiukasti pidetty hajautettuna ja kaikille tasapuolisena. Tällä hetkellä voin asetusten avulla kertoa Googlelle, miten tietojani saa käyttää, mutta Google voi lakata noudattamasta asetuksiani milloin vain. Käyttämäni nettipalvelu tai foorumi voi lakata toimimasta, ja tämä voi johtua yhtä hyvin siitä, ettei sen ylläpitäjä jaksa tukea käyttämääni yhteystapaa, kuin siitä, että minulla sattuu olemaan ylläpitäjän mielestä ruma naama, väärät mielipiteet tai kilpaileva tuote. En myöskään mahda mitään sille, että Facebook sensuroi kaikki ilmiannetut imetyskuvat, enkä sille, että rakkausrunot.fi sensuroi runot, joissa käytetään tuhmia sanoja. Yksityisten palveluiden yhteinen verkko Vaikka palvelut ovat yksityisiä, niitä yhdistävä verkko on yhteinen resurssi. Mitkä ovat ne tärkeät perussäännöt, joihin kaikki muut netin säännöt perustuvat. Ero on huomattava verrattuna esimerkiksi radioasemiin, joiden perustamiseksi tarvitaan kalliita laitteita ja lisäksi kansalliselta viranomaiselta lupa lähettää ohjelmaa tietyllä taajuudella. Verkko-osoitteet (sellaiset kuin 83.143.218.2), joiden perusteella koneisiin otetaan yhteyttä, jaetaan nettioperaattoreille tarpeen mukaan. Verkon standardit kirjoitetaan ”tiedoksi” RFC-tiedostoihin, ja niitä voi noudattaa, jos huvittaa 1 Näitä periaatteita kutsutaan yhteisellä nimellä ”net neutrality”, ja ne on dokumentoitu osoitteessa www.fcc.gov/ openinternet. Sopimusten olennainen sisältö on, että verkossa pitää kohdella kaikkea (laillista) liikennettä tasavertaisesti. Toisaalta kyseessä on yksinkertaisesti kilpailuetu: syntyvaiheissaan Internet oli vain yksi monista kilpailevista teknologioista ja se peittosi kaikki muut ennen kaikkea siksi, että siihen oli niin helppoa päästä mukaan. 25 I nternet lienee edelleen maailman säätelemättömin ja vapain yhteistoiminnan väline, vaikka villien 1990-luvun lopun vuosien jälkeen moni asia onkin muuttunut. Vapauden rajat Sinä päätät, mitä teet omalla koneellasi, ja minä päätän, mitä teen omallani. ja jos haluaa olla yhteensopiva muiden toimijoiden kanssa. 2 Verkkonimet kuten skrolli.fi delegoidaan hierarkkisesti eri toimijoille: esimerkiksi .fi-nimiä jakaa Suomen viestintävirasto, Ficora
Kolmas ja ehkä mielenkiintoisin voima, joka rajoittaa tekemisiäni, on muiden käyttäjien reaktiot. Yhdysvalloissa ja muissakin länsimaissa on vaarallista perustaa palvelua, johon käyttäjät voivat lähettää tiedostoja toisten ladattaviksi, koska on aina vaara, että tekijänoikeusjärjestöt haastavat ylläpitäjän oikeuteen varoittavana esimerkkinä – ja korvausvaatimukset voivat olla aivan mielikuvituksellisia. Kun vakavasti yrittää saada jotain näkyvää aikaan, altistuu erilaisille intressiristiriidoille tai jopa vastahyökkäyksille. 2 1 5 . Vapaus netissä on siksi hyvin rikkoutuva asia. Harvat haluavat kehittää avointa ohjelmistoa, jos sen vastuutaho ottaa koodia ja ideoita vastaan mielivaltaisesti tai on muuten hankala. 4 26 poliittisesti aktiivinen diktatuurivaltiossa, en voi estää isoja nettifirmoja myymästä keräämiään tietojani maani tiedustelupalvelulle. Diktatuurista anarkiaan Netissä diktatuurit eivät ole niin pahoja kuin fyysisessä maailmassa, koska ne eivät vie tilaa keneltäkään eikä ke. Käyttäjät kaikkoavat palveluista, jotka eivät palvele käyttäjiään, eikä riitaisan työryhmän tehtävänä oleva standardi valmistu koskaan. Netin tasa-arvoperiaatteet kyllä suojaavat mutteivät rajattomasti. Ihmiset häviävät nopeasti foorumeilta, joita pidetään yllä huonosti, epäoikeudenmukaisesti tai läpinäkymättömästi. Palveluita voidaan sulkea joko uhkaamalla oikeusjutulla palvelimen tarjoavaa yritystä palvelimen sijaintimaassa tai palvelimen ylläpitäjää tämän oleskelumaassa. Toisaalta tietyt tekoni ovat rajoitettuja siksi, että niistä voi aiheutua minulle haittaa netin ulkopuolella. Niin kauan kuin ei yritä saada mitään aikaan, voi aivan rauhassa olla saamatta mitään aikaan. Oikeustoimet voivat ulottua myös palvelun sidosryhmiin, koska palvelun ylläpitäjä voidaan pakottaa paljastamaan palvelun käyttäjien tietoja
Edelleenkin tämä perusratkaisu vaikeuttaa toivotun sähköpostin erottamista ei-toivotusta. Anarkistisissakin palveluissa on kuitenkin usein yksi hallinnointitaho, jolla on paljon sanottavaa palvelun kehityssuuntiin: kehittäjät, jotka ovat tehneet palvelun pyörittämiseen tarvittavan ohjelmiston. Aidompi tapa osallistaa muita käyttäjiä on ottaa heidät mukaan palvelun todelliseen päätöksentekoon. Erilaisista hallintomalleista on kertynyt paljon kokemusta, joten ideoita on runsaasti tarjolla: esimerkiksi äänestykset, seuraajanimitykset tai erilaiset kriteeristöt, mitä erityisoikeutetuilta käyttäjiltä edellytetään. Vasta kun palvelun taustaohjelmistoissa on useita keskenään kilpailevia toteutuksia, voidaan puhua tosissaan hajautetusta tai anarkistisesta palvelusta. Anarkistiset palvelut on rakennettu siten hajautetuiksi, että ne koostuvat monien osapuolten yhteistoiminnasta eikä kukaan yksittäinen osapuoli pysty tekemään palvelulle muuta kuin lakata osallistumasta siihen. Mutta teknisen avaamisenkin voi tehdä peruuttamattomalla tavalla, jolloin palveluiden hallintomallista tulee anarkistinen. Netin mielenkiintoinen erityispiirre on anarkioiden suuri määrä. Tämä fyysisestä maailmasta lainattu toimintamalli saattaa tuntua raskaalta tai byrokraattiselta, mutta nimenomaan netissä sen käynnistäminen on hyvin helppoa. Modernimpi esimerkki anarkistisesta palvelusta on kryptovaluutta Bitcoin: valuutan kirjanpito hoidetaan verkkoliikenteellä mutta hajautetulla tavalla niin, ettei yksittäinen toimija pysty helposti häiritsemään järjestelmän toimintaa. Vaikka yhteiskunnan käytössä sähköisten äänestysten kokeilut ovat onnistuneet heikosti, verkkoyhteisöissä on onnistuttu luomaan äänestyskäytäntöjä, joita on. Anarkistisen palvelun toimintatapaa on hyvin vaikeaa muuttaa perustamisvaiheen jälkeen, mikä altistaa sen väärinkäytölle. Viestejä ei säädellä mitenkään, joten esimerkiksi viestin lähettäjäksi voi asettaa kenet tahansa. Samalla kun netti on tehnyt ennenkuulumattoman helpoksi perustaa uusia palveluita, on ensimmäisiä kertoja maailmanhistoriassa mahdollista järjestää äänestyksiä nopeasti, tehokkaasti ja toistettavasti. Sähköposti rakennettiin oletukselle, että kuka tahansa voi lähettää millai4 Maailman ensimmäinen wiki on osoitteessa c2.com/cgi/wiki, ja toinen samanlainen varhainen kokeilu on everything2.com/. Kun ohjelmistoa päivitetään, sen kehittäjillä on huomattava valta siihen, mihin suuntaan palvelu kehittyy. sen viestin tahansa. Teknisesti avattu diktatuuri on vähän kuin maailma, jossa on yksi jumala (ylläpitäjä) mutta asukkailla vapaa tahto. Käyttäjät ovat pohjimmiltaan palvelun vaikutusvallan mitta: mitä enemmän käyttäjiä palvelulla on, sitä useampi sitä yleensä haluaa käyttää ja sitä vaikeampi sitä on korvata toisella palvelulla. Blogien kommentointimekanismit, tietoa vastaanottavat automaatit, wikit sekä muut kaikkien muokattavissa olevat verkkosivut ovat tästä hyviä esimerkkejä. Käyttöehtosopimukset tarjoavat yleensä varsinkin maksamattomille asiakkaille hyvin heikot oikeudet, mutta suurin osa netin käyttäjistä ei niistä juuri tiedä tai välitä. Jos alkuvaiheessa ei otettu huomioon, miten palvelua voi hyödyntää vääriin tarkoituksiin, palvelun hyväksikäyttö saattaa tehdä siitä alkuperäisille käyttäjilleen lähes käyttökelvottoman. Esimerkiksi webbifoorumeita edeltäneet Usenetkeskusteluryhmät toimivat tällä tavalla: kaikki Usenet-verkostoon kuuluvat palvelimet kopioivat kaikki haluamansa artikkelit muilta Usenet-palvelimilta ja lähettivät vastaavasti muille ne artikkelit, jotka nämä suostuivat ottamaan vastaan. 27 nenkään ole pakko olla niiden kanssa tekemisissä. Palveluiden ylläpitäjät kuitenkin rajoittavat usein omaa valtaansa saadakseen palvelulleen käyttäjiä. Näissä maailmoissa on usein kirjoittamattomia sääntöjä, jotka opitaan esimerkin kautta kokeneemmilta käyttäjiltä. Varsinkin kaupalliset palvelut suosivat sopimuksia ja ehtoja, joilla he lupaavat käyttäjille jotain mutta myös rajoittavat omaa oikeudellista vastuutaan, jos käyttäjät suivaantuvat jostakin. 4 Moni käyttäjä luottaa siihen, että kun palvelu on teknisillä keinoilla rakennettu sallivaksi, se myös pysyy sellaisena. Ylläpitäjä voi houkutella käyttäjiä palveluunsa esimerkiksi siten, että antaa heille vaikutusmahdollisuuksia palvelun sisältöön. Usenetin luonteen vuoksi keskusteluryhmiin postitusta on hyvin vaikeaa estää ja niiden sisältöä lähes mahdotonta hallita. Diktatuurista demokratiaan Eräs tapa yhteishallintoon on käyttöehtosopimuksilla (EULA) muille jaetut oikeudet. Käytännössä ei tarvitse muuta kuin dokumentoida, miten palvelua hallinnoidaan, ja jaella palvelun ylläpito-oikeuksia muille tahoille. Tunnetuin esimerkki on tietysti sähköpostiliikenne, josta eri arvioiden mukaan 50–90 % on roskapostia
2 1 5 . Tällaisia asioita voitte tehdä.” Sitten odotellaan, mitä tapahtuu – jos mitään. Joskus kuitenkin palvelu on toteutettu siten, ettei palvelun alkuperäinen tuottaja voi täysin hallita palvelun käyttäjien luomia mikrokosmoksia. Tämä näkyy netissä mutta aivan yhtä lailla fyysisen maailman yhteisöissä ja organisaatioissa.. Se on sitä, että rakentaa palvelun tai ohjelmiston, dokumentoi sen käyttötavan ja sanoo ihmisille: ”Katsokaa, näin se toimii. Mukanaolo päätöksenteossa saattaa sitouttaa käyttäjät palveluihin ja niihin perustuviin hankkeisiin. Debian GNU/ Linux -käyttöjärjestelmäprojektissa on noin tuhat ”kansalaista”, joiden äänestyksistä on saatu toistettavia ja koneellisesti käsiteltäviä. Debianin äänestykset eivät kuitenkaan ole nimettömiä, joten niitä ei voi sellaisenaan soveltaa valtioiden käyttöön. Netin keskeinen opetus on tähän mennessä ollut se, ettei suuria asioita voi tehdä yksin. Entä sitten. 4 28 vaikeaa manipuloida. Moni lupaava yhteistyöprojekti on kaatunut vallan keskittymiseen liian harvoille, harvempi siihen, että päätöksentekoprosessit ovat liian raskaita. Jos vielä pelin ohjelmisto on avointa lähdekoodia ja julkaistu sallivalla lisenssillä, saattaa koko pelijärjestelmä alkaa elää omaa elämäänsä alkuperäisestä tekijästä riippumattomasti. Netissä asiat tapahtuvat niin nopeasti, että tämän ehtii nähdä elinaikanaan. Sekä suljetut että avoimet alustat tuottavat valtavia ekosysteemeitä, joissa käyttäjät mainostavat ylläpitämiään palveluita, kutsuvat muita käyttäjiä omiin mikromaailmoihinsa ja panevat tolkuttomia määriä työtä ja energiaa tuottaakseen uusia palveluita muiden kehittämillä alustoilla. Diktatuurista hierarkkisiin delegointeihin Kun netti alkoi herättää suurten massojen huomion 1990-luvun puolivälissä, alkoi syventyä myös kuilu teknisten ja ei-teknisten käyttäjien välillä. Yhteistyö ei kuitenkaan aina tarkoita, että istutaan yhteen pöytään (edes virtuaaliseen pöytään) ja aletaan keskustella asioista. Tässä ei tietenkään ole olennaisesti mitään eroa siihen, että palvelussa on vain annettu käyttäjille teknisiä keinoja vaikuttaa sisältöön tai toimintaan. Demokraattisia (kuten anarkistisiakin) yhteisöjä toisaalta vaivaa joskus kiistely ja siitä aiheutuvat sosiaaliset ongelmat. Tästä syntyy tarve palveluille, joissa ei-teknisetkin käyttäjät pystyvät luomaan pienoisdiktatuureja omiin tarkoituksiinsa: oma blogi blogipalvelussa, oma maailma nettipelissä, tiedostojen jakamisasetukset pilvipalvelussa jne. Sama kuilu on olemassa edelleenkin. Vaikka kaikilla käyttäjillä on periaatteessa mahdollisuus perustaa mitä vain palveluita, huima enemmistö netin käyttäjistä ei vain yksinkertaisesti osaa sitä tehdä. Joskus on helpompaa vain antaa diktaattorin ratkaista ristiriidat parhaaksi näkemällään tavalla. Kun tuottaa uusia asioita, alkuvaiheessa tarvitaan innostusta ja kykyä vakuuttaa muut omista visioista, mutta kun hanke kasvaa, tarvitaan muiden osallistamista ja pitkän aikavälin suunnittelua. Esimerkiksi verkkopeli toimii yleensä siten, että yksi käyttäjistä jakaa pelimaailman omalta koneeltaan, jolloin maailman tiedot todella ovat täysin tuon käyttäjän hallussa. Kun käyttäjät saavat peruuttamattoman vallan omiin tuotoksiinsa, se voi osallistaa heidät jopa tehokkaamminkin kuin pelkkä mukanaolo päätöksenteossa. Uusi yhteistyötapa on välineiden ja vaikutusmahdollisuuksien jakaminen ihmisille. Toisaalta on vaikeaa olla diktaattori niin, ettei lopulta söisi yhteisöä sisältä, kun vahingossa tai lyhytnäköisyyden vuoksi tehdyt epäoikeudenmukaisuudet alkavat kasaantua
Hoidon onnistumista voi analysoida älylaitteilla lähes reaaliajassa. Digisisällön materiattomuus, sosiaalinen media, avoin lähdekoodi, verkkokauppa, joukkorahoitus ja globaalit tuotantoketjut ovat nostaneet makuukammareiden amatöörit ammattilaisten rinnalle, pienet yksilöt suurten organisaatioiden pelikentille. Potilas nähtiin amatöörinä, jolla ei ollut asiaa edes omiin hoitopäätöksiinsä. Diabeteksen lähellä elävät käyttävät kokemuksiaan ja taitojaan hoidon parantamiseen. Asiat ovat vielä huonommin diabeteksen kaltaisen monimutkaisen sairauden hoidossa, josta ei itsehillinnällä selviä. ”Hyökkäystä” johtavat koodaajat ja puolustuskannalla ovat konservatiiviset lääkeja diagnostiikkavalmistajat sekä terveysalan jähmeä sääntely. Virallista reittiä tällainen hoitotasapainon ja elämänlaadun mullistanut muutos olisi vienyt vuosia. Jos diabetes ilmenisi vain nukkuessa, sen hoito olisi kenties jo automatisoitu, mutta valveilla muun muassa liikunta, ravinto ja stressi vaikuttavat diabeetikon verensokereihin ennalta-arvaamattomasti. Ei kaikista ohjelmoijia tai elektroniikkasuunnitelijoita tule, mutta mitä useampi tuntee teknologian tarjoamat mahdollisuudet muuttaa maailmaa, sitä useampi voi muuttaa läheistensä ja kaltaistensa maailmaa. Hoitovälineiden kehittyminen onkin avannut uuden taistelukentän. Muistan kuinka 1980-luvulla kotimme ruokapöytä muistutti sairaalalaboratoriota: äitini ruiskuja, ilmassa lentävää insuliinia, lasisia lääkepurkkeja, paksuneulaisia pistolansetteja, isoja veripisaroita ja värikoodattuja muoviliuskoja, joista pitkän odottelun jälkeen tulkattiin summittainen verensokeriarvo. Lääketieteellinen hoito on vakava asia, joka vaatii koulutusta. Kukaan ei enää vastusta omahoitoa, mutta kamppailu on siirtynyt välineisiin. Sen sijaan, että lääkäri määrää annostelun ennalta, potilas säätelee sitä itse. Olen itse ”tyypin 3” diabeetikko – siis diabeetikon omainen. Niin alkeellisia kuin välineet olivatkin, modernin omahoidon perusteet olivat jo paikoillaan. He tuntevat arkensa paremmin ja voivat toimia vapaammin. Suomessa omakoodissa on profiloitunut Skrollissakin kirjoittava ohjelmoija, diabeetikko Mika Haulo, joka jakaa verkossa hoitokokemuksiaan ja koodiaan kanssadiabeetikoille. Kehittyneet hoitovälineet auttavat: insuliinilääkitys virtaa osin automaattisesti ja verensokerit mitataan tarkoilla digimittareilla. Kuten monen sairauden kohdalla aikanaan, myös diabeteksen hoidossa suosittiin satunnaisia parantolajaksoja hoitohenkilökunnan valvonnassa. Potilas lähetettiin niin sanotusti vuorille parantumaan taianomaisesti ja saamaan hoito-ohjeet seuraavalle vuodelle. Useat harvojen etuoikeudet ovat nykyisin massojen mahdollisuuksia. Pioneerina pidetään nuorten diabeetikkojen vanhempien perustamaa Nightscout-projektia. Epäilyttävä omahoito Omahoidolla tarkoitetaan potilaan itsensä suorittamia hoitotoimenpiteitä. Siksi kaikkien pitäisi osata koodata ja soveltaa tietotekniikkaa. Amatöörit täyttävät auktoriteettien jättämiä aukkoja. Ajan mittaan on löydetty tasapaino, jossa diabeetikoista on koulittu sairautensa asiantuntijoita. Eikä tämä ole ainoa vastaava hanke. Sanotaan, että tyypin 1 diabeetikot tekevät jopa viisikymmentä terveyspäätöstä joka päivä. Janne Sirén. Kenties lopullinen kamppailu kroonisia sairauksia vastaan voitetaan, kun useiden tieteenhaarojen ammattilaiset tekevät yhdessä läpimurron. 29 Kolumni T ietotekniikan tasa-arvoistava voima on kiistaton. Sitä odotellessa potilaat voivat saada apua hoitoonsa yllättävältä taholta – omaiskoodaajalta. Omaiskoodaajat kunniaan Omahoitoon kohdistuneet epäilykset olivat silti ymmärrettäviä. Odottelun sijaan #WeAreNotWaiting-hashtagin alla kulkevasta ruohonjuuritason liikkeestä on muodostunut kasvava ekosysteemi, joka ulottuu jo avoimen laitekehityksenkin puolelle. Omakoodia omahoitoon Diabeteksen kaltainen krooninen sairaus osoittaa, miksi kaikkien pitäisi osata ohjelmoida. Jokainen terve laihduttaja tietää, ettei pari viikkoa painonvartijoissa aina auta, kun arki palaa. Myös poikkitieteelliset mahdollisuudet kasvavat, kun lääkärit ja tutkijat osaavat ohjelmoida. Sama murros on tapahtunut kroonisten sairauksien omahoidossa sitä mukaa, kun tieto ja tekniikka – etenkin tietotekniikka – ovat kehittyneet. Omaishoitajat ryhtyivät omaiskoodaajiksi ja kytkivät lastensa verensokerisensorit älypuhelimen kautta pilveen. Diabeteksen tapauksessa tämä tarkoittaa verensokeriarvojen mittaamista sekä lääkitysja ravintomäärien vaihtelua. Vielä niinkin myöhään kuin 1970-luvulla diabeteksen omahoitoon suhtauduttiin kuitenkin osassa lääkärimaailmaa epäilevästi
Standardiprosessi ISO:n hierarkiassa itse standardointityöryhmä eli -komitea on työryhmä, jonka jäseninä on kansallisten standardointiorganisaatioiden nimeämiä asiantuntijoita. Kulttuuri 2 1 5 . Lausuntokierros kestää muutaman kuukauden, joiden aikana kansalliset organisaatiot lähettävät kommenttinsa komitealle. Kansainvälinen standardisoimisjärjestö ISO julkaisi ensimmäisen C++standardin vuonna 1998. Kun ehdotukset hyväksytään, ne liitetään osaksi standardin työluonnosta, ja kun komitea katsoo olevansa valmis aloittamaan uuden standardin julkaisuvaiheen, työluonnos lähetetään lausuntokierrokselle. Itse standardointityöryhmän näkökulmasta SC22 ja JTC1 ovat jokseenkin etäisiä katto-organisaatioita, joiden kanssa ei olla paljonkaan tekemisissä. Standardin kehitysvaiheessa standardointikomitealle lähetetään ehdotuksia, jotka komitea käy läpi kokouksissaan. Varsinaisten kokousC++ standardimankelissa Myös ohjelmointikielille halutaan kansainvälisiä standardeja. Useat ohjelmistotalot näkivät kielen standardoinnin järkevänä tavoitteena, jotta kieli ja sen työkalut eivät olisi yhden pääkehittäjän varassa. Seuraavat ovat suunnitteilla vuosille 2017 ja 2020. Kokous kestää yleensä kuusi päivää, ja päivät ovat täyden työpäivän mittaisia. Työryhmät kuuluvat alikomiteaan nimeltä SC22, joka standardoi ohjelmointikieliä. Kansallisten organisaatioiden säännöt vaihtelevat maittain: siinä missä jotkut maat vaativat edustajiltaan jäsenmaksun, muissa maissa osallistumiseen ei välttämättä ole erityisempiä ehtoja. Teksti: Ville Voutilainen Kuvat: Mikko Torvinen, Mitol Meerna. Nykyään C++:n standardointikomitealla on noin sata aktiivista jäsentä ja pyrkimyksenä on julkaista uusia standardeja kolmen vuoden välein. Kierroksen loputtua komitea kerää annetut kommentit yhteen ja käsittelee ne samaan tapaan kuin muutosehdotukset, tosin sillä erotuksella, että kommentteihin on annettava jonkinlainen vastaus, myönteinen tai kielteinen. Komitea koostuu pääasiassa C++kääntäjien ja -standardikirjastojen toimittajista sekä C++:aa käyttävien yritysten edustajista, mutta kuka tahansa kansallisen organisaation nimeämä asiantuntija voi olla komitean jäsen. Kokouksissa komitean jäsenet käsittelevät ehdotuksia ja mahdollisia lausuntokierroksen kommentteja. Työryhmiä on useille eri kielille, kuten WG21-ryhmä C++:lle, WG14 C:lle, WG4 Cobolille ja WG5 Fortranille. Standardi syntyy laajennusja korjausehdotusten pohjalta. Tähän mennessä kaikki C++-standardien hyväksyntä-äänestykset ovat olleet yksimielisiä. 4 30 C ++-ohjelmointikieli alkoi saada merkittävää jalansijaa 1980ja 1990-lukujen taitteessa. Saamme pientä tuntumaa myös kielen tuleviin ominaisuuksiin. SC22 puolestaan kuuluu JTC1:een, joka on ISO:n ja IETF:n yhteinen komitea informaatioteknologian kehittämiseen. Luonnoksia ja lausuntokierroksia voi tehdä useampia, mutta standardi on mahdollista julkaista yhdellä lausuntokierroksella ja erillisellä – ja samalla lopullisella – hyväksyntäkierroksella, jonka tuloksena ei anneta kommentteja vaan pelkkä hyväksyntä-äänestys. Standardointikomitea kokoontuu varsinaiseen kokoukseen kaksi tai kolme kertaa vuodessa. Tässä artikkelissa valotamme, millaista työtä C++-kielen standardointi on ja ketkä sitä tekevät
Sen lopullinen sisältö ratkeaa kevään 2016 aikana. Tulevat standardit Vuoden 2011 standardi oli massiivinen muutos, mutta sen jälkeiset standardit tulevat luultavasti olemaan muutosmäärältään pienempiä. Alityöryhmien lisäksi komitean alla on kymmenkunta tutkimusryhmää, joiden vastuulla ovat erilaiset tekniset yksityiskohdat kuten säikeet ja muut rinnakkaisuusominaisuudet (SG1), transaktionaalinen muisti (SG5) ja peliteollisuuden ja pienen latenssin käyttötapausten tarpeet (SG14). Vuoden 2012 lopusta alkaen komiteassa on ollut kaksi suomalaista edustajaa. Komitea pyrkii tällaiseen julkaisurytmiin, jossa isompia muutoksia sisältävät standardit ja pienemmät korjausversiot vuorottelevat, siten että uusi standardi julkaistaan aina kolmen vuoden välein. Oma työnantajani Symbio maksaa kokouksiin liittyvät menot ja järjestää standardointikomitean kokouksen Oulussa kesällä 2016. C++:n merkittävänä etuna on perinteisesti ollut suorituskyky ja suurten, monimutkaisten ohjelmistojen hallinta. C++ standardoitiin alun perin siksi, että useampi kaupallinen toimittaja halusi yhteisen määrittelyn. Suomi on ollut SC22:n osallistujajäsen vuodesta 2009 lähtien, jolloin itse liityin C++-komitean jäseneksi. Teollisten käyttäjien näkökulmasta standardointi parantaa siirrettävyyttä erilaisten toteutusten välillä ja luo vakautta: kielen ja standardikirjaston määrittely ei ole minkään yksittäisen tahon sanelun tulos. Vuonna 2020 julkaistavassa standardissa on jälleen pyrkimyksenä lähinnä vain korjata vuoden 2017 standardin puutteita. 31 ten ulkopuolella komitea työskentelee myös puhelinkonferenssien ja sähköpostilistojen avulla. Suomen standardisoimisliitto SFS ry. Komitea jakaantuu alityöryhmiin, jotka ovat erikoistuneet tiettyyn alueeseen. Ehdotusten tekijät totesivat, että lausuntokierros on käynnissä ja että minun pitäisi ottaa yhteyttä kansalliseen organisaatiooni, jos haluan muutoksia. Samoihin aikoihin monet kaupalliset ja teolliset käyttäjät alkoivat kiinnittää huomiota virrankulutukseen sekä mobiilialustoilla että konesaliympäristöissä. Kokouksista tulee kustannuksia matkakulujen ja majoituksen muodossa, minkä vuoksi on tärkeää, että edustajien työnantajat tukevat standardointityötä myös rahallisesti. Monilla yhtiöillä kuten Microsoftilla, Intelillä, IBM:llä ja Googlella on perinteisesti ollut melko pieni asiantuntijaedustus standardointikomiteassa, mutta viime aikoina yhtiöt ovat lisänneet osallistumistaan. C++-standardointi Suomessa Ohjelmointikielten standardointiin keskittyvässä SC22-organisaatiossa on sekä osallistujajäseniä että tarkkailijajäseniä. Vuodesta 2014 lähtien komitea on hyödyntänyt enenevässä määrin mahdollisuutta julkaista niin kutsuttuja teknisiä määrittelyjä. Tutkimusryhmien tarkoitus on kerätä tietyn alueen asiantuntijoita myös komitean ulkopuolelta tuottamaan muutosehdotuksia neljän yllä mainitun ryhmän katselmoitavaksi. Standardoinnin motivaatio Miksi standardoida ohjelmointikieli, kun monet kielet kehittyvät ilmankin näin raskasta prosessia. Osallistumme komitean kaikkiin kokouksiin, standardiehdotusten laadintaan ja niiden katselmointiin sekä jonkin verran myös toteutustyöhön GCC-kääntäjän ja sen C++-kirjaston, libstdc++:n osalta. Evolution Working Group (jota allekirjoittanut johtaa) vastaa kielen ominaisuuksien suunnittelunäkökulmasta, ja Core Working Group vastaa kielen ominaisuuksien yhdenmukaisuudesta ja määrittelyn lopullisesta sanamuodosta. Tutkimusryhmien toiminta on vähemmän byrokraattista kuin standardointikomitean. Vuoden 2011 standardin myötä kielen suosio näyttää kasvaneen merkittävästi. Suomen asiantuntijaedustus ei vaadi edustajilta jäsenmaksua, ja muutenkin kansallinen strategia tukee informaatioteknologiastandardeja. suhtautui myötämielisesti osallistumiseen, ja olen käynyt kaikissa standardointikomitean kokouksissa vuoden 2009 helmikuusta vuoden 2015 lokakuussa pidettyyn viimeisimpään kokoukseen asti. Kielellä voidaan kirjoittaa hyvinkin abstraktia koodia ilman suorituskykyongelmia, ja yhteinen standardi ja toimittajariippumattomuus johtavat käytännössä hyvään siirrettävyyteen eri alustojen välillä. Esimerkiksi vuoden 2014 standardi toi tarkoituksellisesti vain pieniä muutoksia, joilla pyrittiin paikkaamaan edellisen version puutteita. Nämä ovat. Jäsenyys lähti liikkeelle siitä, kun huomasin komitean olevan aktiivinen ja halusin kysyä tiettyjen ehdotusten tekijöiltä täsmennyksiä ja ehdottaa muutoksia niihin. Library Evolution Working Group vastaa standardikirjaston ominaisuuksien suunnittelunäkökulmasta ja Library Working Group standardikirjaston ominaisuuksien yhdenmukaisuudesta ja määrittelyn lopullisesta sanamuodosta. Vuoden 2011 standardi toi mukanaan suuren määrän merkittäviä parannuksia, ja niistä yksi merkittävä on säikeiden tuki. Vuonna 2017 julkaistavaan standardiin on taas tarkoitus lisätä enemmän uusia ominaisuuksia
Komitean aikataulutavoite on julkaista standardiluonnos lausuntokierrokselle kesän 2016 Oulun-kokouksen jälkeen. 4 32 määrittelyjä, joita voidaan julkaista standardien rinnalle nopeutetulla aikataululla. Viimeisimmässä kokouksessa kuitenkin päätettiin tehdä moduuleista tekninen määrittely. Sen sijaan konseptien kohtalosta ei ole vielä päätöstä. Vuorottaisrutiinit (coroutine): Funktio, jonka suoritus pystytään pysäyttämään ja suoritusta jatkamaan myöhemmin. Linkkejä • Standardien yleiskuvaukset: en.wikipedia.org/wiki/C%2B%2B11 (C++11), en.wikipedia.org/wiki/C%2B%2B14 (C++14), en.wikipedia.org/wiki/C%2B%2B17 (C++17). Kun standardi lähtee viimeiselle äänestyskierrokselle, seuraavan standardin sisällön laadinta on jo hyvässä vauhdissa ja tähtää vuoden 2020 standardiin. Määrittelyjä pyritään tuomaan varsinaiseen standardiin sitä mukaa, kun niistä saadaan toteuttajien ja käyttäjien palautetta. Kirjastoehdotuksista range-pohjaiset algoritmit ovat päätymässä tekniseen määrittelyyn, kuten verkkotukikin. Transaktionaalinen muisti: Ohjelmointitekniikka, jonka avulla voidaan kirjoittaa rinnakkain suoritettavaa koodia ilman käsin kirjoitettuja tahdistusoperaatioita. Edellisten lisäksi komitea käsittelee vielä monia pienempiä ominaisuuksia kuten funktiokutsujen yhdenmukaistamista, pisteoperaattorin uudelleenmäärittelyä ja automaattista vertailuoperaattorien määrittelyä. Uusin ehdotus: open-std.org/JTC1/SC22/WG21/docs/papers/2015/p0021r0.pdf. Muista merkittävistä ehdotuksista vuorottaisrutiinit (coroutine) ovat edenneet varsin pitkälle standardiprosessissa, siinä missä sopimuspohjaisen ohjelmoinnin tuki on keskeneräisempi eikä välttämättä päädy tähän standardikierrokseen. Vuoden 2017 standardin sisältö on, kuten todettu, vielä päättämättä. Lausuntokierrosten kommenttien käsittelylle varattaneen aikaa muutama kokous, minkä jälkeen standardi on tarkoitus viimeistellä niin, että se voidaan lopullisen äänestyksen jälkeen julkaista vuoden 2017 aikana. • Video vuorottaisrutiineista: www.youtu.be/_fu0gx-xseY. Alkuperäinen kuvaus: open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4128.html. Alkuperäinen kuvaus: open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3718.pdf. • Video range-algoritmeista: www.youtu.be/mFUXNMfaciE. • Pääsivusto kaikelle standardiin liittyvälle: isocpp.org. Uusin ehdotus: open-std.org/JTC1/SC22/WG21/docs/papers/2015/p0057r0.pdf. Uusin ehdotus: open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4301.pdf.. Range-algoritmit: Algoritmeja ja konsepteja, joiden pohjalta voidaan yhdistellä operaatioita yhtenäisen ohjelmointimallin mukaan ja kirjoittaa koodia, joka prosessoi dataa ilman silmukoita ja ehtolauseita, häviöttömästi. Niiden avulla malleista saadaan merkittävästi parempia virheilmoituksia silloin, kun vaatimukset eivät täyty. Uusin luonnos: open-std.org/JTC1/SC22/WG21/docs/papers/2015/p0121r0.pdf. Alkuperäinen kuvaus: open-std.org/JTC1/SC22/WG21/docs/papers/2014/n4286.pdf. Määrittelyjä on jo julkaistu transaktionaaliselle muistille, konsepteille, tiedostojärjestelmätuelle, kirjastotyypeille ja rinnakkaisuustoiminnoille. Tällaista on suunnitteilla Konseptit: Tyyppimallit templateille (malleille), joiden avulla voidaan määrittää kategorisesti, mitä malli vaatii sille annetuilta tyypeiltä. • Video konsepteista: www.youtu.be/qwXq5MqY2ZA, www.youtu.be/NZeTAnW5LL0. Alkuperäinen kuvaus: open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3580.pdf. 2 1 5 . • Komitean työsivut, jotka sisältävät kaikki ehdotukset ja niiden aikaisemmat versiot: open-std.org/JTC1/SC22/WG21/
Testirikosten kohteeksi joutuneet yritykset julkistavat tapauksia ja palkitsevat tekijöitä näkyvästi. En tarkoita virusten ja muiden saastuttavien haittaohjelmien ohjelmoinnin opettamista enkä käyttöä. Valmistajat ovat sekalaista seurakuntaa. Vastaavan virtuaalivaluutan tai muun varmenteen kehittäjä voisi laittaa testin avoimesti verkkoon, koska tosiaineistokin olisi siellä kaikkien nähtävillä. 33 Hei, Olen täysin ällikällä lyöty. Testiportaalin ympärille voisi rakentaa alan palveluja ja muuta liiketoimintaa kattavasti. ”Tippa linssissä” Kyberrikosten testiympäristö Suomi pyrkii kyberturvallisuuden kärkimaaksi. Selvästi tunnistettava testiportaali, jonka alta löytyvät testattavat järjestelmät. Jos tarvitaan testiliikennettä, sen simuloi robotti ja se on helppo suodattaa pois muusta liikenteestä. Toiminnan on oltava avointa. Oikean koodilistauksen löydät Skrollin pdf-versiosta, osoitteesta skrolli.fi/2015.1.graffiti.pdf. Ehdottoman varmoihin järjestelmiin uskoo tulevaisuudessa yhä harvempi. Välttämättä ei tarvita rikollisiakaan asioita sotkemaan, ongelmia voi ilmetä riittävästi ilmankin. Luottamus yritykseen ja sen järjestelmiin kasvaa avoimuuden myötä. Nimim. Kiinnostus hyökätä yrityksen oikeaan järjestelmään laskee ja rikolliset valitsevat vähemmän testattuja järjestelmiä. Testiympäristössä ei ole lainkaan liikennettä, joten kaikki aktiivisuus on hyökkäystä ja siten helpompi havaita. Mitä tapahtuu, kun yhä enemmän laitteita kommunikoi keskenään verkossa. Alan yrityksillä ja oppilaitoksilla on suljettuja testiympäristöjä ja laboratorioita. Parhain terveisin Uolevi Kattun Postipalsta Korjauksia aiempien numeroiden paperiversioihin 2015.1 • Rust-juttuun sivulle 37 eksyi vahingossa sama koodilistaus tuplana. Vastaavia testiympäristöjä pitäisi perustaa avoimesti kaikkien kokeiltavaksi. Esimerkiksi otan Bitcoinin murtamisen. Nehän ovat avoimesti verkossa, tosin salattuina. Miten voi olla mahdollista, että on olemassa näin täydellinen tietokonelehti. Kun osaa rikoksen alkeet, ymmärtää myös riskit ja suojautumisen tarpeen sekä osaa varautua uusiin tekotapoihin. Varmennuksista tulee heti mieleen analogia dna-koodiin tai kvanttiteoriaan. Vertaan ajatustani tietokonepeleissä huijaamiseen. Hyökkäyksistä vaikenevaa yritystä aletaan pitää epäluotettavana. Valuuttaa ei ehkä voi varastaa itselleen, mutta varmennuskirjaukset pystyy varmaan sekoittamaan. 2015.3 • Sivulta 26 alkavasta Vim-jutusta uupui Vimin tekijän, Bram Moolenarin nimi.. En voi mitenkään uskoa, että se on mahdotonta. Erityisesti näiden luulisi kiinnostavan alan yrityksiä. Testiportaali on yleisessä verkossa. Yleisesti tunnetut hyökkäysmenetelmät ja -työkalut ohjeineen julkistetaan. Systeemiä mitenkään vahingoittamatta saadaan sovellus toimimaan ennakoimattomalla tavalla. Onnistunut hyökkäys voi vaatia uuden menetelmän tai työkalun kehittämistä sekä jälkien peittämistä. Juuri näitä temppuja haen. Hintakilpailun paineessa turvallisuuteen ei voida panostaa riittävästi. Lopuksi pahan ajatukseni muusa eli asioiden internet. 2015.2 • Numerosta jäi uupumaan sisällysluettelon taustakuvan tekijätieto. Poikkitieteellinen asiantuntijaryhmä saattaisi Bitcoinin kaataa. Hyökkäys voidaan kohdistaa halutulle alueelle antamalla haastetehtäviä. Fyysisiä laitteita kuten maksupäätteitä voisi hakkeroida valvotuissa julkisissa tiloissa. Kyberrikosten suorittamisesta pitäisi tehdä kansalaistaito ohjelmoinnin tapaan. Ja kuka osaa ennakoida eri laitteiden yhteisvaikutuksia. Loistavan valokuvan meille nappasi Jari Viitala. Olen raskain mielin seurannut perinteisten lehtien loppumattoman tuntuista alamäkeä: • Yksi muuttui automarkettien tuotekatalogiksi • Toisesta tehtiin naistenlehtien tyyppinen henkilöhaastatteluläpyskä • Kolmas tapettiin koska jollain talous lehdellä oli yhteneväistä lukijakuntaa Nyt kädessäni on taivaasta tipahtanut lehti, johon on poimittu kaikkien kolmen parasta aineistoa. Varsinkin asioiden internetin eteneminen voi muuten kasvattaa rikosavaruuden hallitsemattomaksi. Kiitos toimitus, kiitos! Jatkakaa mahtavaa työtä ja eläköön hämmästyttävä lehtenne ikuisesti. Pieni maa saattaisi päästä tavoitteeseen saranapuolelta
Kaikki heistä harrastavat syntetisaattoreita. Myös maahantuojat sekä kaupalliset valmistajat ovat läsnä tapahtumassa. Turku – Suomen syntetisaattoripääkaupunki Suomessa syntetisaattoreita on toki harrastettu jo pitkään, mutta isompia synaintoilijoiden kokoontumisia on alettu järjestää vasta viime vuosina. Mitä suomalaisessa syntetisaattoriskenessä tapahtuu nykypäivänä. Kiinnostuneita on kuitenkin ympäri Suomea, ja pian Turun syntetisaattoriseura kattaa nimestään huolimatta jäseniä koko maan laajuudelta. Illan keskusteluiden seurauksena syntyy idea Facebookiin perustettavasta syntetisaattoriaiheisesta ryhmästä. Turussa alun saaneen syntetisaattoriseuran vaikutusalue ulottuu jo ulkomaille asti. Ryhmän tapaamiset kasvavat vuonna 2013 Synamiitti-nimellä tunnetuksi tapahtumaksi, johon jäsenet tuovat keräilemiään harvinaisuuksia sekä itse rakentamiaan projekteja. 2 1 5 . 4 34 Kulttuuri V uosi 2010 – ruuhkainen baari Turussa. Tänä vuonna jäseniä on jo reilu tuhat – myös ulkomaalaisia! – ja ryhmään kuuluu niin maan kovimpia harrastajia kuin aloittelijoitakin. Suuren jäsenmäärän seurauksena ryhmän viestitulva kohisee kysymyksiä, omatekoisten projektien esittelyitä, kilpailuja, ja toisinaan keskustelu redusoituu huumoriin soittimien äänenlaadun parantamisesta puupäätyjen myötä. Se saa nimekseen Turun syntetisaattoriseura, ja sen jäsenmäärä kasvaa nopeaa tahtia yhä uusien ihmisten löytäessä pitkään puuttuneen foorumin harrastuksestaan keskustelemiselle. Neljä toisensa tavalla tai toisella tuntevaa muusikkoa istuutuvat saman pöydän ääreen. Tarjolla ollut Oberheim OB-Xa vikaantui varhain jättäen yhden koskettimista pohjaan tapahtuman loppuajaksi. Myöskään sopivaa kaapeliratkaisua ei löytynyt, joten OB-Xa ohjasi Xpanderia vain joka kuudennella nuotilla.. Useamman eri tason harrastajat oppivat toisiltaan. Tietomäärä on valtava, ja kinkkisempiin teknisiinkin kysymyksiin saa äkkiä vastauksia, mutta menneitten ohjeitten löytäminen viestitulvasta voi olla myöhemmin niin työlästä, että on helpompi kysellä uudestaan. Teksti ja kuvat: Nasu Mäki-Petäys Aina ei harvinaisuuksien saaminen paikalle onnistu täydellisesti. Vuoden aikana ryhmään voi tulla useita väliaikaraportteja jonkun itse tekemästä projektista, joista käydään teknistä keskustelua
Aivan valmiiksi projekti ei ehtinyt ennen tapahtumaa. Nokialainen putkielektroniikkavalmistaja Verde Audio oli tapahtumassa esittelemässä tuotantoaan. Vierailijoita kävi noin 100–150 päivän aikana. Turun syntetisaattoriseuran Facebook-ryhmän viestitulva kasvoi 2014 Tällä kerralla jaettiin ensimmäistä kertaa vuoden DIY-projekti -pokaali, jonka voitti Jani Kemppaisen kunnianhimoinen Roland Jupiter 8 -klooni. Niistä suuri osa on baarimiittejä, joihin jotkut tuovat mukanaan pienempiä soittimia kokeiltavaksi baaripöydällä. Ryhmä laajenee ja poikii uusia Synamiitin lisäksi Turun syntetisaattoriseuran aktiivisuus on synnyttänyt muutakin hyvää. Seuran kautta toisensa löytänyt tee-se-itse-kolvausporukka tapaa noin kerran viikossa. Joskus jäsenet vierailevat toistensa studioilla, perustavat yhtyeitä tai muita yhteistyökuvioita. Vastakkain alkuperäinen Roland Jupiter-8 sekä suomalainen halpakopio, joka tuntui vetävän kokeilijoita huomattavasti esikuvaansa enemmän. Muilta osin ulkonäössä pyrittiin mahdollisimman identtiseen sekä toiminnallisuuteen että ulkoasuun, kytkimiä ja rungon merkintöjä myöten. Muutamiin eri paikkoihin (Tampere, Helsinki, Berliini ja jopa Portugali) on syntynyt aluejaostoja, jotka järjestävät pienimuotoisempia tapaamisia ympäri vuoden. Jo projektin alkuvaiheessa edistystä seuranneet harrastelijat nostivat hattua tai pitivät rakentajaa hulluna ryhtyessään niin mielettömään urakkaan. Maininnan arvoisia ovat ainakin Roland TR-808ja ARP 2600 -kloonit. Epäuskoisia varten vierellä oli useista soittimista toki tarjolla verrokkina alkuperäinen malli. Kustannussyistä aivan täydellistä identtisyyttä ei tavoiteltu, vaan äänimäärä puolitettiin neljään samanaikaiseen ääneen. Vielä viimeisenä yönä rakentelu-urakka venyi pikkutunneille, kun saunonnan vilvoittelutauolla juotellessa sisään tippuneet hikipisarat sekoittivat laitteen toimintaa. Valmistajan nimi jätettiin tyhjäksi. Uusissakin laitteissa oli jäljitelty vanhojen syntetisaattoreiden ominaisuuksia osittain tai suoraan kloonattu alkuperäinen vuosikymmeniä sitten markkinoilta poistunut soitin. 35 Harvinaista, uutta ja uniikkia Jo ensimmäinen synamiitti sai mukavasti mediahuomiota. Baaritapaamisten lisäksi seuran jäsenet järjestävät toisinaan koulutustilaisuuksia esimerkiksi modulaarisyntetisaattoreista tai musiikin tuottamisesta. Softasyntetisaattoriseura on taas haarauma, joka keskittyy vain ei-fyysisiin syntetisaattoreihin. Paikalla oli harvinaisuuksia kuten Mellotron, muita merkittäviä laitteita kuten omatekoinen Roland TR-808 -klooni ja peilipintainen Shruthi-syntetisaattorimalli, joka perustuu avoimen lähdekoodin ohjelmistoon ja avoimeen rautaan. Jani on kunnostautunut aiempinakin vuosina huikeilla omatekoisilla projekteillaan. Toisinaan itse rakennettujen syntetisaattorien kuuluukin näyttää kotikutoisilta kuten tämä Comic Sans -fontilla koristeltu modulaarisyntetisaattori.. Kokeellisen Musiikin Klubi järjestää keikkoja Turun Kirjakahvilassa yhteistyössä Turun elävä musiikki ry Telmun kanssa, ja musiikkikirjastolla on pidetty luentoja sekä työpajoja. Toiminnoista osa jäi vielä toteuttamatta, mutta äänipuolen osalta kotimaista kopiota saattoi vertailla vastapäätä sijoitettuun alkuperäiseen malliin, ja tulos oli kokeilijoiden mukaan hyvin lähellä alkuperäistä. Keikkajärjestelyt kaupunkien välillä ovat selkeästi helpottuneet verkostoitumisen ansiosta, ja ystävyyssuhteita syntyy runsaasti. Komponenteissa suosittiin lähituotantoa, mikäli se ei vaikuttanut ääneen. Tänä vuonna tapahtuma oli kasvanut kaksikerroksiseksi, josta alempaan kerrokseen oli jaettu vanhat klassikot sekä omatekoiset projektit, ja yläkerrassa yritykset esittelivät nykyaikaista tarjontaansa
Viisinumeroisen hintalapun vuoksi valmistajan läsnäolo tapahtumassa tarjosi suurelle osalle seuran jäsenistä ainoan mahdollisuuden päästä kokeilemaan soitinta. Myöhemmin perustettiin myös haararyhmä Softasyntetisaattoriseura. Soitin on käytössä muun muassa nimekkäillä ammattilaisilla, kuten elokuvasäveltäjä Hans Zimmerillä. Kulisseissa tapahtuu parhillaan kaupunkien ja maiden välistä ideavaihtoa, kustannustoimintaa ja tapahtumajärjestelyä. Tapahtumaillan päättää erillinen konsertti. Mynämäkeläisestä käsityöpajasta ilmestynyt Olegtron 4060 on rakennettu yksinkertaisesti CMOS-logiikkapiiri 4060:n pohjalle. Aiempien vuosien kohokohtia on ollut muun muassa laadukkaista ääniprosessointilaitteistaan tunnetun kotimaisen Knif Audion kokonaan putkista valmistettu Knifonium, joka on rakennettu itse koskettimia myöten. Artisti väittää pystyvänsä soittamaan syntetisaattorilla sooloja huolimatta siitä, että koko laitos tuntui painuvan kasaan jo kosketeltaessa. Se tarjoaa käyttäjälle kahden säätimen lisäksi vain kytkennät eri nastoihin ja oskillaattorijakajiin. Foorumilla jäsenten jakama arvokas tieto ei huku viestitulvaan niin helposti kuin Facebookissa. Facebook-ryhmän ohella toimii myös web-foorumi, vaikkakin sen päivitys on ollut viime aikoina hiljaista. Jonoa laitteen äärellä riitti läpi tapahtuman. Kokeiltavana Korgin uusi miniversio MS-20:sta sekä elämää nähnyt, Jimi Tenorilta lainaan saatu alkuperäinen. Alaseuran jäsenissä on loppukäyttäjien lisäksi ohjelmistokehittäjiä, frontend-käyttöliittymäsuunnittelijoita, alfaja betatestaajia, rautaosaajia ja tehdasäänisuunnittelijoita. Budjetti ja työmäärä ovat kuitenkin muodostuneet suunnitelmien esteeksi. Näiden eri osaajien yhteistyötoiminnan seurauksena syntyy parhaimmillaan uusia tapahtumia, yhtyeitä tai jopa startup-hankkeita. Ääni on hyvin persoonallinen. 4 36 niin suureksi, että oli tarve perustaa erillinen ryhmä, jossa saa keskustella myös aiheen ohi (Synaseura B). Tulevaisuus Seuran ja tapahtumien kasvamisen suurimpana tavoitteena on yhteistyötoiminnan kehittäminen. 2 1 5 . Ulkoasussa on piirteitä menneistä vuosikymmenistä sekä vuosisatojen takaisista cembaloista. Kuvassa Velcro Fastener, joka sai kesken esityksensä vastailla yleisön puristien kuittailuun liian moderneista laitteista.. Tiedon helmien arkistoimisesta on ollut puhetta, ja myös seminaarien ja työpajojen videotaltiointi on ollut harkinnassa. Koekytkentälevyyn voikin uskaliaasti latoa sekalaisia elektroniikan komponentteja tai muita instrumentteja. Yksi vahvimmin kehittyvistä osaalueista on softasynaseura, jonka fyysiset tapaamiset on tarkoitus saada käyntiin alkavana talvena. Olegtron toimii laajalla jännitealueella paristosta muuntajaan, jopa 18 volttiin
Nykyisin tietokoneet eivät kovinkaan usein musiikkia soittaessaan tuota sitä reaaliajassa – ne yksinkertaisesti vain purkavat sitä mediatiedostoista, eivätkä ”alkeellisimmat” äänirajapinnat edes tarjoa ohjelmoijalle muuta mahdollisuutta. PC-maailman yksinkertaisin ”äänikortti” on Covox, joka on käytännössä 8-bittinen D/Amuunnin – laite, joka pystyy tuottamaan 256 mahdollista jännitetasoa peruspiipperin kahden tason sijaan. Äänisynteesi Kohinasta kanttiaaltoon. 37 Tietokoneet pystyvät tuottamaan ääntä monenlaisilla tekniikoilla. Kun ääni esitetään peräkkäisinä numeroina, jotka kuvaavat jännitetason vaihtelua, puhutaan pulssikoodimodulaatiosta (PCM). Covoxin ulostuloa tuhansia kertoja sekunnissa muuttamalla on mahdollista toistaa periaatteessa mitä tahansa ääntä. Jos rajapinnan suunnittelija on kuitenkin ollut tolkuissaan, tarjolla on myös PCM-äänipuskuri, jota ohjelma voi täyttää äänidatalla, joka voi olla hyvinkin raskailla algoritmeilla laskettua. Muistialueen lisäksi myös soittonopeutta ja äänenvoimakkuutta voi säätää kanavakohtaisesti. Sekä alkuperäisen Spectrumin että PC:n ääniominaisuudet ovat varsin minimaaliset verrattuna saman aikakauden koneisiin, joissa on äänentuotantoon erikoistunutta apurautaa. Tyypillisessä 80-luvun alkupuolen äänipiirissä on kahdesta neljään äänikanavaa, joiden äänenkorkeutta, aaltomuotoa ja äänenvoimakkuutta voi säätää. Tämä toki vie paljon suoritinaikaa. Teksti: Ville-Matias Heikkilä Kuvat: Sakari Leppä, Chris Helenius, Mitol Meerna, Yrjö Fager Tekniikka L yhyesti määriteltynä ääni on korvin kuultavia värähtelyjä ilmassa tai muussa väliaineessa. Amigan Paula-piirin ääniominaisuudet perustuvat neljään 8-bittiseen PCM-kanavaan, jotka lukevat soitettavaa ääntä annetulta muistialueelta. Mikrotietokonemaailman yksinkertaisimmat äänilaitteet – esimerkiksi ZX Spectrumin piipperi – toimivat likimain samalla periaatteella: kaiutinta ohjaa yksi I/O-bitti, jota vaihdellaan ohjelmallisesti. Tästä oli hyötyä paitsi tavallisessa operaattorintyössä – ääntä seuraamalla pystyi päättelemään, edistyikö laskenta vai oliko ohjelma juuttunut silmukkaan – mutta se mahdollisti myös musiikin soittamisen. Aluksi ääni oli enimmäkseen releitten ja reikäkorttien mekaanista naksuntaa, mutta jo 50-luvun alkupuolella tietokoneisiin alettiin kytkeä kaiuttimia. Ääntä tuotetaan monin tavoin: kielisoittimet perustuvat pingotettujen lankojen värähtelyyn, ihmisääni ja puhallinsoittimet ääniaaltojen kimpoilemiseen seinämistä ja kaiuttimet sähkömagneetin avulla liikuteltavaan kalvoon. Vakioyhteenlaskua toistamalla ylin bitti kääntyi nollasta ykköseksi ja takaisin vakioajassa, mikä sai aikaan tasakorkuisen vinkunan. PC-piipperi on hieman kehittyneempi: sitä ohjaa oma ajastin, joten vakiokorkuisen piippauksen ylläpito ei vaadi jatkuvaa suoritintyötä. Millaisia mahdollisuuksia tähän ylipäätään on olemassa, ja saisiko softasynan ohjelmoitua itse. Commodore 64:n SID-piirissä on tarjolla myös ohjattavat suotimet ja mahdollisuus käyttää äänikanavia toistensa moduloimiseen. Piipperiä voi parantaa myös lisäämällä sen bittimäärää. Sen sijaan jos PC-piipperillä halutaan soittaa kahta sävelkorkeutta samaan aikaan, ei ajastimesta ole enää mitään hyötyä. Vakion muuttaminen muutti äänen korkeutta. Tyypillinen ratkaisu oli kytkeä kaiutin akkurekisterin ylimpään bittiin. Tietokoneetkin ovat pitäneet ääntä alusta asti
Lähes kaikki digitaaliset äänipiirit pystyvät tuottamaan kanttiaaltoa, ja musiikissa käytettynä se onkin monen korvaan kaikkein ”tietokonemaisin” tai ”kasibittisin” aaltomuoto. Yksinkertaisia aaltomuotoja: sini, kolmio, kantti, pulssi 22 %:n suhteella, sahalaita, valkoinen kohina ja eräs Atarin käyttämä LFSR-aaltomuoto. Kestosuhteen vaihtelulla eli pulssinleveysmodulaatiolla (PWM) aikaansaatavat naukunat ja pörinät ovat erityisen tyypillisiä SID-musiikille. Siniaalto on perustavanlaatuinen aaltomuoto sekä analogisissa oskillaattoreissa että äänen matemaattisessa analyysissä. Jos kohina keskittyy matalammille taajuuksille ja heikkenee taajuuden noustessa, voidaan puhua esimerkiksi ruskeasta, punaisesta tai vaaleanpunaisesta kohinasta. Se kuulostaa paljon läpitunkevammalta kuin kanttitai kolmioaalto. LFSR-piirit pystyvät tuottamaan myös lyhyempiä sarjoja, joita kuulee erityisen paljon Atarin TIAja POKEYpiirien tuottamissa särisevissä äänissä. Klassisissa äänipiireissä kohina tuotetaan useimmiten LFSR:illä eli lineaarisilla takaisinkytkevillä siirtorekistereillä (linear feedback shift register). Kun kanttiaallon kahden vaiheen kestot poikkeavat toisistaan, puhutaan pulssiaallosta. 2 1 5 . Yksittäinen siniaalto edustaa tässä puhdasta taajuutta – ääntä, joka ei ole hajotettavissa alkeellisempiin harmonisiin osiin. Kohina on ääntä, jolla ei ole säännöllisesti toistuvaa jaksoa lainkaan, tai sitten se on niin pitkä, ettei sitä kuulla äänenkorkeutena. Myös esimerkiksi SIDin kohinageneraattorin saa tarkalla ajoituskikkailulla huijattua tuottamaan lyhyempää sarjaa. Sointiväri puolestaan riippuu voimakkuuserojen muodostamasta kuviosta eli aaltomuodosta. Se syntyy, kun signaali vaihtelee säännöllisin väliajoin jyrkästi kahdesta ääripäästä toiseen – tietokoneen kannalta siis esimerkiksi ykkösen ja nollan välillä. Siinä signaalinvoimakkuus muuttuu suoraviivaisesti ääripäästä toiseen siirtyessään, joten aalto on kulmikas. Kaikenlainen ääni voidaan hajottaa eritaajuisten ja -voimakkuuksisten siniaaltojen summaksi Fouriermuunnokseksi kutsutulla toimituksella. Se on myös helppo tuottaa ohjelmallisesti yksinkertaisena ympärikierähtävänä laskurina. 4 38 Ääniaallolla on muoto Sähköpiiriä, joka tuottaa samanlaisena toistuvaa signaalia, kutsutaan oskillaattoriksi. Monissa nykyisissä digitaalilaitteissa käytetään PWM:ää vapaamuotoisen äänisignaalin tuottamiseen: kun korkeataajuuksinen pulssiaalto ohjataan alipäästösuotimen läpi, pulssinleveyserot muuttuvat signaalinvoimakkuuden eroiksi. Kun tätä signaalia kuunnellaan äänenä, on ääni sitä korkeampi, mitä tiheämpää toistuminen on (taajuus tai aallonpituus) ja sitä voimakkaampi, mitä suurempia signaalin voimakkuuserot ovat (amplitudi). Kanttiaalto on digitaalisessa logiikassa yksinkertaisin aaltomuoto. Länsimainen sävelasteikko puolisävelaskelten määrää kuvaavine järjestyslukuineen. LFSR:t tuottavat pitkiä ykkösten ja nollien sarjoja, jotka kuulostavat erilaiselta matalalla ja korkealla taajuudella. Kanttiaallon voi rakentaa erillisistä siniaalloista seuraavaan tapaan.. Sahalaita-aalto eroaa kolmioaallosta siten, että aallon huipulta palataan hyvin jyrkästi suoraan pohjalle. Tavanomaisella satunnaislukugeneraattorilla saatava ääni on niin sanottua valkoista kohinaa, joka on tasainen sekoitus kaikkia aallonpituuksia – samaan tapaan kuin valkoinen luonnonvalokin. Kolmioaalto on korvakuulolta samantapainen pehmeä vinkuna kuin siniaaltokin, mutta se on helpompi tuottaa digitaalilogiikalla
Länsimaisessa musiikissa oktaavi jaetaan lähes aina kahteentoista sävelkorkeuteen, ja soittimet viritetään useimmiten siten, että puolisävelaskel eli peräkkäisten sävelkorkeuksien välinen suhde on vakio, 2 potenssiin 1/12. Sahalaita-aaltoa standardiulostuloon kirjoittava C-ohjelma. Luonnollisten soitinten ääni ei ole näin kliinistä: niissä on myös niin sanottuja epäharmonisia osaääneksiä, joiden taajuus ei ole perustaajuuden moninkerta. Termi ei ole kuitenkaan aivan täsmällinen, sillä resonanssisuotimet myös voimistavat joitakin taajuuksia. Aivan toisenlainen lähtökohta synteesille on äänen fysikaalisen syntymekanismin mallintaminen taajuusrakenteen sijaan. Nykyaikana näppärin tapa muodostaa ääni tyhjästä loihditun spektrogrammin pohjalta on käänteinen Fouriermuunnos. Mallit kuvaavat ääniaallon etenemistä yksiulotteisissa johtimissa, joiden eri kohtia on kytketty toisiinsa suotimilla. Synteesiä on monenlaista Kun yksinkertaisia aaltomuotoja summataan yhteen, ne soivat samaan aikaan mutta pysyvät muuten sellaisinaan. Pisimmän siniaallon edustamaa ääntä kutsutaan perusäänekseksi, ja se samaistuu äänen sävelkorkeuteen. Synteesitekniikoita on yhdistetty monin eri tavoin, jotta saataisiin niiden hyvät puolet käyttöön samalla kertaa. Toisenlainen lisäävä tekniikka on granulaarisynteesi, jossa ”ääniatomeja” eli äärimmäisen lyhyitä ääninäytteitä tai vakioaaltomuotoisia pätkiä soitetaan tiiviinä massana eli ”pilvenä” esimerkiksi todennäköisyysjakauman ohjaamana. Tämä toteutuu puhtaimmillaan venäläisinsinööri Jevgeni Murzinin 1950-luvulla valmistamassa ANS-syntetisaattorissa, joka synnyttää lasilevylle piirretyn kuvion mukaisen äänen 144 eritaajuisesta siniaallosta. Samplepohjaiseen musiikkiin saa helposti mukaan kaikenlaisia ääniä, mutta ongelmana on etenkin takavuosikymmeninä ollut niiden runsas tilanvienti – varsinkin, kun aidonkuuloisen soittimen toteuttamiseksi ei yleensä riitä pelkkä yhden samplen toistaminen eri nopeuksilla ja äänenvoimakkuuksilla. Jotta eri sävelkorkeudet sointuisivat yhteen, on niiden oltava keskenään sopivissa matemaattisissa suhteissa. Amigasta lähtöisin oleva tracker-musiikki perustuu samplejen käyttämiseen soittimina. Huomattava osa musiikista perustuu siihen, kuinka sävelet soivat peräkkäin ja samanaikaisesti. Äänipuskuria täyttämään Äänisynteesin perusteisiin saa ehkä parhaan tuntuman, kun toteuttaa itse oman ohjelmallisen syntetisaattorin eli softasynan. Aaltomuodoksi voi vapaasti piirtää millaisen käppyrän hyvänsä, ja näin usein tehdäänkin tracker-pohjaisessa chipmusiikissa. Unix-maailmassa musiikkiohjelma saattaa yksinkertaisimmillaan vain kirjoittaa tavuja standardiulostuloon, joka täytyy edelleenohjata ääniajurin edustajalle (/dev/ dsp, aplay, pacat). Bytebeat-musiikki usein sekä kuulostaa että näyttää mielenkiintoiselta. Jos tietokoneesta halutaan ulos mahdollisimman realistista ääntä, on varma ja helppo ratkaisu yksinkertaisesti toistaa tosimaailmasta tallennettuja ääninäytteitä eli sampleja. Sen moninkertoja puolestaan kutsutaan harmonisiksi osaääneksiksi tai osatai yläsäveliksi. Tiukimmin ja teoreettisimmin määriteltynä additiivisessa synteesissä rajoitutaan pelkkiin siniaaltoihin, joita summaamalla on mahdollista rakentaa millaisia aaltomuotoja tai ylipäätään ääniä hyvänsä. Kaikilla samanlaisina toistuvilla aaltomuodoilla on kuitenkin yksi yhteinen piirre: siniaalloiksi hajotettuna niissä on vain sellaisia aallonpituuksia, jotka menevät tasan niiden kokonaispituuteen. Toiset rajapinnat, main() { int t=0; for(;;t++) putchar(t); } Listaus 1. Näin saadaan joukko sävelkorkeuksia, joiden väliset suhteet menevät kohtuullisen lähelle murtolukusuhteita. Eräs tällainen yhdistelmätekniikka on Rolandin syntetisaattoreissa ja PC-lisälaitteissa käytetty lineaariaritmeettinen synteesi, joka yhdistää samplattuja elementtejä vähentävään synteesiin. Tässä lausekkeen (t*((3+(1^t>>10&5))*(5+(3&t>>14))))>> (t>>8&3) tuottamaa grafiikkaa.. Yksinkertaisilla murtolukusuhteilla eri sävelten äänekset sattuvat lähelle toisiaan, ja erään teorian mukaan yhteensointuvuus eli konsonanssi perustuu juuri tähän. Vähentävän eli subtraktiivisen synteesin voi mieltää lisäävän synteesin vastakohdaksi: siinä äänestä vaimennetaan eri taajuusalueita suotimien eli filtterien avulla. Softasynan ohjelmoijalla on yleensä aluksi vastassa rajapinta, joka ottaa vastaan lukuarvoja – täytettä PCM-puskuriin. Erilaisia mallinnustapoja on monenlaisia, mutta ehkä eniten käytetty on digital waveguide, joka sopii hyvin esimerkiksi kielija puhallinsoittimien jäljittelyyn. Tietokonetta eivät rajoita soitinten fyysiset puitteet, joten sävelasteikon voisi tarvittaessa laskea uudelleen vaikka joka soinnunvaihdoksella. 39 Äänen laskuoppi Edellä esitellyt perusaaltomuodot eivät suinkaan ole ainoat mahdolliset – ne vain sattuvat olemaan matemaattisesti yksinkertaisimmasta päästä. Jos pisimmän siniaallon taajuus on vaikkapa 400 hertsiä, voi ääneen siis kuulua myös 800, 1200 ja 1600 hertsin ja vastaavasti sitä korkeampia taajuuksia. Suhdetta 3/2 kutsutaan vastaavasti kvintiksi ja suhteen 4/3 lähelle menevää intervallia kvartiksi. Suotimet ovat hyvin yleisiä klassikkosyntetisaattoreissa, mutta vanhoissa äänipiireissä ne ovat melko poikkeuksellisia – lähinnä siksi, ettei yksinkertainen digitaalilogiikka oikein taivu niihin. Jos sävelkorkeus on kaksi kertaa niin korkea kuin toinen, niiden välistä suhdetta eli intervallia kutsutaan oktaaviksi. Tietokonemaailmassa sitä edustavat etenkin ”kasibittiset” äänipiirit ja chip-musiikki yleensä. Tähän perustuvaa synteesitekniikkaa kutsutaan lisääväksi eli additiiviseksi synteesiksi. Tietokonemusiikissa tämä niin sanottu tasaviritys on lähes yksinomainen, vaikka kyseessä onkin sinänsä tarpeeton kompromissi. Merkittävin poikkeus on SID analogisuotimineen
Siitä tosin vähennetään puoli aallonkorkeutta, jotta se asettuisi symmetrisesti nollan molemmin puolin. ”Vakavasti otettavat” sävellysohjelmat jäljittelevät nuottidatan tallennustavassa nuottikirjoitusta: kullekin nuotille tai tauolle on määrätty erillinen kesto. Äänenä tämä on sahalaita-aalto, jonka taajuus on 256-osa näytteenottotaajuudesta – esimerkiksi Unix-äänirajapintojen 8000 hertsin oletusarvolla 31,25 Hz. Heksakoodi FF 00 on listan loppumerkki.. 4/4-tahtista tusinapoppia väsätessä tämä ei kuitenkaan ole mikään ongelma. Etenemisen yhteydessä kanavalle asetetaan uusi taajuus ja äänenvoimakkuus. Listaus 2 kuvaa yksinkertaista softasynan runkoa, johon kuuluu trackertyylisenä taulukkona tallennettu kaksiääninen nuottikuvio. Yksinkertaisen ohjelmallisen syntetisaattorin pohja, joka tuntee vain kanttiaallon. Perinteisessä demo-, trackerja chip-musiikissa käytetään sen sijaan taulukoita, joita kelataan läpi vakionopeudella, ja nuotin kesto riippuu siitä, montako tyhjää riviä kanavalle jää ennen seuraavaa nuottia. Näiden niin sanottujen bytebeatohjelmien toimintaa voi kokeilla myös www-sivuilla – esimerkiksi Skrollin sivulla osoitteessa skrolli.fi/bytebeat/. Taajuus lasketaan potenssiinkorotuksella länsimaisen 12 puolisävelaskelen tasavirityksen mukaan: nuottitaulukon luku tarkoittaa 100 hertsin perustaajuutta, luku 1 sitä yhden puolisävelaskeleen verran korotettuna ja niin edelleen. Jokainen ulostulobitti voidaan ajatella omaksi kanttiaallokseen, jonka ihmiskorva helposti kuulee erillisenä äänenä, jos se alkaa soida yhtäkkisesti. Tämän C-kielinen toteutus on listauksessa 1. Näin se tehdään perinteisesti Tavalliset softasynat eroavat huomattavasti bytebeat-ohjelmista. 4 40 esimerkiksi SDL, kutsuvat ohjelmoijan määrittelemää vastakutsufunktiota (callback): ”tässä sinulle osoitin puskurin alkuun ja sen pituus, täytä se haluamallasi äänellä”. Toinen hyvin yksinkertainen ohjelma on ikuinen silmukka, joka tulostaa silmukkalaskurin arvon alabittejä – eli lukusarjaa 0..255 loputtomiin. Vaihelaskuri pidetään nollan ja yhden välillä jakojäännösoperaatiolla (fmod). 2 1 5 . Kun ohjelman ulostulo ohjataan 8-bittistä monoääntä vastaanottavalle ääniajurille, tuloksena on kimeä kanttivinkuna, jonka taajuus on puolet äänilaitteen näytteenottotaajuudesta. Tekniikka ei kuitenkaan päätynyt laajempaan käyttöön esimerkiksi demoskenellä, jossa se olisi saattanut tarjota mahdollisuuden käyttää musiikkia jo parinsadan tavun mittaisissa tuotoksissa. Aaltomuotoa voi vaihtaa muuttamalla ulos+= -alkuisen rivin sisältöä – esimerkiksi itseisarvon (fabs) avulla sen saa muutettua puolta hiljaisemmaksi kolmioaalloksi. Äärimmäisimmästä päästä lyhyydessä on kaava t&t>>8 , joka muokkaa kanttiaaltoa kytkemällä sen ulostulobittejä päälle ja pois 256 kertaa hitaammin etenevän laskurin mukaan. Taulukossa edetään yhden rivin verran eteenpäin aina 6000 näytteen välein – eli 48000 hertsin toistotaajuutta käytettäessä 8 kertaa sekunnissa. Tässä on määritelty virvelirumpu, johon kuuluu yksi kehys kohinaa (81), kaksi pulssia (41) ja loput äänestä ovat vaimenevaa kohinaa (80). Ne jakautuvat selkeästi erillisiin osiin – esimerkiksi matalan tason synteesi on erillään ”nuotinlukijasta”. Luku -1 on taukomerkki, jonka kohdalla kanavan volyymi puolitetaan. Edistyneetkin SID-musiikkiohjelmat ovat varsin heksatäyteisiä. Kun esimerkkiohjelman putchar()funktion parametria t monimutkaistetaan, saadaan erimuotoisia, -korkuisia ja -voimakkuuksisia aaltomuotoja ja yllättävän pienellä koodilla myös musiikin kuuloista ääntä. Melodiat ja rytmit eivät synny oudoista bitinsekoituskaavoista ja laskennan epätarkkuuksista, vaan ne on tallennettu helposti hallittaviin tietorakenteisiin. Ehkä yksinkertaisin mahdollinen ohjelma, joka tuottaa jonkinlaista ääntä, on ikuinen silmukka, joka toistaa kahden tavun mittaista sarjaa. Bytebeateja etsiskeltiin ahkerasti vuonna 2011, jolloin mielenkiintoisia kaavoja löytyi toisinaan jopa umpimähkäisillä kokeiluilla. Esimerkkiohjelma tuntee vain yhden aaltomuodon – sahalaita-aallon, joka saadaan suoraan kanavan vaihelaskurin arvosta. Suosion hiipuminen johtui ehkä tekniikan vaikeasta hallittavuudesta ja äänimaailman yleisestä rujoudesta. Jos sekaan lisätään kertoimia, jotka eivät ole kahden potensseja – kuten vaikkapa kaavassa (t*5&t>>7)|(t*3&t>>10) – ilmestyy musiikin rakenteeseen myös muita intervalleja kuin oktaaveja. Klassisessa kotitietotekniikassa käytetään itsenäisesti ääntä syntetisoivia äänipiirejä, joiden toimintaa ohjataan tasaisin väliajoin kutsuttavassa soittochar nuotit[16*2] = { 26, 14, 28, -1, 29, 2, 33, -1, 38, 14, -1, -1, 33, 2, -1, -1, 29, 5, -1, -1, -1, 17, 31, -1, 28, 4, -1, -1, 24, 16, -1, -1 }; struct { float vaihe,taaj,vol; } kan[2]; int seuraava_nayte() { if((aika%6000)==0) { int rivi= aika/6000 )%16; for(int i=0;i<2;i++) { int n=nuotit[rivi*2+i]; if(n<0) kan[i].vol/=2; else { kan[i].taaj = pow(2.0,n/12.0)*100/48000.0; kan[i].vol=0.5; } } } aika++; float ulos=0; for(int i=0;i<2;i++) { kan[i].vaihe = fmod(kan[i].vaihe+kan[i].taaj,1.0); ulos+=(kan[i].vaihe-.5)*kan[i].vol; } if(ulos<-1) ulos=-1; if(ulos>1) ulos=1; return (int)(ulos*32767); } Listaus 2. Tämä tallennustapa on usein tietokoneen kannalta edullisempi, mutta sillä on vaikea kuvata monimutkaisempia rytmirakenteita
Sen sijaan jos näitä parametreja muutellaan eli moduloidaan esimerkiksi toisen oskillaattorin ohjaamana, saadaan ääneen jo huomattavasti enemmän luonnollisuutta. Sen sijaan se voi vaihdella äänen parametreja ja saada siten aikaan siihen lyhyemmän aikavälin dynamiikka. Soittorutiini päivittää äänipiirin rekistereitä eli tekee samoja asioita, mitä esimerkkiohjelma tekee kan -taulukolle seuraavaan nuottiin siirtyessään. Oikeanpuoleisin sarake osoittaa, paljonko pinossa on arvoja operaation jäljiltä. Varsinainen hupi oikeastaan alkaakin vasta alkaa siitä, kun synteesialgoritmia pääsee rikastamaan. Lisää dynamiikkaa Softasynassa ei tietenkään tarvitse rajoittua yksinkertaisiin aaltomuotoihin tai chipja tracker-musiikin perinteisiin. Näin sahalaita-aalto amplitudija taajuusmoduloituu siniaallon ohjaamana. Jotkin palikanyhdistelyyn perustuvat softasynat muistuttavat käyttöliittymältäänkin modulaarisyntetisaattoreita. Tämäntyyppisiä efektejä käytetään erityisen paljon samplepohjaisessa tracker-musiikissa. Instrumenttikohtaisten komentosarjojen läpikäymisen lisäksi soittorutiini voi myös suorittaa efektejä, esimerkiksi sävelkorkeuden vähittäistä liu’utusta nuotista toiseen. 41 rutiinissa. Mikäli modulaattorin taajuus on vähintään samaa suuruusluokkaa itse kantoaallon kanssa, saa4klangin soittimet perustuvat alkeisfunktioihin, jotka ketjutetaan pinomuistin avulla. Trumpetin kuvat esittävät, mitä samaiset algoritmit tekevät grafiikalle.. Sointuja voi puolestaan soittaa yhdellä kanavalla toistamalla sen nuotteja silmukassa peräkkäin (arpeggio). Yksinkertaisella aaltomuoto-oskillaattorilla on yleensä kaksi parametria – taajuus ja äänenvoimakkuus. Soittorutiinia kutsutaan esimerkiksi SID-musiikissa yleensä 50 kertaa sekunnissa eli joka näytönvirkistyksellä, eikä se suinkaan siirry seuraavaan nuottiin joka kerralla. Verhokäyrä pysyy perusvoimakkuudella yleensä niin kauan, kuin ”kosketin on alhaalla” (key on), minkä jälkeen se siirtyy release-vaiheeseen. Verhokäyrät kuvataan tyypillisesti neljällä parametrilla: attack (nopeus, jolla hiljaisuudesta siirrytään maksimivoimakkuuteen), decay (nopeus, jolla ääni vaimenee perusvoimakkuuteen), sustain (perusvoimakkuus) ja release (nopeus, jolla ääni vaimenee takaisin nollaan). Käyrä voi toki olla ADSR-mallia huomattavasti monimutkaisempikin, kuten esimerkiksi 90-luvun jälkipuoliskon PC-träkkereissä. Jos nämä pysyvät vakioina koko nuotin ajan, on tuloksena varsin konemainen piippaus. Kun taajuutta tai äänenvoimakkuutta moduloidaan jatkuvalla aaltomuodolla, esimerkiksi siniaallolla, saadaan vibrato tai tremolo. Kun äänenvoimakkuutta säädetään niin sanotulla verhokäyrällä, sen saa muistuttamaan esimerkiksi luonnollisen soittimen äänenvoimakkuuden vaihtelua. Esimerkiksi tyypillisessä SID-rummussa vaihdellaan eritaajuuksisten kohinaja pulssiaaltojen välillä. Kuvassa WebModular
4 42 daan taajuustai amplitudimodulaatio (FM tai AM). Jos äänigeneraattorina on jokin muu kuin tavanomainen aaltomuotooskillaattori, voi sillä olla aivan toisenlaiset säädettävät parametrit. Toki myös monenlaisia muita parametreja voidaan moduloida verhokäyrin ja oskillaattorein. Esimerkiksi Alipäästö-, ylipäästöja resonanssisuotimen vaikutukset sahalaita-aaltoon ja trumpetin kuvaan.. Amplitudimodulaatiota kutsutaan usein myös rengasmodulaatioksi sen toteuttavan analogisen piirin muodon mukaan. Toki modulaation lähteenä voi käyttää myös muiden modulaatioiden tuloksia – yhdistelymahdollisuudet ovat liki rajattomat. Etenkin taajuusmodulaatiossa ääneen syntyy paljon epäharmonisia ääneksiä, joita ei esiinny kummassakaan alkuperäisessä aaltomuodossa. 2 1 5 . Monet ohjelmat antavat yhdistellä palikoita graafisesti joko abstraktissa kaavionäkymässä tai aitoa modulaarisyntetisaattoria muistuttavassa käyttöliittymässä. Erilaisten synteesifunktioiden yhdistelyä voi kokeilla hyvin paitsi perinteisillä ohjelmointikielillä, myös Supercolliderin kaltaisilla äänisynteesiin tarkoitetuilla ohjelmointiympäristöillä. Tämä on tehnyt siitä houkuttelevan lähestymistavan esimerkiksi pienikokoisten demojen musiikkirutiineihin. Muutamana esimerkkinä vaikka pulssiaaltomuodon leveyssuhde, suotimen kynnystaajuus ja kahden eri aaltomuodon sekoitussuhde. Palikkaverkostoilla saa luotua varsin monipuolisia ääniä siihen nähden, kuinka pienellä datamäärällä sellaisen pystyy kuvaamaan. FM-synteesiä on tietokonemaailmassa käytetty etenkin PC:n Adlibja SoundBlaster-äänikorttien OPL-piireissä, minkä vuoksi sillä on ehkä tarpeettomankin huono maine tietokoneharrastajien keskuudessa
Neuroverkkoja on kokeiltu onnistuneesti monilla musiikinja äänentuoton osa-alueilla. Äänisynteesin seuraavan suuren mullistuksen ei tarvitse välttämättä vaatia tuhottomasti laskentatehoa. Kielisoitinten ohella ne sopivat hyvin etenkin puhallinten mallinnukseen. Se toteutetaan samalla periaatteella, mutta sekoituskerroin asetetaan negatiiviseksi. Resonanssisuodin on synteesin kannalta erityisen mielenkiintoinen, sillä se voimistaa äänestä tiettyjä taajuusalueita. Kuvankäsittelyohjelmissa sitä vastaa sumennussuodin. Puskuri vastaa tässä mallissa kieltä, jota pitkin aalto etenee törmätäkseen lopulta kiinnityskohtaansa, josta se hieman suodattuneena kimpoaa vastakkaiseen suuntaan. Ohjelmallisesti sen voi toteuttaa sekoittamalla näytteeseen jonkin verran edellisen suodatuksen tulosta – tai keveimmillään vaikkapa vain laskemalla niiden keskiarvon. Niinpä varsin suosittu tapa puhesynteesin toteuttamiseen onkin suotimiin perustuva formanttisynteesi. Waveguide-mallit voi lisäksi yleistää kahteen tai useampaan ulottuvuuteen, jolloin voidaan simuloida esimerkiksi rumpukalvon värähtelyä. OpenAL on positionaalisen äänen tuottamiseen erikoistunut rajapinta, jota on käytetty etenkin peleissä. Negatiiviset suodatinparametrit muuttavat äänen metalliseksi kilahteluksi. Omiin kokeiluihin sopivia kieliä, rajapintoja ja leikkimisympäristöjä on valtavat määrät, joten ei muuta kuin etsimään itselle sopiva ja askartelemaan! Karplus-Strong-algoritmin toimintaperiaate.. Suodatettua ääntä Monesti eri synteesitekniikoiden jäljiltä ääneen jää esimerkiksi korkeita vinkunoita ja muita ei-toivottuja taajuuksia. Ylipäästösuodinta vastaa kuvankäsittelyssä terävöityssuodin. Alipäästösuodin hiljentää korkeampia taajuuksia mutta päästää alemmat läpi. Ääneen säröä tuottamalla ja sitä takaisin kielten värähtelyksi johtamalla saa aikaiseksi vaikkapa sähkökitaran. Uusia ulottuvuuksia Nykyisin eivät laskentaresurssit juuri rajoita sitä, kuinka mielikuvituksellisia synteesihökötyksiä tietokoneella voi rakentaa – olivat ne sitten fysikaalisia malleja, suodinja oskillaattoriverkostoja tai vaikkapa niiden yhdistelmiä. Siinä puskuri täytetään aluksi kohinalla, minkä jälkeen sen sisältöä soitetaan toistuvassa silmukassa samalla alipäästösuodattaen sitä. Digitaalisesti toteutettuna resonanssisuodin on hieman aiemminmainittuja monimutkaisempi – se laskee painotetun keskiarvon näytteestä ja kahdesta edellisestä suodatustuloksesta. Rekurrentteja verkkoja voi käyttää jo itsessään syntetisaattoreina: neuronien painokertoimet ovat ikäänkuin potikoita, jotka opetusalgoritmi pyörittelee esimerkiksi vastaamaan annettua malliääntä. Tämän artikkelin tarkoituksena oli antaa jonkinlainen pintaraapaisumainen peruskäsitys äänisynteesistä ja siihen liittyvistä ohjelmointitekniikoista. Suomen kielen kaikkien vokaalien tunnistettavaan tuottamiseen riittää kolme suodinta, mutta täydellisempi ääntöväylän malli vaatii vielä muutamia lisää. Äänen korkeutta voi KarplusStrong-mallissa muuttaa vaihtamalla puskurin pituutta, ja suodatusfunktion vaihtelu vaikuttaa muun muassa äänen vaimenemisnopeuteen. Verkko voi toki säätää myös valmiin syntetisaattorin parametreja ja vaikkapa oppia soittamaan ihmiselle aivan liian monimutkaista mielikuvitussoitinta luonnollisen kuuloisesti. On nimittäin takuuvarmasti olemassa myös sellaisia kevyitä synteesimalleja, joita kukaan ei ole vielä tullut ajatelleeksi. Puhutun kielen äänne-erot perustuvat paljolti formanttitaajuuksien eroihin. Ylipäästösuodin toimii juuri päinvastoin kuin alipäästösuodin, eli jättää jäljelle sen osuuden, jonka alipäästösuodin poistaisi. Näin sen avulla pystytään saamaan aikaan niin sanottuja formantteja eli tietylle taajuusalueelle keskittyviä voimistumia. Oleellisempi kysymys onkin se, kuinka löytää uusia ja mielenkiintoisia mahdollisuuksia tästä runsaudesta. Kimpoilevat ääniaallot Jos ääneen halutaan kaikua, onnistuu se luontevimmin viivepuskurilla, josta ääneen saadaan mukaan sen omaa historiaa vaikkapa sekunnin takaa. Toki suotimet ovat hyödyllisiä myös itse synteesissä, sillä monesti halutun äänen taajuuskoostumuksen halutaan esimerkiksi muuttuvan tasaisesti ajan mittaan. Tilavaikutelmaa luonnollisestikin vahvistaa, jos käytössä on useampi kaiutin, joille äänen kimpoilut lasketaan erikseen. 43 Windows-pohjaisiin 4k-demoihin tarkoitetun 4klang-softasynan soittimet perustuvat yksinkertaisella pinopohjaisella kielellä kuvattuihin rakenteisiin. Koska eteneminen on samanlaista molempiin suuntiin, ei molempia suuntia ole välttämätöntä mallintaa erikseen. Ehkä yksinkertaisimman mahdollisen fysikaalisen soitinmallin toteuttaa Karplus-Strong-algoritmi. Kun kaikuvien tilojen sijaan halutaan mallintaa soittimien akustiikkaa, voidaan siihen käyttää lyhyempiä viivepuskureita, joiden pituus on haluttujen äänten aallonpituuksien luokkaa. ”Kurkusta” tulee tällaisessa mallissa joko kohinaa tai pehmennetyn sahalaita-aallon kaltaista korinaa riippuen siitä, lausutaanko soinnitonta vai soinnillista äännettä, ja tätä ”kurkkuaaltoa” muovataan resonanssisuotimien sarjalla. Tämä aikaansaa yllättävän aidonkuuloisen kitaraäänen. Tällöin äänen taajuuskoostumusta on hyvä tasoittaa suotimien avulla, vaikkei suotimilla muuten haluaisikaan kikkailla. Karplus-Strongin yleistettyjä versioita kutsutaan digital waveguide -synteesiksi: siinä puskurin varrella voi olla useampia erilaisia suotimia ja linkkejä, ja puskureita voi olla useampiakin. Erilaisia tilavaikutelmia saa paitsi vaihtamalla kaiun kestoa ja voimakkuutta, myös suodattamalla kaikuja ja asettamalla niitä useita päällekkäin. Bytebeat-kokeilut paljastivat muutama vuosi sitten, että tietojenkäsittelyn perusoperaatioitakin voi vielä käyttää ennenkokeilemattomilla tavoilla äänisynteesissä, vaikka niiden käyttöön riittävää rautaa on ollut olemassa vuosikymmenten ajan
Pituuspiirit (longitude) ovat pitkittäin samansuuntaisia maan pyörimisakselin kanssa. Navigointirajapintojen käyttäminen vaatii ajonaikaisia riippuvuuksia. Ne siis piirretään maapallon navalta toiselle. Nyt hypätään tähän päivään ja opitaan käyttämään satelliittipaikannusta. Jollalla perille Sailfish-ohjelmointi, osa 3 Koodi Skrollin numerossa 2015.2 päästiin Jolla-puhelimella entisajan navigoinnin huipputekniikkaan, kompassin käyttöön. Lukijalta oletetaan Sailfish-ohjelmointisarjan edellisissä artikkeleissa käsiteltyjen asioiden tuntemista, jotta vältytään turhalta toistolta. Koordinaattijärjestelmässä on määritetty pituusja leveyspiirit. Koordinaattijärjestelmä Navigoinnissa käytetään koordinaattijärjestelmää, joka pohjautuu pallokoordinaatistoon. Sittemmin GPS-paikannus tuli älypuhelimiin ja löytyy tietysti myös Jolla-puhelimista. 2 1 5 . Kerromme kuitenkin keinot myös Here-karttojen ja -palveluiden käyttöön. Leveyspiirit (latitude) ovat kohtisuorassa pituuspiirejä vasten ja kertovat sijainnin poikkeaman päiväntasaajalta. Näistä ensimmäisessä näytetään, miten sijaintitietoa pyydetään rajapinnalta. Toisessa käytetään järjestelmän tarjoamia karttapalveluita kartan näyttämiseen ja sille piirtämiseen. 4 44 T äyden tarkkuuden GPSsatelliittipaikannus on ollut tarjolla kuluttajamarkkinoille vuodesta 2000 ja on vallannut navigointimarkkinat kuluneen 15 vuoden aikana. Esimerkkiohjelma on ladattavissa osoitteesta www.skrolli.fi/2015.4. Sailfish-ohjelmaprojektin .yaml-tiedoston Requires-kohtaan täytyy lisätä riippuvuudet seuraaviin paketteihin: qt5-qtdeclarative-import-positioning >= 5.2 qt5-qtdeclarative-import-location >= 5.0 qt5-plugin-geoservices-osm >= 5.2 qt5-plugin-geoservices-nokia >= 5.2 Näistä ensimmäinen on sijaintiin ja paikannukseen liittyvä rajapinta, toinen paikkojen ja karttojen esittämistä varten, kolmas OSM-karttapalvelut tarjoava lisäosa ja viimeinen Herekarttojen lisäosa. Tosiasiassa GPS:n koordinaattijärjestelmä WGS84 (World Geodetic System, 1984) ottaa huomioon maapallon elliptisen muodon, mutta sijaintiin liittyvien laskujen suorittaminen pallokoordinaatistossa säteellä 6371 km antaa yleensä riittävän tarkan lopputuloksen. Sailfish tukee kahta karttapalvelua: Open Street Map (OSM) ja Nokian Here. Esimerkkiohjelmana käytetään numeron 2015.2 artikkelissa käytettyä runkoa, johon on lisätty kolme uutta sivua: paikannus-, karttaja paikkasivu. Tunnistuksen perusteella palveluntarjoaja laskee käyttötilastoja ja valvoo, että rajapinnan käyttö on sopimuksen mukaista. Kolmannessa tutkitaan karttapalveluiden tarjoamia lisäpalveluita, joista esimerkissä käsitellään reititystä ja paikkatietoja eli tietoa ravintoloista ja muista toimijoista. Tässä artikkelissa käydään läpi pääpiirteittäin, miten Qt-sovelluskehyksen QML-rajapintojen avulla vastaanotetaan paikkatietoa, kuvataan paikkoja ja esitetään karttoja. Teksti ja koodi: Asser Lähdemäki Kuvat: Mitol Meerna, Asser Lähdemäki, Mikko Torvinen. Esimerkeissä on käytetty OSMkarttoja, koska niiden käyttö ei vaadi rajapinta-avainta, jonka avulla palvelu tunnistaa sovelluksen
Olion background-ominaisuuteen on laitettu SilicaFlickable, jonka lapsina ovat käyttöliittymän ohjaimet ja ohjetekstit. Esimerkiksi Position-oliolla on speed-ominaisuus nopeuden lukemista varten, mutta Location-oliolta se puuttuu. Ensin mainittu laskee etäisyyden maapallon kehää pitkin, ja toinen laskee kulman myötäpäivään suhteessa maantieteelliseen pohjoisnapaan. Kun sijaintitieto päivittyy, olio lähettää signaalin positionChanged(). Rajapinnan olioiden avulla karttamerkinnät voi sitoa koordinaatteihin, jolloin merkinnät liikkuvat kartan mukana. Näiden lisäksi rajapintaan kuuluu coordinate-tyyppi paikkakoordinaatteja varten. Vastaavasti nollapituuspiiri ja pituuspiirejä koskevat kulmat ovat sinisiä. Etäisyys ja suuntima lasketaan coordinate-tyypin jäsenfunktioilla distanceTo(coordinate other) ja azimuthTo(coordinate other). 45 Kuvassa 1 päiväntasaaja sekä leveyspiireihin liittyvät kulmat on väritetty punaisella. Oletusarvoisesti käytetään kaikkia tarjolla olevia menetelmiä. Kutsulla helsinki.coordinate .azimuthTo( positionSrc.position.coordinate) puolestaan saadaan kuvassa näkyvä kulma ?. Sen coordinate-ominaisuuden avulla voidaan laskea nykyisen sijainnin etäisyys Helsinkiin ja suuntima Helsingistä katsoen. Lisäksi Location-oliolla esitetään Helsingin sijainti. Tutkitaan GPS-koodia Listauksessa 1 on paikannusesimerkin koodi. Nollapituuspiiri kulkee Lontoossa sijaitsevan Greenwichin läpi. Paikannusesimerkissä käytetään käyttäjän määrittelemää päivitysväliä ja oletuspaikannusmenetelmiä. Nopeus ja korkeus näytetään puhelimen ruudulla, jos mittausarvot ovat saatavilla. Kuva 1. Se vastaa Javascriptin varavainsanalla määritettäviä muuttujia. Listauksen alussa on määritelty Drawer-olio, jonka avulla ruutu voidaan jakaa kartan ja käyttöliittymän kesken. Käytettävissä olevat paikannusmenetelmät katsotaan PositionSource-olion supportedPositioningMethods-ominaisuuden avulla ja haluttu menetelmä valitaan asettamalla preferredPositioningMethods. Esimerkkikoodissa kutsulla helsinki.coordinate .distanceTo( positionSrc.position.coordinate) lasketaan kuvassa 2 piirretyn Helsingin ja oman sijainnin välisen kaaren pituus. Kummallekin annetaan parametrina toinen koordinaattipiste. Esimerkiksi jos speedValid-ominaisuus on arvoltaan tosi, päivitys sisältää nopeustiedon. Kumpikin olettaa maapallon täydelliseksi palloksi, eli maaston korkeuseroja eikä elliptisyyttä ei laskuissa huomioida. Se tarjoaa karttaolion Map sekä joukon olioita, joiden avulla kartalle voi piirtää. Vaihtoehtoisesti voi pyytää vain yhtä sijaintipäivitystä kutsumalla update()jäsenfunktiota eli metodia. Rajapinnan mukaisia coordinate olioita voi luoda QtPositioning-olion funktiolla QtPositioning.coordinate(lat, lon). Ominaisuus coordinate puolestaan on tyypiltään coordinate ja sisältää pituuspiirin (longitude) ja leveyspiirin (latitude) arvot asteina sekä korkeuden (altitude) merenpinnasta metreinä. Sijaintipäivityksiä pyydetään tasaisin välein asettamalla päivitysväli (ominaisuus updateInterval) millisekunteina ja ominaisuus active arvoon true. Kartan näyttäminen Edellä opittiin selvittämään, missä Jolla seilaa. suuntima Helsinkiin.. Tätä varten Qt:ssa on QtLocation-moduuli. GPS-paikannus haltuun Leveysja pituuspiiritiedon lisäksi GPS-moduulin avulla saadaan selville maanopeus ja arvioitu korkeus mitattuna merenpinnasta. Tyypin ”coordinate” olioita ei voi luoda itsenäisesti komennolla coordinate { id: ... Listauksessa 2 on kartan näyttämiseen ja käyttöön liittyvän sivun ohjelmakoodi. Location-oliolla ja sen ominaisuuksien avulla puolestaan voi tallentaa esimerkiksi postiosoitteen mutta Position-oliolla ei. on suuntima Helsingistä ja kulma . Ominaisuus speed kertoo lasketun maanopeuden, ja horizontalAccuracy antaa arvion sijaintitiedon tarkkuudesta metreinä. Tyyppi var on QML:n yleistyyppi, johon voi tallentaa muita tyyppejä, esimerkiksi lukuja, merkkijonoja ja olioita. Totuusarvoiset Valid-sanaan loppuvat ominaisuudet kertovat, sisälsikö mittauspäivitys kelvolliset arvot. Position sisältää muun muassa ominaisuudet coordinate, speed ja horizontalAccuracy. Kulma . Jakautuminen näkyy kuvassa 4. Päivityshetken sijaintitieto on annettu Position-oliona, joka luetaan PositionSource-olion ominaisuudesta position. Koodilistauksissa käytetään kolmea pistettä (...) ilmaisemaan käsiteltävän asian kannalta epäoleellista koodia. Itse toteutetuissa olioissa käytetään var-tyypin ominaisuutta tallennukseen. Qt:n sijaintirajapinta otetaan käyttöön QML:ssä seuraavalla käskyllä: import QtPositioning 5.2 Rajapinnan tärkeimmät oliot ovat PositionSource, Position ja Location. Rajapinta tarjoaa myös funktiot esimerkiksi koordinaattipisteiden etäisyyden laskemiseen ja pisteen etsimiseen tietyltä alueelta. } vaan se on aina tallennettava ominaisuuteen tai Javascript-muuttujaan. PositionSource-olion avulla pyydetään sijaintitietoa, Position-olio esittää muuttuvan sijainnin ja Location-olio on tarkoitettu pysyvämpien paikkojen kuvaamiseen. Suuntima tarkoittaa siis Helsingistä pohjoisnavalle ja puhelimen sijaintiin piirrettyjen kaarten välistä kulmaa (kuva 2). Koordinaattijärjestelmän määritelmät. Katsotaan seuraavaksi, miten tämä tieto havainnollistetaan kartalla. Esimerkiksi käyttöliittymän painikkeet ja niiden käyttö on käsitelty Skrollin numerossa 2014.2, eikä niiden koodia tässä enää toisteta. Kuva 2
Lisäksi kartta tarjoaa muunnokset ruudun xy-pisteen muuttamiseksi koordinaattipisteeksi ja päinvastoin. 2 1 5 . Näiden kolmen käyttö selitetään seuraavaksi. Kartan koko asetetaan zoomLevelominaisuudella, jonka arvo on oletuksena 8. Funktio showMarkersNear(point) värittää 1500 metrin säteisen, kosketettuun pisteeseen keskitetyn ympyrän sisään jäävät karttamerkinnät vihreiksi. Nykyiset lisäosat toimivat vain online-tilassa, eli karttojen näyttäminen vaatii internet-yhteyden. Nämä funktiot ovat nimeltään toCoordinate(point) ja fromCoordinate(coordinate). Kaikki pisteet voi poistaa asettamalla pisteitä sisältävä lista eli ominaisuus path arvoon []. 4 46 Listauksen keskivaiheilla on määritelty Map-olio, joka piirtää kartan ja tarjoaa valmiit eleet kartan selaamiseen, lähentämiseen ja loitontamiseen. Karttamerkintöjen tekeminen Edellä kerrotut ohjeet riittävät kartan näyttämiseen, mutta karttaan voi myös kiinnittää erilaisia QML-olioita rajapintaan kuuluvien Map-alkuisten olioiden avulla. MapCircle-oliolla piirretään kartalle ympyröitä. Kauttakulkupisteitä lisätään ja poistetaan jäsenfunktioilla addCoordinate(coord) ja removeCoordinate(coord). Paikannussivu. Parametreilla voi hienosäätää lisäosan toimintaa, mutta ne jätetään käsittelemättä tässä artikkelissa. Karttaoliolle on annettava lisäosaolio Plugin, joka kertoo, mitä karttapalvelua käytetään. Näiden lisäksi esimerkissä käytetään listauksessa 3 esitettyä MapModesoliota. Listauksessa 2 on käytössä tilat drawRoute, placeMarkers ja markersNearby. Listauksen 2 keskivaiheilla Map-olion lapsina ovat MapQuickItem, MapCircle ja MapPolyline. Kartalle piirtelyä.. Tämä saavutetaan joko staattisesti QML:nä esitettynä (listaus 2, id:t ownPosition ja uncertaintyCircle) tai dynaamisesti antamalla karttaolio ensimmäisenä parametrina Component-olion createObject(parent, properties)-jäsenfunktiolle (listaus 2, addMarker()funktio). Kutsuttava funktio riippuu valitusta karttatilasta. Esimerkissä on käytetty MapQuickItem-, MapCircleja MapPolyline-olioita. Ainoastaan rajapinta-avaimen antaminen Here-lisäosalle (name: ”nokia” ) näytetään. Esimerkkiohjelmassa käytetään lisäosaa ”osm” eli Open Street Mapia. Piirrettävään polkuun (MapPolyline-olio) lisätään koordinaattipiste addRoutePoint(point)-funktiolla. Kartta keskitetään asettamalla coordinate-tyypin ominaisuus center. Ensimmäisen kerran sen voi tehdä Component.onComplete-käsittelijässä, eli kun kartta on latautunut ja valmis. MapPolyline on tarkoitettu polkujen piirtämiseen. coordinate(lat, lon). Poistaessa yksittäisiä pisteitä on parametrina annettava jokin coordinate-olio, joka kuuluu listaan path. MapQuickItem on yleiskäyttöisin piirrettävä karttaolio. Ensimmäisen parametrina käytetyn olion voi luoda funktiolla Qt.point(x, y) ja jälkimmäisen funktiolla QtPositioning. Esimerkissä on luotu MapQuickItemolio, jonka ominaisuus id on kuvattavan asian mukaisesti ownPosition. MapMarker-olio ei kuitenkaan ole rajapinnan olio vaan oma komponenttinsa, jota käytetään MapQuickItemin kanssa. Lisäksi ympyrän väriä, reunusta ja muita yksityiskohtia voi säätää, kuten esimerkissä on tehty. Suuremmalla arvolla piirretään pienempi alue tarkemmin näkyviin. Koordinaatti ja piirrettävän olion piste sidotaan antamalla anchorPoint.x ja anchorPoint.y. Lisäosille voi antaa parametreja lisäämällä niiden lapsiolioiksi PluginParameter-olioita. Oliossa sidotaan pallo keskipisteestään puhelimen GPS-paikantimelta saatuun sijaintiin. Kuva 3. Kuva 4. Lisättävän olion on oltava karttaolion lapsi. Piirtämistä varten ympyrän keskipisteen sijainti kerrotaan asettamalla ominaisuuteen center coordinate-tyypin olio. Tämäkin on sovelluksen oma olio, joka esittää käytettäviä karttatiloja. Uuden coordinate-olion luominen samaan pisteeseen ei riitä. Viimeinen funktio addMarker(point) luo uuden MapMarker-olion dynaamisesti ja lisää sen kartalle. Vastaavasti poisto onnistuu kutsumalla removeMapItem(item)funktiota. Sille annetaan sourceItem-ominaisuudella toinen olio, joka piirretään kartalle coordinate-koordinaattiin. Esimerkissä on piirretty GPS:n ilmoittama epävarmuusalue tämän olion avulla. Listauksen 2 lopussa esiteltäviä apufunktioita kutsutaan, kun karttaa kosketetaan klikkauksenomaisesti. Valinta tapahtuu switch– case-rakenteella MouseArea-olion onClicked-käsittelijässä, joka on muutamia rivejä funktioiden määrittelyjä ylempänä. Kartalle lisätään olioita kutsumalla Map-olion addMapItem(item)-jäsenfunktiota. Ympyrän sädettä metreinä säädetään ominaisuuden radius kautta
Esimerkin PlaceSearchModel on listauksen 4 lopussa, RouteQueryn yläpuolella. Kolmas MapItemView näyttää PlaceSearchModel-olion eli paikkamallin tiedot. Karttaolion Map lapsina on nyt kuitenkin kolme MapItemView-oliota. Funktio addRoutePoint(point) ottaa näytöltä kosketetun pisteen ja muuttaa sen koordinaatiksi. Sille täytyy asettaa ominaisuudet plugin ja query. Esimerkin lopussa, Map-olion jälkeen, on esitelty apufunktio pisteen lisäämiselle. Malli päivitetään kutsumalla RouteModelin jäsenfunktiota update(). Piste lisätään reittikyselyyn addWaypoint-funktiolla. Menetelmän hyödyt huomaa helposti rajapinnan tarjoamien mallien avulla. Ensin katsottiin, miten GPSkoordinaatit saa Jollasta ulos ja omaan ohjelmaan, sitten piirrettiin kartalle ja lopuksi tutkittiin valmiiksi toteutettuja, järjestelmällisiä tapoja yleisten navigointitehtävien tekemiseen eli reittien ja paikkojen hakemiseen. Ensimmäiselle riittää viit taus Map-oliolle luotuun Pluginolioon, mutta myös eri lisäosaa voi käyttää. Siinä on käytetty lisäosana Here-karttoja, jolloin Pluginin name-ominaisuudeksi tulee ”nokia”. Niitä käytetään reittien, paikkojen ja geokoodauksen hakemiseen. Näillä eväillä lukija voinee käyttää online-karttoja omissa sovelluksissaan, kuten jo jotkin sovellukset tekevät, esimerkiksi reitin nauhoitin ja paikallisbussien seuraamissovellus. Tämä viittaa Place-olioon, joka sisältää muun muassa paikan nimen, tietoja ikonista ja Location-olion, jossa on paikan osoite ja koordinaatit. Nämä ovat saatavissa ilmaisillakin käyttöehdoilla osoitteesta developer.here.com. 47 Malli–näkymä-ajattelun hyödyntäminen Rajapinta tarjoaa myös QML:lle tyypillistä malli–näkymä-ajattelua varten MapItemView-olion. Lopuksi malli päivitetään, jos pisteitä on enemmän kuin kaksi. Muutosten jälkeen hakutulokset päivitetään kutsumalla jäsenfunktiota update(). Esimerkissä on luotu geocircle kutsumalla funktiota QtPositioning.circle(center, radius). Malli tarjoaa edustajalle useita eri rooleja, mutta esimerkissä on käytetty ainoastaan place-roolia. Reititysja paikkasivu.. Tästä syystä se tarvitsi oman edustajaolion, OSMRouten luomista, jossa virhe (koordinaatit dekadia liian suuret) korjataan. Paikkojen hakeminen Paikkoja – kuten vaikka pitserioita, autokatsastamoita tai elokuvateattereita – voi etsiä paikkarajapinnan avulla, mikäli lisäosa tarjoaa sellaisen palvelun. Ehjällä lisäosalla voi käyttää suoraan rajapinnan valmista MapRoute-oliota. Mallin tietoihin pääsee edustajassa käsiksi viittaamalla mallin rooliin routeData, joka on Route-olio. Hakualue sijoitetaan ominaisuuteen searchArea, ja sen tulee olla tyypiltään geoshape. Tällä oliolla on lukuisia ominaisuuksia reittihaun hienosäätämiseksi, kieltoalueista kulkuneuvon valintaan. MapQuickItemin avulla voidaan kuitenkin käyttää mitä tahansa omaa piirrettävää oliota, vaikkapa kuvaa tai tekstiä. Reittipisteitä lisätään kutsumalla RouteQueryn addWaypoint(coordinate)-jäsenfunktiota. Mikäli reitti löytyi kyselyn perusteella, päivittynyt data esitetään kartalla automaattisesti malli–näkymä-periaatteen mukaisesti. Paikkoja haetaan PlaceSearchModel-olion avulla. Valitettavasti OSM-lisäosaan tätä ei ole toteutettu, mutta onneksi Here-palvelu tukee myös paikkojen hakua. Katsotaan esimerkkinä reittien ja paikkojen haku rajapinnan malleja käyttäen. Listauksen 4 esimerkkisivu on melko samanlainen kuin ensimmäinen karttasivu. Reittimallille tarvittiin poikkeuksellisesti kaksi näkymäoliota, koska OSMreititys on nykyisessä lisäosaversiossa (5.2.1+git6-1.22.6) rikki. Koodausintoa kaikille! Kuva 5. Tälle oliolle voi antaa mallin, esimerkiksi ListModelolion, ja edustajan (delegate), joka on jokin kartalle piirrettäväksi kelpaava olio. Esitellyille ominaisuuksille riittää myös sovelluskohteita, joita Sailfishille ei vielä ole tehty: geokätköilysovellus, salamatutka tai vaikka uutistenlukija, joka näyttää tapahtumapaikat kartalla. Tärkeintä on kuitenkin reittipisteiden asettaminen, ja esimerkissä kaikki muut arvot on jätetty oletuksiin. Kohti tuntemattomia vesiä Artikkelissa käytiin läpi runsas tietopaketti Qt:n paikannusja sijaintirajapinnoista. Minimaaliset asetukset paikkojen hakemiseksi ilman rajoituksia ovat lisäosa, alue ja hakutermi. Edustajana on itse toteutettu olio PlaceMarker, joka pohjautuu MapQuickItemiin. Itse Route-olion yksityiskohdat selviävät dokumentaatiosta helposti, mutta mainittakoon, että tiedot ovat luettavissa ainoastaan olion ominaisuuksien kautta. Ilman parametreja funktio palauttaa arvon tosi, jos jotakin reititystapaa tue taan. Olion voi sijoittaa suoraan MapRoute-olion route-ominaisuuteen, kuten listauksen 4 keskivaiheilla on tehty (id: normalRoute ). Kahta ensimmäistä käytetään reittimallin eli RouteModel-olion datan visualisoimiseen. Mikäli innostus ei vielä riitä kokonaisen oman sovelluksen tekemiseen, esimerkkiohjelmaa kokeilemalla ja muokkaamalla pääsee kuitenkin tutustumaan perustoimintoihin. On myös lisättävä listauksessa 4 kommentoidut kaksi PluginParameterriviä, joissa asetetaan sovellusavain ja tunnus. Hakutermi searchTerm on pelkkä merkkijono. Reittien etsiminen Reitit löytyvät listauksen 4 loppuosassa käytetyn RouteModel-olion avulla. Tuen reititykselle voi tarkistaa Plug inin jäsenfunktiolla supportsRouting(). Toiseen ominaisuuksista asetetaan RouteQuery-olio
• doc.qt.io/qt-5/qtpositioning-index.html – QtPositioning dokumentaatio. • doc.qt.io/qt-5/location-places-qml.html – Paikkarajapinta, jonka avulla voi etsiä karttapalveluun kirjattuja paikkoja. } } function getMenuString(mode) { switch (mode) { case root.ownPosition: return qsTr("Own position"); ... Paikannussivun koodi. • developer.ubuntu.com/api/apps/qml/sdk-15.04/QtLocation.location-pluginnokia/ – Here-karttalisäosan käyttöohjeet. 2 1 5 . positionSrc.position.coordinate.altitude : 0); } Location { id: helsinki coordinate { latitude: 60.1708 longitude: 24.9375 } } Label { id: distanceLabel x: Theme.paddingLarge width: parent.width-2*Theme.paddingLarge wrapMode: Text.WordWrap text: qsTr("From Helsinki to your location:\n" + " distance %1 m, and bearing %2 degrees") .arg(helsinki .coordinate.distanceTo( positionSrc.position.coordinate)) .arg(helsinki .coordinate.azimuthTo( positionSrc.position.coordinate)); } } } Listaus 1. 4 48 import QtQuick 2.0 import Sailfish.Silica 1.0 import QtPositioning 5.2 Page { id: root PositionSource { id: positionSrc updateInterval: intervalSlider.value active: activationSwitch.checked } Column { ... • doc.qt.io/qt-5/qml-qtlocation-place.html – Yksi PlaceSearchModelin tarjoama olio paikkatiedoille. Sisältää Map-, Map-alkuisten, Placeja malliolioiden tarkat ominaisuuslistat. } } property ListModel availableModes: ListModel { } function addAvailableMode(mode) { availableModes.append({"modelMode": mode}); } } Navigoi lisätiedon lähteille • developer.ubuntu.com/api/apps/qml/sdk-15.04/QtLocation/ – QtLocationdokumentaatio. Slider { x: Theme.paddingLarge width: parent.width-2*Theme.paddingLarge id: intervalSlider label: qsTr("position update interval") minimumValue: 500 maximumValue: 5000 stepSize: 1 value: 2500 valueText: qsTr("%1 ms").arg(value) } SectionHeader { text: qsTr("Indicators") } Label { x: Theme.paddingLarge width: parent.width-2*Theme.paddingLarge wrapMode: Text.Wrap text: qsTr("Used positioning method: %1").arg(methodName) property string methodName: { switch(positionSrc.supportedPositioningMethods) { case PositionSource.SatellitePositioningMethods: return qsTr("Satellite"); case PositionSource.NoPositioningMethods: return qsTr("Not available"); case PositionSource.NonSatellitePositioningMethods: return qsTr("Non-satellite"); case PositionSource.AllPositioningMethods: return qsTr("Multiple"); default: return qsTr("source error"); } } } Label { id: positionLabel x: Theme.paddingLarge width: parent.width-2*Theme.paddingLarge wrapMode: Text.WordWrap text: qsTr("You're at %1 latitude, %2 longitude," + " by accuracy of %3 m") .arg(positionSrc.position.coordinate.latitude) .arg(positionSrc.position.coordinate.longitude) .arg(positionSrc.position.horizontalAccuracy); } Label { id: speedLabel x: Theme.paddingLarge width: parent.width-2*Theme.paddingLarge wrapMode: Text.WordWrap text: qsTr("Your speed is %1 m/s," + " and altitude approximately %2 m.") .arg(positionSrc.position.speedValid . Ubuntu-developerin dokumentaatio on jäädytetty versioon 5.0/5.2. Uudempi dokumentaatio löytyy doc.qt.io-osoitteesta. MapModes-komponentti. • developer.ubuntu.com/api/apps/qml/sdk-15.04/QtLocation.locationplugin-osm/ – OSM-lisäosan parametrit ja käyttöohjeet. Sisältää tarkemmat tiedot Position-, PositionSourceja Location-olioista. Listaus 3. • developer.ubuntu.com/api/apps/qml/sdk-15.04/QtLocation.Plugin/ – Plugin-olion dokumentaatio. positionSrc.position.speed : ) .arg(positionSrc.position.altitudeValid . • www.navis.fi/sanasto.html – Helsingin Navigaattorit ry:n navigointisanasto.. import QtQuick 2.0 QtObject { id: root property int ownPosition: 1 property int drawRoute: 2 property int placeMarkers: 3 property int markersNearby: 4 property int routing: 5 property int placesNearby: 6 function getDescription(mode) { switch ( mode ) { case root.ownPosition: return qsTr("Press the map to show/hide full map," + " own position is shown with" + " uncertainty circle."); ... Osa esitellyistä parametreista toimii myös OSM-lisäosan kanssa
4 52 T ietokanta on mikä tahansa järjestelmällinen tietovarasto, eikä se välttämättä edes liity tietokoneisiin mitenkään. Myös kaupalliset yhteisöpalvelut kuten Facebook ja Twitter voidaan ajatella käyttöliittymänä valtavan suureen tietokantaan, johon on tallennettu käyttäjätiedot, viestit ja kaikki muukin sisältö. Siksi niiden ymmärtäminen kuuluu tietotekniikan yleissivistykseen. Tässä yhteydessä emme sukella ohjelmakoodin sekaan vaan otamme haltuun tietokantojen Tietoa kantaan ja takaisin Tietokannat ovat tietokonealan perustekniikkaa, jota ilman pyörät eivät pyöri eikä bitti etene. Teksti: Teemu Likonen Kuvat: Tapio Lehtimäki, Teemu Likonen, Mitol Meerna, Nasu Mäki-Petäys Käyttäjä Sovellusohjelma Tietokanta Tietotekniikan ravintoketju. Tietokannat ovat eräänlaista pinnan alla vaikuttavaa tekniikkaa, jonka varaan monet muut ohjelmat ja tekniikka rakentuvat. 2 1 5 . Mutta mitä tietokannat oikeastaan ovat, ja miten ne toimivat. Ilmeisimpiä käyttökohteita ovat kirjaston tiedonhakupalvelu sekä väestötai asiakasrekisterin kaltaiset henkilötietokannat. Nyt otetaan selvää. Esimerkiksi nettiselaimen suosikkilinkit ja selaushistoria ovat ohjelman omassa tietokannassa. Esimerkiksi puhelinluettelo, kalenteri ja www-palvelimen lokitiedosto ovat tietokantoja, koska niihin tallennetaan tietoa säännönmukaisessa muodossa. Tekniikka. Monet tietokannat ovat piilossa tai niin pieniä, ettei niitä edes miellä tietokannoiksi. Myös tietokonepelin hahmot ja pelimaailman tilanne tallennetaan tietokantaan, joka on piilossa peliohjelman sisällä. Nykyaikana tietokantoja on joka paikassa ja ne palvelevat hyvin erilaisia tarpeita
Taulukossa olevaa yksilöivää tunnistesaraketta kutsutaan taulukon perusavaimeksi (primary key). Näin tietokanta osaa kytkeä henkilöille erilaisia yhteystietoja ja niitä voi olla miten paljon tahansa. Yhden taulukon perusavaimeen viittaava toisen taulukon sarake on nimeltään viiteavain (foreign key). Ihminen toki ymmärtää, mistä on kyse, mutta tietokoneen kannalta sisällön käsittely vaikeutuu. Tietokantajärjestelmiin voi määrittää viiteavaimen ja perusavaimen välille riippuvuuksia: esimerkiksi jos tietokannasta poistetaan henkilötietue, poistuvat samalla automaattisesti kaikTunniste Sukunimi Etunimi Puhelin Puhelin (työ) 1 Ruuskanen Seija 040 123 4567 2 Alaluusua Markus 050 111 2222 016 999 8888 3 Leppänen Timo 044 222 3333 Esimerkki 1. Taulukot kytketään toisiinsa tunnistekenttien avulla.. 53 peruskäsitteet sekä tärkeimpiä toimintaperiaatteita. Tunniste Sukunimi Etunimi 1 Ruuskanen Seija 2 Alaluusua Markus 3 Leppänen Timo Tunniste Henkilön tunniste Yhteystapa Yhteystieto 1 1 Puhelin 040 123 4567 2 2 Puhelin 040 111 2222 3 2 Puhelin (työ) 016 999 8888 4 3 Puhelin 044 222 3333 5 1 Twitter @ruusseija 6 2 Sähköposti markus@igi.fi 7 3 Sähköposti timo@suomi99.fi Taulukko: Henkilöt Taulukko: Yhteystiedot Esimerkki 2. Tiedot taulukkoon Suurten tietomäärien varastointi perustuu yleensä taulukoihin. Yleensä tällaiseen leikkiin ei kannata ryhtyä vaan on hyvä sijoittaa yhteen kenttään vain yhdenlainen tieto. Mistä kone tietää, että yksi kenttä sisältääkin kaksi eri puhelinnumeroa. Yksinkertainen henkilötietokanta, joka koostuu yhdestä taulukosta. Taulukon rivit puolestaan ovat tietueita (record), jotka kuvaavat jotakin yhtä tietokokonaisuutta, esimerkiksi yhden henkilön tietoja. Yhteystiedot-taulukko sisältää kentän ”Henkilön tunniste”, jossa oleva luku viittaa Henkilöt-taulukon Tunnistekenttään. Sarakkeita ja niihin kuuluvia soluja kutsutaan myös kentiksi (field). Onneksi tietokantojen rakentelu ei ole kovin vaikeaa rakettitiedettä. Yhteystietojen kannalta se on kovin kankea, koska todellisuudessa ihmisillä on usein monenlaisia sähköisen viestinnän yhteystietoja kuten sähköpostiosoitteita, Twitter-tunnus ja blogi. Kyse on vain johdonmukaisesta, yhtenäisestä järjestelmästä. Henkilöiden nimet ovat yhdessä taulukossa ja yhteystiedot toisessa. Edellä käsitellyssä esimerkissä sarake ”Henkilön tunniste” toimii viiteavaimena, koska se viittaa toisen taulukon perusavaimeen. Rikkoutuneen tietokannan korjaaminen saattaa olla vaikeaa, joten on parempi ehkäistä ongelmat jo ennalta. Tietokannan termeillä ilmaistuna taulukoiden välillä on yhdestä moneen -suhde, koska yhden taulukon yhtä tietuetta kohti voi olla useita tietueita toisessa taulukossa. Tietokoneohjelmalle voisi kyllä opettaa, että pilkku erottaa numerot toisistaan, mutta osataanko käytäntöä noudattaa järjestelmällisesti. Taulukkorakenne määrittelee tarkasti, millaista tietoa tietokantaan voidaan tallentaa. Perehdytään ensin taulukoihin. Taulukot suhteessa toisiinsa Edellä esitelty henkilötietokanta sallii henkilöä kohti vain kaksi puhelinnumeroa. (Esimerkki 1.) Taulukossa on yleensä ensimmäisenä tunnistesarake, joka on tässä esimerkissä kasvava kokonaisluku: 1, 2, 3 jne. Mikä on tietokoneelle luonteva tapa käsitellä tietoa. Puhutaankin relaatiotietokannoista, kun halutaan viitata nimenomaan tällaisiin tietokantoihin. Ennen kuin jatkamme eteenpäin, on syytä esitellä pari muutakin relaatioihin liittyvää käsitettä ja termiä. Ihan pelkällä arkiajattelulla ei kuitenkaan pärjää, sillä on pystyttävä ajattelemaan tietovarastoa tietokoneen kannalta. Taulukon rakennetta ei saa sotkea esimerkiksi siten, että tallentaa yhteen Puhelin-kenttään saman henkilön kaksi eri puhelinnumeroa pilkulla erotettuna. Perusavain ei välttämättä muodostu yhdestä tunnistesarakkeesta, vaan joissakin tilanteissa esimerkiksi kaksi saraketta yhdessä muodostavat perusavaimen, joka on yksilöllinen jokaiselle tietueelle. On tavallista, että tietokantaan määritellään sarakkeille tietotyyppi, niin että esimerkiksi Sukunimikenttään hyväksytään vain merkkijonotyyppinen sisältö ja Syntymäaika-kenttään vain päivämäärä. Näin tietokantaan ei pääse lipsahtamaan vääränlaista tietoa, joka voisi sekoittaa ohjelman toiminnan. Järjestelmällisyys tarkoittaa käytännössä esimerkiksi sitä, että kaikki kantaan lisättävä tieto tarkistetaan huolellisesti ja muutetaan tiettyyn yhtenäiseen muotoon. Taulukon sarakkeilla on otsikko, esimerkiksi ”Sukunimi”, ja samaan sarakkeeseen tallennetaan ainoastaan samantyyppistä tietoa. Joudutaan ehkä ohjelmoimaan poikkeuksellisia tarkistusja tiedonhakutoimintoja, jotta tietokanta toimii halutulla tavalla. Hyvin järjestetystä tietokannasta asiat löytyvät nopeasti ja asioiden välille on helppo muodostaa yhteyksiä. Tunnisteen tehtävänä on yksilöidä jokainen rivi eli tietue. Yksi vastaus ovat taulukot ja niiden väliset suhteet; toinen vastaus ovat dokumentit ja niihin kytketyt metatiedot. Taulukoiden väliset suhteet eli relaatiot ovat monien tietokantojen keskeinen piirre. Säännönmukaista tietokantaa on myös paljon mukavampi ylläpitää kuin sekavaa bittitunkiota. Esimerkistä 2 selviää, kuinka kaksi taulukkoa kytketään toisiinsa. Se on yksilöllinen tunnus, johon tyypillisesti viitataan muista taulukoista. Joustavampi tietokanta saadaan luomalla yhteystietoja varten kokonaan oma taulukkonsa ja kytkemällä se toiseen taulukkoon, joka sisältää henkilöiden nimet. Perusarvona järjestelmällisyys Ei ole aivan yhdentekevää, kuinka varastoi arvokkaat tietonsa tietokoneelle. Tietokannassa voi olla esimerkiksi samannimisiä henkilöitä, mutta tunnisteen avulla tietokone osaa silti erottaa ne toisistaan
Henkilöt-taulukon ja Yhteystavat-taulukon välillä on monesta moneen -suhde, koska jokaisella henkilöllä voi olla useita yhteystapoja ja samanniminen yhteystapa voi olla usealla eri henkilöllä. Laajassa henkilötietokannassa voi helposti olla vaikkapa miljoona puhelinnumeroa, ja olisi tuhlausta kirjoittaa Puhelin-sana niin monta kertaa. Se sisältää perustaulukot ja -relaatiot teosten, asiakkaiden ja lainausten käsittelyyn. Tietokanta vastaa, kun siltä kysyy Useista toisiinsa liittyvistä taulukoista koostuva tietokanta näyttää ihmisen kannalta sekavalta, koska tiedot ovat hajallaan ja pelkkiä lukuja sisältävät tunnisteja viitekentät eivät ole kovin havainnollisia. Tällaista suhdetta ei voi ilmaista kahden taulukon välillä suoraan, vaan välittäjäksi tarvitaan aina kolmas taulukko, joka sisältää viiteavaimet kahteen muuhun taulukkoon. Tietokantajärjestelmiin sisältyy runsaasti valmiita tiedonkeruuja tilastotoimintoja. 4 54 ki kyseisen henkilön yhteystiedot toisesta taulukosta. Esimerkki 3 havainnollistaa uutta rakennetta. Tässä yhteydessä emme perehdy SQL-kieleen, mutta pari esimerkkiä lienee paikallaan. Kun ihminen syöttää henkilön puhelinnumeroita tietokantaan, hän saattaa eri kerroilla kirjoittaa yhteystavan nimen eri tavoin. Kone yhdistää eri taulukoiden tietueet nopeasti toisiinsa ja muodostaa mielekkäitä hakutuloksia. Ihminen ymmärtää, että kaikki kolme ilmausta tarkoittavat samaa, mutta on hankalampaa opettaa tietokone löytämään kannasta kaikki työpuhelinnumerot. Esimerkissä 5 on kysely, joka hakee aiemmin esitellystä tietokannasta yhden henkilön kaikki yhteystiedot, ja esimerkissä 6 haetaan kannasta kaikki sähköpostiosoitteet. Relaatiotietokannat tottelevat Structured Query Language (SQL) -kieltä, joka on juuri niitä varten suunniteltu kyselykieli. Yhteystietoja sisältävässä taulukossa (esimerkki 2) on sarake ”Yhteystapa”, jossa toistuu useita kertoja sana ”Puhelin”. Kielen avulla paitsi haetaan tietoa mutta myös luodaan taulukoita sekä lisätään ja muokataan tietoa. Kyselyn tulokset ovat kyselylauseen alla olevassa taulukossa. Tämänkaltaiset tarpeet ovat synnytEsimerkki 3. Selvää ja loogista tietokantarakennetta ei välttämättä pystytä suunnittelemaan etukäteen. Ongelmat ratkaistaan määrittelemällä yhteystavat omassa taulukossaan ja jokainen vain yhden kerran. 2 1 5 . SQL-kyselyjen kirjoittaminen ei tietenkään ole tavallisen käyttäjän hommaa, vaan ihmisen ja tietokannan välissä on sovellusohjelma, joka esimerkiksi tulkitsee käyttäjän tarpeet, muuttaa ne sopiviksi kyselyiksi ja näyttää tulokset ohjelman käyttöliittymässä. Harjoitustehtävänä voisi miettiä, miten siihen lisätään teosten varausmahdollisuus tai tekijöiden erilaiset vastuualueet teoksessa: kirjailija, toimittaja, säveltäjä, sanoittaja jne. Toiston välttämiseksi yhteystapojen nimet on siirretty omaan taulukkoonsa. Tässä tapauksessa Yhteystiedot-taulukko toimii välittäjänä eli kytkee henkilöt ja erilaiset yhteystavat toisiinsa. Uudistettu henkilötietokanta esittelee uudenlaisen suhteen taulukoiden välillä. Lopulta yhden henkilön kohdalla voi lukea ”Puhelin (työ)”, toisen kohdalla ”Puhelin, työ” ja kolmannella ”Työpuhelin”. Joskus täytyy varastoida sekalaista tavaraa, joka on epäyhtenäistä ja jota ei edes tunneta ennalta. Esimerkissä 4 on kirjaston tietokanta pelkistettynä. Henkilöiden ja yhteystapojen välillä on monesta moneen -suhde. Tunniste Sukunimi Etunimi 1 Ruuskanen Seija 2 Alaluusua Markus 3 Leppänen Timo Tunniste Henkilön tunniste Yhteystavan tunniste Yhteystieto 1 1 1 040 123 4567 2 2 1 040 111 2222 3 2 2 016 999 8888 4 3 1 044 222 3333 5 1 3 @ruusseija 6 2 4 markus@igi.fi 7 3 4 timo@suomi99.fi Taulukko: Henkilöt Taulukko: Yhteystiedot Tunniste Yhteystapa 1 Puhelin (oma) 2 Puhelin (työ) 3 Twitter 4 Sähköposti Taulukko: Yhteystavat. Monesta moneen Esimerkkinä ollut kahden taulukon henkilötietokanta on ihan toimiva ja käyttökelpoinen, ainakin henkilökohtaiseen käyttöön, mutta vaativampiin tarpeisiin se on vähän kömpelö. Tiedon varastoinnissa kannattaakin pyrkiä järjestelmällisyyteen, mutta aina todellisuus ei jäsenny luontevasti taulukoihin ja niiden välisiin suhteisiin. Yhdellä teoksella voi olla useita tekijöitä, ja yksi tekijä voi olla julkaissut useita teoksia. Sen sijaan tietokoneelle ne ovat helppoa peruskauraa. Tämä on hyödyllinen ominaisuus, jonka avulla tietokanta siivoaa automaattisesti turhat tietueet pois eli huolehtii omasta eheydestään. Saman asian toistosta voi olla muutakin haittaa. Yhteystietoja sisältävään taulukkoon tehdään viiteavain ”Yhteystavan tunniste”, joka viittaa Yhteystavat-taulukossa olevaan tunnisteeseen. Monesta moneen -suhdetta tarvitaan myös esimerkiksi kirjaston tietokannassa, jossa muun muassa kytketään teoksia ja tekijöitä toisiinsa. Se nimittäin rikkoo yhtä tärkeää tietokantasuunnittelun periaatetta: samaa tietoa ei pitäisi toistaa monessa paikassa. Dokumentteja, ei taulukoita Käytin aiemmin ilmausta ”bittitunkio” vertauskuvana huonosti järjestetylle ja vaikeasti ylläpidettävälle tietokannalle
Tunniste Asiasana 1 fantasiakirjallisuus ... Tunniste Luokan nimi 84.2 suomenkielinen kertomakirjallisuus ... Esimerkiksi henkilön yhteystiedot voisi ilmaista JSON-muotoisena dokumenttina oheisen esimerkin 7 tavoin. Ainakin kodin ja pienen yrityksen tarpeisiin nämä ohjelmat riittävät mukavasti. Jos haluaa perehtyä tietokantojen tekniikkaan tarkemmin, voi asiaa lähestyä kahta eri tietä. ... Yhteystapa Yhteystieto Puhelin (oma) 040 123 4567 Twitter @ruusseija Esimerkki 5. Tai ehkä sopiva ensimmäinen askel on se, että tutkii jonkin internetissä olevan julkisen tietokannan hakutoimintoja. Suosittuja avoimen lähdekoodin relaatiotietokantoja ovat PostgreSQL, MySQL ja Sqlite. Dokumentit sinänsä ovat usein rakenteellisia kokonaisuuksia, jotka sisältävät myös metatietoa eli tietoa tiedosta. Ajatuksena on, että tietokantaan voi tallentaa itsenäisiä, toisistaan poikkeavia dokumentteja eikä tietokannalle välttämättä määritellä mitään kokonaisrakennetta etukäteen. ... ... Samalla voi miettiä, millaisia tietokantarakenteita taustalla voisi olla. Tässä tapauksessa dokumentti vastaa relaatiotietokannan taulukon riviä, mutta erona on se, että dokumentti on itsenäinen. ... ... Taulukko: Asiakkaat Taulukko: Asiasanat Taulukko: Tekijät Taulukko: Lainat Taulukko: Teokset + tekijät Taulukko: Teokset + asiasanat Taulukko: Luokat Esimerkki 4. Dokumenttipohjainen tietokanta ei perustu taulukoihin vaan itsenäisiin rakenteellisiin dokumentteihin ja metatietoon. Tietokannan hakutoiminnot hyödyntävät useimmiten juuri metatietoa. Tunniste Asiakkaan tunniste Teoksen tunniste Eräpäivä ... Dokumenttipohjainen tietokanta ei välttämättä tarkoita täydellistä epäjärjestystä. Teoksen tunniste Asiasanan tunniste ... Muunkinlaisia tietokantajärjestelmiä on olemassa. SELECT "Yhteystapa", "Yhteystieto" FROM "Yhteystiedot" JOIN "Henkilöt" ON "Henkilöt"."Tunniste" = "Henkilön tunniste" JOIN "Yhteystavat" ON "Yhteystavat"."Tunniste" = "Yhteystavan tunniste" WHERE "Sukunimi" = 'Ruuskanen' AND "Etunimi" = 'Seija'; SELECT "Yhteystieto" FROM "Yhteystiedot" JOIN "Yhteystavat" ON "Yhteystavat"."Tunniste" = "Yhteystavan tunniste" WHERE "Yhteystapa" = 'Sähköposti';. SQL-kysely kaikkien sähköpostiosoitteiden hakemiseen. Pienet tietokannat sijaitsevat yksittäisen sovellusohjelman omissa tiedostoissa, kun taas suuret ovat palvelinkeskuksissa, joihin sovellusohjelma pitää yhteyttä tietoverkon välityksellä. Voidaan esimerkiksi etsiä kaikista dokumenteista tiedot, jotka on varustettu metatiedolla ”Sähköposti”. { "Tunniste": 2, "Sukunimi": "Alaluusua", "Etunimi": "Markus", "Puhelin": { "Oma": "050 111 2222", "Työ": "016 999 8888" } } Esimerkki 7. Yhteystieto markus@igi.fi timo@suomi99.fi Esimerkki 6. ... Rakenne voi muuttua tarpeiden mukaan joustavasti. 55 täneet uuden joukon tietokantajärjestelmiä, joissa varastoinnin peruselementtinä eivät ole taulukot vaan dokumentit. Dokumenttipohjaisia järjestelmiä edustavat esimerkiksi MongoDB ja CouchDB. ... ... ... Suosituksi dokumenttien käsittelymuodoksi on noussut Java script Object Notation (JSON), jolla voi kuvata metatietoa ja hierarkkisia tietorakenteita havainnollisesti – niin ihmisen kuin tietokoneenkin näkökulmasta. SQL-kysely, jolla haetaan tietyn henkilön yhteystiedot. Niiden taustalla toimii SQL-kieltä käyttävä relaatiotietokanta, mutta taulukoiden käsittely ja niiden väliset suhteet hoidetaan visuaalisen käyttöliittymän avulla. Helpomman polun tarjoavat graafiset sovellusohjelmat kuten Microsoft Access ja Libreoffice Base. Tunniste Sukunimi Etunimi 1 Sinisalo Johanna ... ... Sen ei tarvitse sisältää samanmuotoista tietoa kuin muut dokumentit, ja dokumentti voi myös sisältää toisia dokumentteja, eli niillä voi esittää hierarkkisia rakenteita helposti. Tunniste Luokan tunniste Teoksen nimi 1 84.2 Ennen päivänlaskua ei voi ... ... Ohjelmoijalle lienee mielekkäintä sukeltaa heti kättelyssä syvemmälle ja asentaa jokin erillinen tietokantajärjestelmä sekä opiskella kannan ohjaamiseen käytettävää kyselykieltä. ... Syvemmälle tekniikkaan Tietotekniikan ravintoketjussa tietokannat sijoittuvat sovellusohjelmien alapuolelle, eli ne ovat matalan tason tekniikkaa, jonka kanssa käyttäjä ei ole suoraan tekemisissä. Metatieto kertoo esimerkiksi, että ”tässä on sähköpostiosoite” tai ”tässä on henkilön sukunimi”. Taulukko: Teokset Tunniste Sukunimi Etunimi 1 Lukija Liisa ... Teoksen tunniste Tekijän tunniste ... Kirjaston tietokanta pelkistettynä. ..
Sille on olemassa hyvä levyasemaemulaattori ja liuta huonompia, joilla ohjelmien lataaminen onnistuu suhteellisen vaivattomasti. Teksti: Jarkko Lehti Kuvat: Manu Pärssinen, Jarkko Lehti. 4 56 Rauta J oku voisi kysyä, miksi ihmeessä C64 tarvitsee kiintolevyä. Kaikkien levyasemien ja levyasemaemulaattorien yhteinen ongelma on kuitenkin lataamisen nopeus: muistin täyttäminen kestää suhteellisen pitkän ajan jopa levyturbolla. Saatavuutta voi kysellä englanniksi sähköpostiosoitteesta josef@ide64.org. Turbojen yhteensopivuus monessa osassa ladattavien ohjelmistojen kanssa on vähintäänkin huono. IDE64 on saatavilla suoraan tekijöiltä noin 90–100 euron hintaan hieman mallista riippuen. Se sisältää myös aivan uudenlaisen käyttöliittymän tiedostojen hallintaan, loistavan konekielimonitorin, laajan tuen eri levyasemille sekä PCLinkin. Esimerkiksi suosittu kernal-laajennus JiffyDOS on suhteellisen yhteensopiva ohjelmien kanssa, mutta kiintolevyllä varustettu IDE64laajennus peittoaa sen nopeudessa yli kymmenkertaisesti. PCLink osaa hyödyntää C64:n ja PC:n välisessä tiedonsiirrossa Kiintolevy Commodore 64:ään Kun Commodore 64 oli uusi, kiintolevyt olivat järjettömän kalliita ylellisyysvarusteita, joista pelejään kasetilta lataavat peruskäyttäjät eivät edes tienneet mitään. 2 1 5 . PCLinkin kautta voidaan muodostaa yhteys PC-tietokoneeseen, jolloin C64:llä voi ladata, kopioida ja käynnistää ohjelmia suoraan PC:n kiintolevyltä. Ei vain levyturbo Latausnopeudet eivät ole IDE64:n ainoa etu. Mutta aika kuluu, tekniikka kehittyy, ja nykyisin on aivan perusteltua sovittaa kiintolevyohjain myös vanhaan sotaratsuun
IDE64:n tiedostonhallinta käynnistyy. Uusimmissa IDE64-versiossa onkin jo valmiiksi integroituna liitäntä CFkortille. PC-koneen käyttöjärjestelmänä on Windows. Tallenna tämän jälkeen asetusten muutos painamalla C= näppäintä ja valitse listasta SAVE & EXIT . IDE64 käyttää CFS-tiedostojärjestelmää (Commodore File System). Esimerkiksi FAT-tiedostojärjestelmästä poiketen siinä voi käyttää lähes kaikkia PETSCII-merkistön merkkejä tiedostojen nimissä. Valitse STANDARD SETUP ja paina RETURN . pohjaan ja napauta RESTORE -näppäintä, jolloin IDE64:n asetusruutu aukeaa. Paina C= ja 4 . Tällöin PC:n kiintolevyt näkyvät listattuna. Käytännössä kaikki CF-kortit nimittäin tukevat IDE-komentoja. Ensimmäiseksi Windowsiin pitää asentaa FTDI-piirisarjan ajurit, jotka saa esimerkiksi osoitteesta www.ftdichip.com/Drivers/D2XX.htm. Valitse listalta DIRECT WRITE ja vaihda sen tilaksi Enabled painamalla RETURN . Hyvä tapa on tehdä esimerkiksi peleille, demoille ja projekteille omat osionsa. Lataa linkkiosiossa mainittu PCLink-ohjelmisto ja pura se johonkin kansioon. Kirjoita C64:n BASIC-kehotteeseen MAN ja paina RETURN . Tiedostohallinta vaihtaa asemaan ”14”, joka on tässä tapauksessa PCLink. Joka kerta kun uusia tiedostoja luodaan, C64 joutuu käymään levyn sisällysluettelon läpi ja merkkailemaan sinne asioita. C64 tikittää vain noin yhden megahertsin kellotaajuudella, ja isolle osiolle mahtuu loputtomasti tiedostoja. Mitä enemmän tiedostoja osiolla on, sitä hitaammaksi uusien tiedostojen luominen käy. Myös eri tiedostotyypit ovat mukana, jotta yhteensopivuus alkuperäisen C64-ohjelmiston kanssa on mahdollisimman hyvä.. Jos englanti on hallussa edes jotenkin, ohjekirjaan kannattaa ehdottomasti tutustua, sillä se kertoo laitteen käyttämisestä kaiken ja hieman enemmänkin. Käynnistä kansiosta tiedosto ideservd.exe. Kahdeksan gigaa on järkyttävän paljon tilaa C64-ohjelmille, mutta sen kanssa pääsemme paremmin tutustumaan kortin osioinnin ihmeelliseen maailmaan. IDE64:n käyttöohjekirja on myös aivan omaa luokkaansa ja peittoaa 100–0 monet kaupallisetkin ohjekirjat kattavuudessa ja selkeydessä. Esimerkkikorttina käytän Transcendin kahdeksan gigatavun korttia, joka toimii 133×-nopeudella. Vanhemman IDE64:n omistajat voivat käyttää IDE-CF-adaptereita, joita on saatavilla hyvinkin edullisesti esimerkiksi verkkohuutokaupoista. Kun ajurit on asennettu, voit kytkeä USB-kaapelin IDE64:n portista PC:lle ja kytkeä C64:n virrat päälle. CFS on rakennettu mahdollisimman yhteensopivaksi. Kiintolevyn alustus IDE64-käyttöön voi olla asiaan vihkiytymättömälle ylitsepääsemätön prosessi, joten käyn sen tässä läpi kohta kohdalta. Tämä onnistuu helpoiten PCLinkillä. Windowsin pitäisi nyt tunnistaa uusi laite ja asentaa järjestelmään uusi sarjaliikenneportti. Järkevintä on kuitenkin käyttää Compact Flash -muistikorttia, joka kuluttaa vähemmän virtaa eikä ole altis kolhuille. 57 Alusta alkaen Vaikka aluksi on varmasti suuri kiusaus tehdä vain yksi iso osio käyttöön, kannattaa niitä kuitenkin tehdä useampi pieni. Paina C64:n näppäin . Esimerkissämme käytetään IDE64 v.4.1:n PCLinkkiä USByhteydellä. Valitse asema, johon latasit CFSfdisk-ohjelmiston, ja käynnistä se painamalla tiedoston päällä RETURN . Aivan aluksi pitää C64:lle saada kopioitua osiointiohjelmisto CFSfdisk. Kompakti salama Kuten nimestä voi päätellä, IDE64:ssä voi käyttää IDE-liitäntäisiä kiintolevyjä. monia erilaisia kaapeliratkaisuja, mutta helpoin lienee IDE64 v.4.1:n integroitu USB-liitäntä. Kannattaa esimerkiksi miettiä, kopioiko yli 45 000 tiedostoa sisältävän HVSC-musiikkikokoelman omalle osiolleen vai jonkun muun osaksi
Esimerkissä ei luoda enempää osioita, mutta samalla perusidealla niitä voi luoda kortille useampiakin, kunnes kortti täyttyy. Ei auta kuitenkaan hermostua vaan tehdä jotain muuta odotellessa – ohjelmisto hoitaa hommansa varsin luotettavasti. Levynkuvat voi myös kirjoittaa vaivattomasti lerpulle. Tämä onnistuu CFSfdiskin komennolla O . Start-arvoksi voi hyväksyä oletusarvon, eli paine vain RETURN . Jos se on ollut jo aiemmin käytössä, pitää kortin osiotaulu tyhjentää ennen näiden ohjeiden soveltamista. Komennolla P voi listata kortille tehdyt osiot. Osiointiin voi palata myöhemminkin, siispä kaikkia osioita ei ole pakko tehdä tässä samalla. SID-musiikin kuuntelu on myös vaivatonta liitännäisen ansiosta: vie vain kursori .sid-tiedoston Valmis projekti.. IDE64:n CF-kiintolevyn laitenumero on aina oletuksena 12, joten kirjoita 12 ja paina RETURN . 4 58 CFSfdisk käynnistyy ja kysyy aseman numeroa. Valitse osion numeroksi 1 ja paina taas RETURN . Perään taas RETURN . Liitännäisistä lisäiloa IDE64:n hienouksia on myös tuki erilaisille liitännäisille (plugin), joilla tiedostonhallintaan saadaan avattua esimerkiksi d64ja t64-tiedostot. Ne voi ohittaa oletusasetuksilla, joten painele RETURN aina, kun näytölle ilmestyy Command-kehote. Jos teit kerralla koko kahdeksangigaisen kortin edestä osioita, tässä voi kestää hyvinkin pitkään. Tämän jälkeen osio alustetaan, mikä kestää jonkin aikaa. Tämä mahdollistaa sen, että yksittäisiä tiedostoja voi kopioida helposti levynkuvista kiintolevylle ja toisinpäin. Vahvista osiotaulun kirjoittaminen näppäilemällä Y ja RETURN . Seuraavaksi CFSfdisk kyselee kiintolevyn perusparametreja. Sammuta tämän jälkeen C64:stä virrat ja käynnistä se uudelleen. Nyt tiedostojen tallentamiseen on käytössä yhden gigatavun osio! Huomaa, että tässä oletettiin kortin olevan tyhjä. Osion nimeksi voi kirjoittaa jotain sopivaa, esimerkissä se on Boot . Osion kooksi halutaan yksi gigatavu, joten kirjoita +1G ja paina RETURN . Luo uusi osio painamalla N ja RETURN . Kirjoita lopuksi tehdyt muutokset kortille komennolla W . 2 1 5 . Tämän jälkeen ohjelma palaa taas komentokehotteeseen
Siirry tiedostonhallinnan alempaan paneeliin painamalla CTRL -näppäintä. Sen jälkeen IDE64-ympäristö on käytettävissä lähes kaikkine herkkuineen. Diagnostiikka käy läpi RAMja ROM-muistin ja ilmoittaa mahdollisista ongelmista ruudulla. Oikosulje IDE64:n ohjelmointijumpperi ja resetoi tietokone IDE64:n takana olevasta reset-painikkeesta. Itse olen käyttänyt jo vuosia 0.91x-sarjan versioita, ja ne tarjoavatkin huomattavasti lisäjoustavuutta liitännäisiin. Liitännäisten asennus valmiista paketista käy hyvin yksinkertaisesti. Lienee siis parasta käydä se tässä kohta kohdalta läpi. Kolmannessa kohdassa valitaan haluttu levyturbojärjestelmä. Avaa nettiselaimessa seuraava osoite: singularcrew.hu/idedos/beta/compile.php Ensimmäisessä kohdassa valitaan ympäristö. Laiteohjelmiston päivityksen jälkeen on syytä huomata, että PCLink-asema on yleensä laite 13 eikä 14, kuten tässä artikkelissa on kerrottu. Lataa paketti netistä ja pura se sopivaan kansioon. Paina lopuksi RETURN , jolloin laiteohjelmiston päivitys käynnistyy. Käynnistä PC:llä PCLink-ohjelmisto ja käynnistä C64:n tiedostonhallinta MAN -komennolla. Kun ruudulla lukee ”UPDATE SUCCESSFUL”, tietokoneen voi käynnistää uudelleen, jolloin päivitetty laiteohjelmisto tulee käyttöön. IDE64 sisältää myös diagnostiikkatilan, jonka saa aktivoitua käynnistämällä C64:n SHIFT/LOCK -näppäin pohjassa. IDE64:n laiteohjelmiston päivitys on suhteellisen suoraviivainen toimenpide mutta voi tuntua vaikealta, kun sen tekee ensimmäisen kerran. Apulerpulla alkuun Vaihtoehtoisesti laiteohjelmiston voi päivittää myös lerpulta. Viidennessä kohdassa ei tarvitse valita mitään, jos koneessasi ei ole kahta äänipiiriä eri IO-osoitteissa tai et aio käyttää CD-ROM-asemaa IDE64:n kanssa. Neljännessä kohdassa valitaan käytetty PCLink-järjestelmä. Huomaa myös Perom Programmer -ohjelmassa oleva optio tallentaa nykyisestä ohjelmistosta varmuuskopio lerpulle. Näin voit palata aiempaan versioon helposti, jos ongelmia ilmenee. Valitse ”UPDATE OVER USB PCLINK”, jolloin ohjelma kysyy tiedoston nimeä. Huomaa, että tiedostopäätteen erottimena on pilkku eikä piste. Tässä lienee turvallisinta valita JiffyDOS. Valittu rivi muuttuu keltaiseksi. 59 päälle ja paina RETURN . Kopioi silloin Perom Programmer ja ide.rom lerpulle ja lataa ohjelmistot ohjelmointijumpperin sulkemisen jälkeen normaalisti sieltä. Tässä kohtaa kannattaa valita oikein, sillä toimivan PCLinkin voi rikkoa valitsemalla tässä väärin. Versionumero on painettu piirikortille, josta sen voi tarkistaa. Kirjoita SYS2059 , jolloin PEROM Programmer -ohjelmisto käynnistyy. IDE64 V4.1:n kanssa valitsemme tietenkin USB ja Base-osoitteeksi $DE5D. Paina 3 , ja tiedoston pitäisi aueta tekstitiedostoja avaavaan liitännäiseen. Lopuksi paina ”Download beta PEROM” -valintaa. Nimeä se selvyyden vuoksi uudelleen muotoon ”ide.rom” painamalla tiedoston päällä näppäintä 6 . Saat kirjoitettua sen lerpulle kopioimalla sen PC:n kiintolevylle ja painamalla RETURN sen päällä IDE64:n tiedostonhallinnassa. Kopioi ”perom 1.9f.prg” kiintolevylle painamalla näppäintä 5 . Muokkaa riville nimi ”IDE,ROM” . Käynnistä PCLinkjärjestelmä ja siirry IDE64:n tiedostonhallinnalla PC:n kiintolevylle ja siihen kansioon, johon purit idedos_utilpaketin. Pura ladattu idedos-paketti sopivaan kansioon ja käy purkamassa sieltä myös idedos_util-paketti. Huomaa, että BASICin vapaana näyttämä RAM-muistin määrä on hieman pienempi kuin ilman kytkettyä IDE64moduulia. Käynnistä tiedostonhallinta ja vie osoitin readme-tiedoston päälle. Vaihtoehtoisesti voit käyttää tämän artikkelin laadinnan yhteydessä syntynyttä idetoolit.d64-levykuvatiedostoa, jonka saat osoitteesta skrolli.fi/2015.4. Kun liitännäiset on kopioitu kiintolevyn juureen, sammuta C64 ja käynnistä se uudelleen. Siirry hakemistoon, johon kopioit plugins-paketin sisällön, ja valitse tiedostot painamalla INS/ DEL -näppäintä. Poista ohjelmointijumpperi. Kun kaikki kolme riviä ovat valittuina, paina 5 , jolloin tiedostot kopioituvat IDE64:n kiintolevylle. Siirry sitten takaisin kansioon, josta varsinainen .rom-päätteinen tiedosto löytyy. Paina C= ja 4 , jolloin siirrytään PC:n kiintolevylle. Konetta käynnistettäessä tulevan mustan ruudun, joka kertoo käynnistyksen aikaisista asioista, saa pysymään näytöllä pitämällä käynnistyksen aikana CTRL näppäintä pohjassa. Linkkejä • CFSfdisk: singularcrew.hu/ide64warez/site/Tools/System/CFSfdisk10b.zip • PCLink-ohjelmisto: singularcrew.hu/idedos/beta/ideserv-0.29c-20150810.zip • FTDI-ajurit: www.ftdichip.com/Drivers/D2XX.htm • IDE64:n käyttöopas: singularcrew.hu/idedos/beta/IDE64_users_guide_beta.pdf • IDEDos beta rom: singularcrew.hu/idedos/beta/compile.php • CFS-tiedostojärjestelmä: singularcrew.hu/idedos/cfs.html • IDE64-liitännäispaketti: ide64.org/plugins2012.zip • IDE64:n kotisivu: ide64.org/ • IDE64-uutisia: news.ide64.org/ • IDE64-pelejä ja -ohjelmia: singularcrew.hu/ide64warez/ • Latausnopeusmittauksia: singularcrew.hu/idedos/perf.php • Artikkelin oheistiedosto: skrolli.fi/2015.4. Tietokone käynnistyy normaalisti BASICiin. Tässä on viisainta valita ensimmäinen vaihtoehto: C64/C128. Vaihda tiedostonhallinnan paneelia painamalla CTRL ja lataa tiedosto ”perom 1.9f”. Liitännäisten ainoa ongelma on niiden suhteellisen hankala käyttöönotto. Älä kuitenkaan käynnistä ladattua ohjelmaa. Tässä oli vasta pintaraapaisu IDE64:n monipuoliseen maailmaan. Toisessa kohdassa valitaan IDE64laajennuksen versio. Muistakaa lukea laitteen ohjekirja, sillä se on oikeasti vielä parempi kuin artikkelin alussa kehuin. Painamalla SHIFT + RETURN tietokone palaa BASICiin. IDE64:n laiteohjelmiston päivitys IDE64:n kehityksessä on kaksi haaraa: vakaaksi merkattu 0.90x-sarja ja huomattavasti kehittyneempi 0.91x. Tähän on onneksi tehty valmis paketti
Koodi 2 1 5 . Ainoatakaan virhettä ei järjestelmästä ole löytynyt. En näin ollen voi suositella OpenOffice BASICia oikean työn tekemiseen. Käytössäni on joitakin keskikokoisia, muutaman sadan tai tuhannen rivin Basicohjelmia, joista QB64 on tähän mennessä suoriutunut moitteettomasti. QB64 QB64:n on tarkoitus olla nykykäyttöjärjestelmillä toimiva, lähdekoodiyhteensopiva korvike Microsoftin QBasicille. Teksti: Antti Ylikoski Kuvat: Mikko Torvinen, Mitol Meerna, Antti Ylikoski QB64. Se eroaa jonkin verran Microsoft-tyyppisistä basiceista, ja sen erot niihin on erikseen opeteltava. Ohjelma käännetään QB-moodissa esimerkiksi seuraavalla käskyllä: C:\BASIC>fbc -lang qb QBOHJELMA.BAS Siirryin itse FreeBASICista QB64:ään löydettyäni FB:stä selvän toimintavirheen. Kaupallinen puoli Q7Basic Q7Basic, Basic for Qt tai aikaisemmalta nimeltään Kbasic on huokea, Qtkäyttöliittymäkirjastoon pohjautuva basic-tulkki. Muut tämän artikkelin freewarebasicit noudattavat varsin läheisesti de facto -standardia eli QBasicia ja Quick Basicia. Sen työkalut graafisten käyttöliittymien toteuttamiseen ovat NYKY-BASICIT Perustason ohjelmointikieli tänä päivänä Basic on hyvin tunnettu, yksinkertainen, vuorovaikutteinen ja monissa eri ympäristöissä tuettu kieli. QB64:ään kuuluu ruutueditori ja yksinkertainen integroitu kehitysympäristö, jotka muistuttavat hyvin läheisesti QBasicin vastaavia. Luultavasti sen saisi suhteellisen pienin vaivoin toimimaan myös Applen OS X:llä. Esittelyssä muutamia tarjolla olevia kaupallisia ja ei-kaupallisia basic-järjestelmiä. Suosittelen. Kokemusteni perusteella voin kuitenkin suositella FreeBASICia ohjelmoinnin opetteluun ja harjoitteluun mutta en mihinkään, missä kaiken täytyy toimia 110-prosenttisesti. Olen päätynyt valitsemaan ei-kaupallisten basicien joukosta omaksi työkalukseni QB64:n. Käyttämäni ohjelma ei toiminut FreeBASICilla, koska taulukoiden määrittely DIM-käskyllä toimi näissä järjestelmissä eri tavoin. Pikku ohjelmiin se käy, kunhan opiskelee sen de facto -standardista poikkeavat piirteet ja saa sen toimimaan kaatuilematta. Toki myös ulkopuolista tekstieditoria voi käyttää. QB64:n nettisivuilla on tarjolla niin Wikimedia-muotoinen dokumentaatio, esimerkkiohjelmia kuin keskustelufoorumitkin. OpenOffice BASIC OpenOffice BASIC löytyy tavallisesta Apache OpenOfficesta makrojen hallinnan alta. Freebasicissa on sen oletustoimintamoodin lisäksi QB-moodi, jossa se on yhteensopiva Microsoftin Quick Basicin ja QBasicin kanssa. 4 60 Ei-kaupalliset basicit FreeBASIC FreeBASIC on GPL-lisensoitu, komentorivipohjainen kääntäjä Windowsille, DOSille ja Linuxille. Kun yritin käyttää OpenOffice BASICia yksinkertaisten kokeiluohjelmien tekemiseen, se kaatuili alinomaa
PowerBASICin kehittäjien ylpeyden aiheena on erään suuren kansainvälisen pankin järjestelmä, joka koostuu 3 miljoonasta rivistä PowerBASIC-koodia. Visual BASIC Itse asiassa ”Visual BASIC” tarkoittaa kahta eri järjestelmää. Haittapuolena on tulkkipohjaisuuden tuoma hitaus, joka koituu ongelmaksi esimerkiksi pitkää ja raskasta laskentaa suoritettaessa. Visual BASIC on hinnoiteltu kaupallisena tuotteena. Nämä basicit eivät ole keskenään yhteensopivia. Se on ohjemistoteknisesti korkeatasoinen, tukee hyvin Microsoft-ympäristöä ja sen integroitua kehitysympäristöä on pidetty sangen hyvänä. Visual BASIC 6 -ohjelmat toimivat edelleen käytännössä kaikissa Windows-järjestelmissä ilman ylimääräisiä korjauksia. Se on hyvin QBasic-yhteensopiva vaikka sisältääkin runsaasti laajennuksia siihen verrattuna. Näistä syistä VB on mielestäni suositeltavin basic kaupallisiin, teollisiin, tieteellisiin ja erityisesti sotilassovelluksiin. Sen yhteydessä tulee mukana koko joukko harjoituksia ja esimerkkejä. Microsoft Small BASIC Microsoft Small BASIC on Visual BASICin yksinkertaistettu versio, joka on tarkoitettu etenkin lapsille ja ohjelmoinnin aloittelijoille. PowerBASIC PowerBASIC on melko hyvin maailmalla tunnettu kaupallinen basicjärjestelmä. Q7Basic on kuitenkin ohjelmointiteknisesti sangen hyvä ja rinnastettavissa täysihintaisiin kaupallisiin basic-järjestelmiin tukensa ja ominaisuuksiensa puolesta. Yhteensopivuutensa vuoksi Small BASICia voi hyvin käyttää ohjelmoinnin harjoitteluun ennen Visual Basiciin siirtymistä. Microsoft Small BASIC Q7Basic. Visual BASIC on käytettävissä myös Windows RT -mobiilikäyttöjärjestelmässä, jonka pariin Microsoft on pyrkinyt paimentamaan ohjelmistokehittäjiä. Alkuperäinen Visual Basic toimitettiin Visual Studio 6.0:n ja sitä aiempien versioiden mukana, kun taas uudempi Visual BASIC .NET kuuluu Microsoftin .NET-alustan varustukseen. Siihen saa joukon erilaisia komponentteja, kääntäjän, IDE:n ja lukuisia aputyökaluja. Lisäksi on vielä olemassa klassisen Visual BASICin kanssa yhteensopiva VBA (Visual BASIC for Applications), joka kuuluu Microsoftin Office-pakettiin. 61 melko kehittyneet
Mutta miten paluu vuoteen 1982 onnistuu. Nyt Spectrum on tehnyt paluun retromikrorintaman etulinjaan. Vegassa sen sijaan on eräänlainen peliohjaimen korvike, jossain on ristikko-ohjain ja kahdeksan näppäintä. Esimerkiksi näppäimet ovat alkuperäistä paremmat, mutta niitä on niin tautisen vähän. Niinpä kaikkia Spectrumpelejä piti pystyä pelaamaan myös näppäimistöllä. Kahdeksalla napilla onnistuu vähän monimutkaisempienkin pelien hallinta. Näillä kyllä pystyy pelaamaan vaivattomasti suurinta osaa Spectrumin peleistä, mutta silti – miksei tähän voi liittää edes ulkoista USBnäppäimistöä. Kauppinen Kuvat: Retro Computers, Jukka O. Ja parempihan tämä versio on kuin se aivan alkuperäinen prototyyppi, jossa oli vain ristiohjain ja neljä nappia. Myös Spectrum-mikron paluu tulevaisuuteen onnistui joukkovoimalla, tällä kertaa Indiegogo-palvelussa järjestetyn keräyksen kautta. Spectrum oli sentään täysiverinen tietokone, jossa oli näppäimistö. Kuva: Bill Bertram / Wikimedia Commons. Mikro oli äärimmilleen niukistettu, ja jopa joystick-liitin oli lisävaruste. Kauppinen, Bill Bertram / Wikimedia Commons Rauta ZX Spectrum oli halpa rimpula – ja juuri siksi yksi 1980-luvun suosituimmista kotimikroista. Teksti: Jukka O. 2 1 5 . Alkuperäisen kotimikron toisinnon sijaan Vega on kämmenelle mahtuva tv-peli, jossa peliohjain on integroitu itse koneeseen. Ulkoasuun on silti löydetty vähän Spectrum-henkeä. Sen voi uskoa, sillä Vegan taustalla on todella raskaan sarjan tekniikkaporukkaa, joka ymmärtää laitteen sielunelämän. Mutta kuten Spectrumissakin, myös Vegassa on asioita tehty yksinkertaistaen ja säästäen. Se ei sisällä ensimmäistäkään piiriä tai molekyyliä alkuperäisestä vuoden 1982 laitteesta, vaan se on ARM-prosessorin ympärille rakennettu ”System on Chip”, tekijöidensä mukaan täydellinen Spectrumjärjestelmä. Mutta miten pelit sitten on oikein sorvattu Vegan ihmenamiskoille. Laite on myös ideoitu aivan uudella tavalla. Mainittakoon toki se historiallinen yksityiskohta, että suurella osalla spectrumisteja ei luultavasti ollut joystickiä. Ja kun suurimmalle osalle peleistä riitti nelisuuntainen ohjaus ja fire-nappi, niin mikäs tässä. Sen huomaa kyllä peleistäkin, sillä ne pyörivät Vegassa tavanomaista emulaattoria paremmin. JoKuningaskunnan kalkulaattori – ZX Spectrum Vega Brittiläinen Sinclair-yhtiö teki 80-luvun alkupuolella sarjan huikean menestyneitä kotimikroja. Niistä rakastetuin oli ZX Spectrum, joka on kotimaassaan Isossa-Britanniassa samassa asemassa kuin Commodore 64 Suomessa. Sillä pystyttiin tekemään klassinen kasarimikro uusiksi nykytekniikalla. Emulaattorimikroillaan ZX Spectrum Vega on nykytyyliin emulaattorimikro. Pelaajatkin ovat saaneet nauttia hyvistä peleistä ja erikoisista pelikoneista. ZX Spectrum Julkaisuvuosi: 1982 Prosessori: Zilog Z80A, 3,5 MHz Muisti: 16 tai 48 Kt RAM, 16 Kt ROM Näyttö: 256×192 pikseliä, 8 väriä Äänipiiri: yksikanavainen sisäänrakennettu kaiutin Lue lisää Spectrumista ja muista 1980-luvun kotimikroista Skrollin numerosta 2014.2: Tasavallan tietokoneen haastajat.. Sovitaan siis, ettei se ole pelkkä emulaattori, vaan vähän enemmän. 4 62 K iittäkäämme taas kerran joukkorahoituksen jumalia, sillä nämä ovat olleet suosiollisia monelle menneiden vuosikymmenten rakkaalle teokselle ja monille uusillekin luomuksille. Spectrumin paluuseen toivottiin 100 000 punnan pottia, ja rahaa kertyikin kiitettävät 156 000 puntaa
Se on iso raha vieraan vallan hittimikrosta. Aakkosellisissa valikoissa liikutaan nuolinäppäimillä. Kriittinen mikroilija, jolla ei ole tunnesiteitä Spectrumiin, tosin yskähtelee taatusti hintalapun kohdalla. 80-luvun klassikkotietokoneen mukana tulee satoja pelejä, joita ei pysty pelaamaan ollenkaan. Enkä sano tätä siksi, että inhoaisin niitä. Ei Commodore 64:kään näyttäisi kovin hyvältä, jos käteen lyötäisiin tuhat satunnaista peliä. Kunhan ensin löydetään seuraava hyvä peli. Kyllä tätä pitää jo vähän arvostaa. Niiden näppäinkartan sorvaukseen joutuu käyttämään hetken aikaa, mutta saapahan näin uusioSpectruminsa pelija ohjelmakirjaston mieleisekseen. Onneksi pelivalikoiman puutteisiin löytyy ratkaisu. Siihen nähden Vegan iloihin on syytä suhtautua terveellä epäilyksellä. Ymmärrettävää mutta raivostuttavan kiusallista, koska tällaisenaan Vegan tarjonta antaa ZX Spectrumin pelihistoriasta liiankin todenmukaisen kuvan. Joukkorahoitetun Vegan sai noin satasella, myynti-Vega maksaa Briteistä tilattuna 150 euroa ja postikulut päälle. ILMAN NÄPPÄIMISTÖÄ, virtuaalinäppäimistöllä. Toimintojen logiikkaa on mietitty, ja vaikka sitä ei muistaisikaan, niin näppäimet näytetään aina pelin alussa, ja apuruudun saa esille napinpainalluksella. Yksinkertaistettu ja pennyjä säästävä rakenne on tavallaan jopa perinteitä kunnioittavaa, mutta voi itku ja parku: miksei koneessa ole USB-liitintä ulkoiselle näppäimistölle. Mutta vaikka selaan pelitarjontaa sen kummemmin Spectrum-historiaa muistelematta, niin silti törmään aukkoihin. Kyllä, komposiitilla. Mutta ne pelit, ne pelit. Helmien ja klassikoiden löytäminen tai tunnistaminen vaatii pelisilmää. Ja tämä on hanurista. Moni klassinen ja tärkeä peli puuttuu. Vegassa on näet paikka muistitikulle, jolla voi sekä päivittää vehkeen firmiksen että käyttää muita emulaattorimuodossa olevia pelejä ja ohjelmia. Vegan suurin puute: virtuaalinäppäimistöllä ei pelata tekstipelejä.. Julmetun hieno ominaisuus on pelitilan dumppaaminen kokonaisuudessaan muistiin haluttaessa, eli minkä tahansa pelin voi näin tallentaa milloin tahansa. Niin. Yksinpeli alkaa tuosta, tämä on tulitusnamiska ja niin edelleen. Se tässä on vaikeinta. Laite on pieni ja elegantti, joskin myös tv-pelimäisyydessään lelumainen. Kyllä on pohjamutia ruopattu, että saadaan tuhat peliä täyteen. Minulle henkilökohtaisesti Vega on kuitenkin hintansa arvoinen. Vielä kurjempaa on seikkailupelien valtava määrä. Se on pyllystä, täysin mahdotonta. Uskallan myös tunnustaa, että jotkut pelit olivat Spectrumilla parempia. Joten pelataan lisää. Mutta kuvitelkaapa itse millaista on pelata tekstiseikkailua, siis semmoista peliä johon komennot kirjoitetaan näppäimistöllä sanoina ja lauseina, ilman näppäimistöä. Olihan se hassu rimpulakone, mutta kyllä se oli silti yksi niistä suurista kulmakivistä, joille eurooppalainen ja suomalainen mikroiluja pelikulttuuri rakentuivat. Se vain tökätään mihin tahansa USB-virtalähteeseen ja liitetään televisioon komposiittipiuhalla. Nyt ei tarvitse nauhoitella tallennusta kasetille ja kirjoittaa ylös kentän lopussa saatavaa koodia! Käyttäminen on muutenkin verrattain selkeää. Tuhat peliä, joista iso osa on aivan kamalaa roskaa. Lisenssiongelmia, olettaisin. No, sitähän ne 1980-luvun alun Spectrum-pelit suurelta osalta olivat. Outo pelivalikoima Yksi Vegan tärkeistä moraalisista valttikorteista on tuhannen pelin valikoima, joista suuri osa on lisensoitu oikeuksien haltijoilta. Niin kiva, mutta kallis ZX Spectrum Vega on tekniseltä kannalta katsoen erinomainen brittihittimikron ylösnousemus. Myönnetään, että kuvanlaatu on silti erinomainen ja Vegan saa näin useampiin telkkareihin ja näyttölaitteisiin kiinni. Vegassa ei ole edes virtakytkintä. 63 kainen laitteen mukana tuleva peli on sovitettu yksilöllisesti Vegalle niin, että tärkeimmät toiminnot ovat aina suurin piirtein samat. HDMI olisi toki ollut tervetullut, mutta eivätpä alkuperäisen Spectrumin pelit tämän kummoisempaa tarvitse. Jos Spectrum olikin kuningaskunnan tietokone, niin meillä se jäi alkukisan jälkeen hopealle tai pronssille. Se mahtuu kouraan, napit on sijoitettu hyvin ja pelaaminen on mukavaa. Prosessissa on tiemmä aukkoja, mutta sanotaan näin: Vegaan on lisensoitu enemmän pelejä kuin millekään muulle Spectrumemulaattorille. Niinpä tarjolla on nyt valtava määrä amatöörikyhäelmiä ja outopelejä, joista kukaan ei ole koskaan kuullutkaan. ZX Spectrum tarjosi minulle Jussin luona pelikokemuksia ennen C64:n saapumista raukoille rajoillemme, ja muistelen monia sen pelejä lämmöllä. ZX Spectrum Vega Valmistaja: Retro Computers Myyjä: Funstock Lisätietoja: www.funstockretro.co.uk/ zx-spectrum-vega-console Vegan pelit on lajiteltu toimintaja seikkailupeleihin
Vakiokokoonpanossa – jos sellaista on edes olemassa – on ainakin Beta Disk, stereo-PSG sekä 128 kilotavua muistia. Näppäimistöjä ja koteloita improvisoitiin niistä osista, joita sattui olemaan saatavilla. Erilliset piirit katosivat ohjelmoitavan FPGA:n sisuksiin, liittimet vaihtuivat loputtomista DINeistä PC-standardin mukaisiksi, muistimäärä nousi megatavuihin, suorittimiin ZX Evolution – ihmekone itänaapurista Neuvostoajan niukasti tunnettu kotitietokonekulttuuri oli yhtäältä vientirajoitusten ja moninaisten muiden saatavuusongelmien värittämää, mutta toisaalta yhtä innostunutta kuin lännessäkin. ???????. Suurin osa brittiläisistä ohjelmista toimii Pentagonilla joko suoraan tai niistä on valmiit modifioidut versiot, mutta toiseen suuntaan tilanne onkin toinen: levytiedostoja ei voi soittaa kasettiporttiin, minkä lisäksi venäläisten demojen käyttämät ajastukset aiheuttavat länsikoneilla monenlaista toimimattomuutta. Venäjällä Beta Disk -kloonit olivat edistyneemmissä koneissa vakiotavaraa. Lisäksi valtion siunaamien yritysten, kerhojen ja harrastajien voimin suunniteltiin ja rakennettiin monenkirjavia laitteita. 2 1 5 . Varhaiset Spectrum-kloonit vastaavat ominaisuuksiltaan 48 kilotavun malleja, mutta myöhempiin malleihin lisäiltiin myöhemmistä länsikoneistakin tuttuja laajennuksia levyasemasta lisämuistiin ja PSG-äänipiiriin. Levyasema tuli viralliseen Spectrum-perheeseen vasta lopun aikoina, +3:n myötä, ja jäi hieman kuriositeetiksi. Spectrumin sydän on useaa eri toimintoa hoitava Ferrantin ULA-piiri, jonka kloonaamisen sijasta sama logiikka toteutettiin erillisillä, yksinkertaisemmilla piireillä. Suorittimen ei tarvitse kilpailla muistiväylästä näytönvirkistyksen kanssa, joten kone on myös hieman nopeampi kuin aito Spectrum. Itäblokin kotimikroilla oli usein tunnetut läntiset esikuvat, ja kloonit ajoivatkin niiden ohjelmia joko suoraan tai pienten muutosten jälkeen. Neuvostoliiton romahtamisen jälkeen venäläiset harrastajat omaksuivat nopeasti uusia tekniikoita myös Spectrumien rakenteluun: tee se itse -asenne ja syvällinen elektroniikan tuntemus heillä oli jo valmiiksi. Käsin kasaan juotetut piirilevyt johtovyyhteineen väistyivät kauniisti suunniteltujen ja ammattimaisesti valmistettujen emolevyjen tieltä. Rakentelijoiden ja demoskenen piirissä suurimman suosion saavutti 1990-luvun taitteessa ilmestynyt Pentagon (????????), joita on niitäkin useampaa eri mallia. Sekä Beta Disk että sen komentotulkki TR-DOS ovat nekin alkujaan Englannista peräisin. Ulkonäkö saattaa tosin hämätä, sillä sama piirilevy voi löytyä hyvinkin eri näköisten kuorien sisältä. Teksti ja kuvat: Markku Reunanen. Jos C-64 oli Suomessa tasavallan tietokone, niin ZX Spectrum klooneineen valloitti yhtä lailla brittien kuin neuvostomikroilijoiden sydämet. 4 64 N euvostoliiton tietokonekulttuuri erosi merkittävästi läntisestä: Commodoreja, Atareita ynnä muita täkäläisiä suosikkeja ei maassa juuri nähty, mutta esimerkiksi Yamaha vei maahan MSX-tietokoneita. ja sen aikalaiset Yleisimpiin kotitietokoneisiin lukeutuivat Sinclair ZX Spectrum -kloonit, joita tunnetaan kymmeniä eri malleja. Muita venäläisten koneiden luonteenomaisia piirteitä ovat normaalin laajennusväylän puuttuminen, runsas DIN-liitinten käyttö, RGB-ulostulo sekä joystick-liitäntä, tietenkin DIN-liitännällä
Dramaattisemmin laitteen toimintaa muuttaa TS-Confin nimellä tunnettu erillinen firmware, joka tuo toimintatilojen kirjoon vielä yhden vaihtoehdon lisää. Niitä voi toki nykyään ajaa emulaattorilla, jolloin jää kuitenkin paitsi aidosta 50 hertsin päivitystaajuudesta sekä tiukasta kuvan ja äänen synkronoinnista. Levyasema on korvattu SD-kortinlukijalla, muistia on peräti neljä megatavua, laitteesta saa ulos VGA-signaalin, ja hiiren sekä näppäimistön saa kiinni tavallisella PS/2-liittimellä. Valikkoa voi käyttää myös hiirellä, vaikkei siitä merkittävää hyötyä olekaan. Itse ratkaisin ongelman vetämällä emolevyn RGB-piikkirimasta kaapelin SCARTliittimeen, jonka kautta televisiot ja videomonitorit suostuvat näyttämään asianmukaista 50 hertsin kuvaa. NedoPC-ryhmän jäsenten kehittämä mini-ITX-kokoinen emolevy on moderniin tapaan FPGApohjainen ja sisältää yhdessä paketissa paljon toiminnallisuutta. Lisätietoja: nedopc.com/zxevo/ zxevo_eng.php Evolutionin saa joko rakennussarjana tai valmiiksi koottuna emolevynä. Teknisiä vikoja ei ole parin vuoden aikana vastaan tullut – ainoa merkittävä kompastuskivi on oikeastaan ollut vain kielimuuri, jonka taakse jää pääosa virittelyyn ja ohjelmointiin tarvittavasta dokumentaatiosta. Oman kokoelmani länsikoneet ovatkin pysyneet visusti kaapin hyllyllä Evon hankinnan jälkeen. Pelkkään pelaamiseen ei kuitenkaan ZX Evolutionia tarvita, joten entäpä ne demot. 65 tuli turbomoodeja, ja monet aiemmin erilliset laajennukset integroitiin osaksi vakiokonetta. Ohjelmistojen osalta ZX Evolution tarjoaa halukkaille kurkistusikkunan TR-DOS:n omalaatuiseen maailmaan, joka jäi useimmilta kokematta 1980-luvulla. Virittelijän paras ??????. Evoa saa ainoastaan Venäjältä tilaamalla, ja sen saatavuuskin tuntuu vaihtelevan tekijöiden mielenkiinnosta riippuen. Monet näistä edistyneistä malleistakin kantoivat edelleen perinteikkäästi Pentagonin nimeä, vaikka niillä ei enää ollutkaan sanottavasti tekemistä alkuperäisten laitteiden kanssa. Itse onnistuin moisen hankkimaan, eikä hinnaksi tullut kuin reilu sata euroa kaikkine kustannuksineen. Edistyneelle harrastajalle on tarjolla monia virittelyja laajennusmahdollisuuksia: emolevyllä on liitännät korppuasemalle sekä IDE-levyille, ja erääseen piikkirimoista voi kytkeä alkuperäisen Spectrumin näppäimistön sekä Atari-joystickin. Näyttöliitäntä on tavallinen VGA, mutta kaikki näytöt eivät laitteen tuottamasta signaalista pidä. Z80-suoritinta voi ajaa paitsi 3,5 megahertsillä, myös 7 ja 14 megahertsin turbomoodeissa. Kyllä Venäjällä osataan!. Eräänä tärkeänä piirteenä ZX Evolution noudattaa näytönvirkistyksessä ja muistinkäsittelyssä samoja ajastuksia kuin Pentagon. Jokunen pelkille länsikoneille tarkoitettu tuotos puolestaan sekosi ajastuksissaan, ja efektit muuttuivat sotkuksi. Vaikkei ZX Evolutionissa olekaan 1980-luvun nostalgista hohdetta, on se Spectrum-harrastajalle mainio hankinta. Omaa tiedostomuotoaan käyttävä TS-Conf sisältää muun muassa parannettuja 2D-kiihdytettyjä grafiikkatiloja, jolloin ollaan jo varsin kaukana Sir Cliven alkuperäisistä laitteista. Evolutioniin tulee toisinaan firmwarepäivityksiä, joissa on korjattu ongelmia tai lisätty uusia ominaisuuksia. Retrokoneiden viimeaikaisen hinnannousun myötä sen hinta on jo suorastaan edullinen, etenkin kun huomioi, kuinka paljon toiminnallisuutta mukana seuraa. Pelkällä piirilevyllä ei tee yksinään mitään, joten lisäksi tarvitaan vielä näppäimistö, muistikortti sekä PC-kotelo virtalähteineen. Testasin noin kolmeakymmentä tunnetuinta venäläistä demoa, eikä yhdenkään kanssa ilmennyt ongelmia. Päivittäminen saattaa kylläkin nostaa kielitaidottomalle kylmän hien pintaan, sillä lähes kaikki ohjeet ovat venäjäksi. FPGA-piiri on täysin mahdollista ohjelmoida uudestaan, mikä mahdollistaa eräänlaiset rautapäivitykset. Hieman autenttisempaa kokemusta etsivä voi halutessaan päristää ääntä suoraan takanurkasta löytyvään kasettiliittimeen. Valikkokäyttöinen Spectrum. Evoluution seuraava askel Pentagon-sarjan uusimpia tulokkaita edustaa ZX Evolution, joka tunnetaan toisinaan myös nimellä ”Pentevo” tai lyhyemmin ”Evo”. Pelit eivät ole erityisen herkkiä ajastuksille, ja kaikki TAP-tiedostoista kokeeksi lataamani pelit näyttivät toimivan kuten pitääkin. Alkuperäisen Spectrumin pelit myytiin lähes yksinomaan kaseteilla, ja niinpä Evokin osaa ladata emulaattorien käyttämiä TAP-tiedostoja suoraan muistikortilta. Käynnistyttyään ZX Evolution menee vakiona ”Evo Reset Service” -päävalikkoon, josta voi säätää laitteen perusasetuksia, ladata SCLja TRD-levytiedostoja virtuaalisiin asemiin tai hypätä eri BASIC-versioihin
Fighter Pilot (1983) Ehkä maailman ensimmäinen kunnon lentosimulaattori, jossa riitti nopeutta, toimintaa ja modernia ilmasotaa. Hipaise jotain ja kuolet. Head Over Heels (1987) Jon Ritmanin (Batman, Match Day) mestariteos viilasi herran Spectrum-koodausloiston täydellisimmilleen. Willyily oli yhtaikaa sekä hirvittävän turhauttavaa että lumoavaa, ja se olikin yksi 80-luvun eniten myydyistä videopeleistä Britanniassa.. Teksti: Jukka O. Kauppinen Ant Attack (1983) Quicksilvan seikkailua voidaan hyvällä syyllä pitää 3D-pelien ja isometristen seikkailujen esi-isänä. Mitä hyvää Spectrumille sitten tehtiin. Great Escape (1986) Oceanin The Great Escape haki innoituksensa tositapahtumiin perustuvasta Suuri pakomatka -sotaelokuvasta. Se oli myös kuusnelosta nopeampi muun muassa 3D-grafiikassa. F-15 Eagle -hävittäjän mallinnus oli ehkä alkeellista, mutta silti tämä F-15 tykitti lujempaa kuin mikään. Selkeä viivavektorigrafiikka pyöri Spectrumilla paremmin kuin millään toisella pelikoneella, ja esimerkiksi meille tutumpi C64-versio oli selvästi hitaampi ja kankeampi. 2 1 5 . Peli oli aikaisekseen äimistyttävä, sillä avoin pelimaailma pyöri pelaajan ympärillä ja tämän tekemisistä riippumatta. Se oli ensimmäinen teos, jossa kuvakulma nostettiin taivaalle ja maailma kuvattiin kolmiulotteisena kokonaisuutena. Moni legendaarinen pelisuunnittelija ja -ohjelmoija aloitti juuri Spectrumilla. Edellisvuonna julkaistu isometrinen Batman-seikkailu haastoi jopa Ultima Play The Gamen pelien loistavuuden, ja nyt taitavaan suunnitteluun ja viilattuun pelimoottoriin yhdistyi myös sympaattisen persoonallinen päähenkilö (tai oikeastaan kaksi). Tiukalla konekielellä koodattu luomus oli myös todennäköisesti maailman ensimmäinen selviytymiskauhupeli. Tekijäfirma Digital Integration kasvoikin yhdeksi 80-luvun tärkeimmistä simufirmoista. Hyvät puzzlet, söpöily ja hauskat hahmot nostivat sen yhdeksi Spectrumin ikivihreimmistä klassikoista. 4 66 10 peliä ZX Spectrumille Spectrum oli Iso-Britanniassa Se Virallinen tietokone, jolla oli eniten käyttäjiä, faneja, suurimmat lehdet ja parhaat pelikehittäjät. Vangin täytyi osallistua pakollisiin leiritoimintoihin ja yrittää etsiä niiden lomassa pakenemiseen tarvittavia välineitä, kaivaa pakotunnelia ja piilotella vartijoilta. Jet Set Willy (1984) Manic Minerin jatko-osa oli suurempi, valtavampi ja massiivisempi kuin mikään peli ikinä. Pelaaja on sotavanki, jonka täytyy päästä pakoon saksalaisten sotavankileiriltä. Se myös kumpuaa brittiläisen kasaritasoloikkasuunnittelun syvimmästä ytimestä: staattisilla ruuduilla liikkuu kaikenlaisia öttiäisiä, joita pelaajan hahmon täytyy väistellä yli hyppimällä ja tarkalla ajoituksella
Jos etsimme pikselintarkkojen tasoloikintojen esi-isää, niin tätä kauemmas ei tarvitse katsoa. Teos jäi sankareineen kasibittisen pelaamisen historiaan ja sementoi Tim ja Chris Stamperin aseman pelaamisen legendoina. Äärimmäisen taitavasta pelisuunnittelusta syntyi teos, jota pelataan aktiivisesti edelleen. Julian Gollopin on muuten yhä aktiivinen pelialalla. Manic Miner (1983) Matther Smithin mestariteos muutti tasohyppelyt ikiajoiksi. Jep. Huima science fiction -sotapeli oli vuoropohjainen taktinen strategia, jossa kaksi joukkuetta soti erilaisissa ympäristöissä. Peli viehätti sekä avoimella puuhastelulla että ilkikurisella asenteellaan. Ultimate Play The Gamen luomus oli teknisesti ja konseptuaalisesti aikaansa edellä, ja sen Filmation-pelimoottori käytännössä loi isometristen 3D-seikkailujen genren. Laser Squad (1988) Julian Gollopin luoma Laser Squad loi pohjan muun muassa Advance Wars -pelisarjalle ja oli suora edeltäjä Gollopin UFO/X-COM-megahiteille PC:llä. Sabre Wulf (1984) Ultimate Play The Gamen varhaisiin hitteihin lukeutunut Sabre Wulf oli vauhdikas, värikäs ja hauska sokkeloseikkailu, jossa pelaajat tutustuivat ensimmäisen kerran Utimaten useissa peleissä seikkailleeseen Sabremaniin. Skooldaze (1984) / Back to Skool (1985) Skooldaze on yhä edelleen ideana äimistyttävä. Pelissä seikkaili Ultimaten luottosankari Sabreman. Knight löytyykin käänteentekevyytensä ansiosta maailmaa eniten mullistaneiden videopelien top 10 –listalta, ja se innoitti monia aikansa pelinkehittäjiä, ei vähiten John Ritmania, jonka Batman-pelistä voit lukea Skrolli 2014.1:stä. Sitä jatko-osineen pidetään muun muassa The Sims -pelisarjan esi-isänä. Alkuperäinen Chaos ilmestyi – tietenkin – ZX Spectrumille. Pitkän Ubisoftkauden jälkeen herra julkaisi äskettäin PC:lle fantasiastrategia Chaos Rebornin. Sen raivostuttavuus ja koukuttavuus löysivät vertaisensa vasta Smithin myöhemmästä Jet Set Willystä. Sillä kyllähän peli, jossa voi ampua opettajaa ritsalla takaraivoon ja töniä luokkatoverit pulpetin äärestä, jos joka paikka on varattu, on ihan täysimittainen koulusimulaatio mutta vain koulunkäynnin parhaimpien puolien kera.. Ai peli, jossa ollaan koulussa. Vaikka Manic Miner oli pohjimmiltaan huima peli, oli se myös niin helvetillisen vaikea, ettei monikaan taatusti päässyt ikinä viitostasoa pidemmälle. Herrojen seuraava pelitalo muuten tunnetaan nimellä Rare. Ainutlaatuinen idea hiekkalaatikkomaailmatoteutuksella ja itsenäisesti toimivilla tekoälyn ohjaamilla sivuhahmoilla pohjusti huumorilla höystettyä seikkailua, jolla riittää lumovoimaa vaikka muille jakaa. 67 Knight Lore (1984) Jos listaamme pelejä, jotka mullistivat maailmaa, niin Knight Lore on oksalla ylimmällä, yhdessä Wolfenstein 3D:n kanssa
Kaupunki oli neuvostoaikaan salainen ja suljettu samaan tapaan kuin vaikkapa avaruustekniikan ja kosmonautiikan keskus Tähtikaupunki. Yritin jo kymmenisen vuotta sitten hankkia itselleni Venäjältä ??eli BK-kotitietokonetta, mutta toimitusketju kohtasi epäonnea. Neuvostotietotekniikkaa ei ole kovin helppo haalia käsiinsä. BK suunniteltiin kuitenkin nimenomaan edulliseksi kotija koulumikroksi länsimaisen mallin mukaan: sen ensisijaisena massamuistina toimii kasettinauhuri, ja 32 kilotavun RAM-muistista peräti puolet on varattu 512×256 mustavalkopikselin grafiikkanäytölle. Suoritin päätyi sittemmin hyvin monenlaisiin laitteisiin satelliiteista taskutietokoneisiin. Näppäimistönä alkuperäisessä vuoden 1985 BK-0010:ssa on tunnoton muovilevy, joka tosin myöhemmissä malleissa vaihtui kirjoituskonetyyppiseksi. BK sen sijaan syntyi osana virallista ohjelmaa ja oli mikropiirejä myöten täysin kotoperäinen. Niinpä K1801:lle laadittiin uusi mikrokoodi, joka teki siitä PDP-11-yhteensopivan. Sen toiminta keskittyi Moskovan lähellä sijaitsevaan Zelenogradin kaupunkiin, jota on pidetty Neuvostoliiton vastineena Kalifornian Piilaaksolle. BK:n edeltäjinä voidaan pitää Tieteellisen Keskuksen aikaisempia PDP11-yhteensopivia henkilökohtaisia tietokoneita, joita ovat esimerkiksi DVK-sarja ja Tetriksen alkuperäisalustana tunnettu Elektronika 60. Suoritinta ei kuitenkaan alkujaan suunniteltu tälle käskykannalle vaan yhteensopivaksi Tieteellisen Keskuksen oman NC-1-minitietokoneen kanssa. Teksti: Ville-Matias Heikkilä Kuvat: Manu Pärssinen, Matti Hämäläinen, Ville-Matias Heikkilä BK-0011: Rautaa rautaesiripun takaa. BK:n suoritin on nimeltään K1801VM1, ja se suorittaa PDP11-käskykantaa. 4 68 Rauta BK :ta voidaan pitää ainoana aidosti neuvostoliittolaisena kotitietokoneena. 1980-luvun vaihteessa itätietotekniikka oli kuitenkin jäämässä jälkeen länsimaista, joten elektroniikkaministeriö halusi kiriä eroa umpeen sitoutumalla entistä vahvemmin ”kansainvälisiin standardeihin”. Jari ”Jaffa” Jaanto onnistui kuitenkin äskettäin huutamaan Ebaysta yhden tällaisen koneen ja lainasi sen minulle tutkittavaksi. Muut neukkumikrot, kuten Radio-86RK, Vektor-06 ja erilaiset Spectrum-kloonit, saivat useimmiten alkunsa harrasteprojekteina ja perustuivat länsimaista kopioituihin suorittimiin. Tarjolla tosin on myös muistinsäästömoodi, jossa näyttö on vain muutaman rivin korkuinen. 2 1 5 . Koneesta ja sen komponenteista vastasi Tieteellinen Keskus (Nautšnyj Tsentr), joka oli Neuvostoliiton elektroniikkaministeriön alaisuudessa toiminut tieteellis-teollinen yhtymä
Kone kuitenkin piippaili lupaavasti näppäimiä painettaessa. Muistimonitori. Näyttömuistia täyttävästä vaakaskrollausrutiiniista tein Youtubevideonkin (”PDP-11 machine code on a BK-0011”). Kannalle asennetulta piiriltä käynnistyi muistimonitori, jonka tekstit oli käännetty englanniksi – kuinka huomaavaista! Ohjelmaa muistiin oktaalina Muistimonitori on ominaisuuksiltaan samantapainen kuin konekielimonitori, mutta ilman assembly-esitysmuotoa: muistin sisältöä voi tutkia ja muokata oktaalimuodossa, ohjelmaa voi ajaa halutuista osoitteista normaalisti tai askel kerrallaan, ja dataa voi myös ladata ja tallentaa kasettiliitännän yli. Assembly-esityksen puutteeseen tottui kuitenkin lopulta aika nopeasti, sillä PDP-11-konekieli on alusta asti suunniteltu oktaaliystävälliseksi. Sen tärkein uudistus on RAM-muistin laajennus 128 kilotavuun. Ylemmässä kannassa on neuvostovalmisteinen EPROM-piiri, ja alempi on tyhjillään. Demoako tekemään. merkitystä kolosta, sillä muuntajamötikän pohjassa ovat sanat ”???. Mitä tällaisella koneella tekisi. Yhteensopivuus nimittäin palautettiin jo tuotannon alkuvaiheessa, jolloin uudeksi mallinimeksi tuli 0011M. Pelit ja demot on suunniteltu värigrafiikalle, kun taas muut ohjelmat suosivat isompaa resoluutiota. Olen siis tyytynyt monimutkaisempien ohjelmien rakentelussa toistaiseksi emulaattoriin. Edistyneempiä kokeiluja en kuitenkaan jaksanut tehdä oktaalikoodia naputtamalla, vaan sitä varten koneeseen pitäisi saada ladattua ohjelmia ulkoisesta lähteestä. Jo kymmenen vuotta sitten suunnitelmissani oli tehdä BK:lle ensimmäinen länsidemo, eikä kukaan näytä vieläkään ehtineen ensin. Eksiton-suunnittelutoimiston Basic muistuttaa syntaksiltaan Microsoftin tulkkeja. Testailin laitteen toimintaa aluksi pienillä grafiikkaohjelmilla, joilla halusin etenkin kokeilla laitteen suorituskykyä. Näppäimistön nurkassa huomiota herättävä punainen ????-näppäin (”stop”) osoittautui konekielikokeiluissa käteväksi: se saa aikaan keskeytyksen, joka palauttaa suorituksen takaisin muistimonitorin komentoriville. 69 Kone ja liittimet Haltuuni saamani kone on BK-0011, jonka tuotanto alkoi vuonna 1989. Monet 0011M-harrastajat laajensivat koneitaan edelleen muun muassa äänipiireillä sekä levykeja kiintolevyasemilla, joita esimerkiksi koneelle tehdyt demot hyödyntävät järjestään. 0011 on siitä harvinainen välimalli, että se ei ole täysin yhteensopiva 0010:n kanssa. Laitteita tutkittuani päädyin siihen, että käyttöjännite otetaan kirjaimilla ?. Värivalikoima on insinööripalettien insinööripaletti: musta, punainen, vihreä ja sininen. BK-käyttäjillä lieneekin ollut käytössä kytkimiä, joilla mustavalkoja värikuvan välillä voi vaihtaa vaivattomasti. BK:n videoulostulosta saa kahdenlaista signaalia: mukana tullut videokaapeli antaa televisioon kytkettynä mustavalkoista 512×256 pikselin kuvaa, mutta tarjolla on myös RGBpinnit värikuvaa varten. 0010-käyttäjät joutuivat tyytymään näihin väreihin, mutta 0011:ssä on tarjolla kaikkiaan 16 eri palettia. Tällaisia luksusvarusteita ei Ebay-paketista kuitenkaan paljastunut – sisällä oli vain koneen keskusyksikkö, virtalähde ja pari johtoa. Mihin virtalähde kytketään. BK on aidosti 16-bittinen laite muistiväyliään myöten, mutta se on omiBK purettiin laatikostaan Simulaatio-demotapahtumassa. Koneen takana on kahdenlaisia liitäntöjä: kaksi pitkää suorakaidemaista väyläliitäntää ja neljä viisipinnistä DIN-liitäntää. Muistipaikkaan 77776 on kirjoitettu PDP-11:n kuuluisa itseäänkopioiva käsky MOV -(PC),-(PC) ja käynnistetty se.. ???????” eli ”virtalähde”. Värikuvan resoluutio on 256×256 – kutakin mustavalkokuvan pikseliparia vastaa yksi leveämpi väripikseli. Projektia varten pitää kuitenkin ensin syventyä laitteiston heikkouksiin ja vahvuuksiin. En ehtinyt kuitenkaan saada omaa viritystäni toimimaan ennen lehden valmistumista, sillä 0011:n kasettitallennusformaatti on epäyhteensopiva muiden BK:iden kanssa, ja liitäntöjen nastakohtaisia kuvauksia oli todella vaikea löytää. Tyypillisiä ROM-ohjelmistoja ovat Basicja Focal-tulkit, muistimonitorit ja levymuisteja hyödyntävät käyttöjärjestelmälataimet. Muuntaja rupesi käynnistettäessä sirisemään ilkeästi, mikä ei valanut luottamusta maadoittamattoman, metallikuorisen itätuotteen käyttöturvallisuuteen. Näppäimistön vasemmalla puolella on luukku, jonka takaa paljastuu kaksi piirikantaa. Käyttäjille on siis tarjolla mahdollisuus vaihtaa koneen ROM-ohjelmistoa varsin helposti. BK:n kasettiporttiin sopivan DINliittimen saa nyysittyä esimerkiksi AT-aikakauden PC-näppäimistöstä, ja massamuistilaitetta matkimaan voi valjastaa vaikkapa Arduinon
Monimutkaisia muistiosoituksia kannattaa sen sijaan hyödyntää, sillä se on kautta linjan nopeampaa kuin saman tehtävän toteutus yksinkertaisemmilla käskyillä. Esimerkiksi koko näytön kokoinen pyörivä kuutio toteutettaisiin parhaiten taulukoimalla värirajojen sijainnit ja päivittämällä vain niitä näyttömuistin kohtia, joissa muutoksia tapahtuu. Vektor päihittää perus-BK:n helposti niin grafiikassa kuin äänessäkin. BK:n kilpailijat Jotta BK:n ominaisuudet saisi oikeisiin mittasuhteisiin, on sitä verrattava muihin neuvostoharrastajan ulottuvilla olleisiin kotimikroihin. 2 1 5 . CSIDOSin tiedostonhallinta ja AY-piiriä käyttävä musiikkisoitin. Kahdensuuntaisen kulttuurivaihdon tulos: Blockoutin BK-käännös.. 128 kilon Spectrumeista tuttua AY3-8910-äänipiiriä käyttävä laajennus yleistyi BK-käyttäjien keskuudessa 90-luvulla, samoin 8-bittisen PCMäänen mahdollistava Covox. Grafiikkamuisti on lisäksi järjestetty kerroksittain, mikä helpottaa esimerRasteripalkkeja Mega Best Softwaren demosta Technological Dream. Suorittimen kellotaajuus on mallista riippuen kolmen ja neljän megahertsin välillä, mutta käskyt vievät tuhottomasti kellojaksoja – muistinkäsittelykäskyt järjestään vähintään 20. Vektorissa ovat tarjolla samat grafiikkaresoluutiot kuin BK:ssakin mutta 4 ja 16 värillä. Teknisesti ehkä varteenotettavin BK:n kilpailija oli kahden moldovalaisinsinöörin vuonna 1987 julkistama ?????. Näissä puitteissa BK-demon efekteissä kannattaa painottaa algoritmin älykkyyttä raakaoptimoinnin sijaan. 06. Demoissa ja peleissä tyydytäänkin usein piirtämään vain joka toiselle juovalle. eli Vektor 06C. Alkuperäinen neukkukäskykanta ehkä sai ytimestä enemmän irti, mutta tällaisena suoritin ei ole sen nopeampi kuin vaikkapa Spectrumissa käytetty Z80. Grafiikkaraudan ainoa ”kiihdytysominaisuus” on mahdollisuus määritellä näyttömuistin alkuosoite 64 tavun tarkkuudella, mikä mahdollistaa pikselintarkan pystyskrollauksen ilman muistin kopiointia. Muutamat pelit yrittävät saada piipperistä enemmän irti alkuruuduissaan, joissa kaiken suoritinajan voi uhrata äänen tuottamiseen, mutta demokäytössä kaipaa kyvykkäämpää äänentuotantotapaa. Edes kertoja jakolaskukäskyjen varaan ei voi toivoaan laskea, ne kun puuttuvat kokonaan. Monimutkaisemmat pikselinpyörittelyt lienee paras pitää pienessä osassa ruutua ja jättää muu tila staattiselle tai pystyskrollaavalle ympärysgrafiikalle. BK:ssa ei ole muita näyttötiloja pikseligrafiikan lisäksi, eikä suorittimessa riitä potku 16 kilotavun näyttömuistin uudelleenkirjoittamiseen joka näytönvirkistyksellä. CSI:n Cybernoid-käännös on parhaita BK:n länsipelisovituksia. Näytönohjaus on niin yksinkertainen, että mahdollisuudet sen muunlaiseen huijaamiseen ovat liki olemattomat. 4 70 naisuuksiltaan hyvin ”kasibittinen”. Rasterikeskeytyksiä saa aikaan ajastinkikkailulla, mutta ne ovat käyttökelpoisia lähinnä värimäärän lisäämiseen ja näytön juovakohtaiseen pimentämiseen. Laajentamattoman BK:n ääniominaisuudet rajoittuvat sisäiseen pietsopiipperiin samaan tapaan kuin alkuperäisessä Spectrumissa. Värit voidaan valita vapaasti kaikkiaan 256 värin kokonaispaletista
Grafiikka on teknisesti rajoitetumpaa kuin BK:n tai Vektorin – 256×192 pikseliä, ja kussakin 8×8 pikselin solussa voi käyttää vain kahta väriä kuudestatoista – mutta sitä on nopeampi piirtää. Standardin syntymättömyyteen vaikutti varmasti myös se, että neuvostoteollisuus keskittyi pelkkiin laitteisiin jättäen ohjelmistopuolen rehottamaan omillaan. Ohjelmatarjonta BK-sarjan koneet olivat suosituimpia neukkumikroja, jos länsikoneiden kloonit jätetään huomiotta. Joskus peliin on kopioitu alkuperäisen pelin intrografiikat suoraan, mutta itse peli on vain vähän sinnepäin. Suuri osa BK:n peleistä on varsin yksinkertaisia harrastajaklooneja länsipeleistä: Lode Runner, Pacman, Boulder Dash. Mutta eipä silti, kyllä BK-ohjelmien alussa ”cracked by” -rivejäkin näkyy. Näin Spectrumilla oli myös tekninen valtti neukkukoneisiin nähden. Spectrumin suurimpana etuna oli valtava länsipiraattiohjelmiston määrä. Joukkoon mahtuu myös kunnianhimoisempia tekeleitä – joista niistäkin valtaosa on kopioita Spectrumin ja PC:n peleistä: Cybernoid, Joe Blade, Monkey Island 2, Prince of Persia. "Voittamaton"-avaruuspelissä lisävarusteiden hinnat ovat dollareissa. Pelien introruudut kertovat länsija itäblokkien tietokonekulttuurien eroista: kräkki-intron sijaan näkyviin saattaa tulla ruutu, jossa pelin kopioinut taho ilmoittaa, minkä pelien kopioita hänellä on myytävänä ja millaisiin hintoihin. (”Voittamaton”), joka vaikuttaa lähinnä modernisoidulta versiolta 1970-luvun merkkipohjaisesta Star Trek -pelistä. Sekä Vektor että BK jäivät ennen pitkää Spectrum-kloonien ja myöhemmin PC:n jalkoihin. Haasteita näyttäisi siis riittävän länsieurooppalaisellekin demo-ohjelmoijalle vielä yllin kyllin. Mainitsemisen arvoisia BK-ryhmiä ovat Mega Best Software sekä CSIDOS-käyttöjärjestelmää ja RockMonitor-musiikkiohjelmaa kehittänyt Caroline Software Inc. Etenkin Neukkulan hajottua oli tietokoneharrastajillakin ilmeisesti halua nyhtää rahaa toisiltaan henkensä pitimiksi. Tällöin järjestettiin muutamana vuonna myös BKmania – yksinomaan BK:lle omistettu demotapahtuma. Venäläiset löysivät länsimaistyyppisen demoskenen kilpailukeskeisine partyineen 1990-luvun puolivälin aikoihin. Vektorista puuttuu kuitenkin rautaskrollaus, sen 8-bittinen suoritin on hidas, ja muisti rajoittuu 64 kilotavuun. Yhteensopimattomuus menee niin pitkälle, että monet ohjelmat on pitänyt sovittaa erikseen kullekin käyttöjärjestelmälle, joiden alta ne ladataan: tästä kertoo ohjelmissa usein näkyvissä oleva ”adapted by” -teksti. Tämän jäljiltä on olemassa jonkinlainen määrä BK-demoja, joskin niiden tuotanto hiipui aika reilusti vuosituhannen vaihduttua. Ehkä BK-käyttäjillä oli tarve keskittyä todistelemaan, että BK:llekin saa länsimaisen kaltaisia ohjelmia, kun taas Spectrum-kloonien käyttäjät saattoivat käyttää energiansa uuden luomiseen ja vaikkapa aina vain hulppeampien Elite-kloonien kehittelyyn. Suosittua Lode Runner -kloonia ???. Toisinaan taas käännös on hyvinkin uskollinen. Äänestä vastaa PC:stä tutun ajastinpiirin klooni, joka tarjoaa kolme kanttiaaltokanavaa. Alkuperäinen BK käytti massamuistinaan yksinomaan c-kasettia, joten levykäyttöjärjestelmien suhteen ei ole minkäänlaista yleisesti hyväksyttyä standardia. Esimerkiksi pelejä löytyy niille netistä huomattavasti enemmän kuin millekään toiselle itäblokin koneelle. Vektorilla ei myöskään ollut takanaan laajaa valtiokoneiston tukea kuten BK:lla. Aidosti omaperäistä pelitarjontaa on varsin vähän, toisin kuin vaikkapa Spectrum-klooneilla. Osa käyttöjärjestelmistä (muun muassa ?. ANDOS väittää käyttävänsä MS-DOSista tuttua FAT12:ta, mutta todellisuudessa venäläisinsinööri on tulkinnut speksejä sen verran omaperäisesti, ettei tiedostoja saa normaalein keinoin ehjinä ANDOS-levykkeille. 71 kiksi peliohjelmointia – monissa peleissä on yksi grafiikkakerros varattu kokonaan softaspriteille. ??-11) on PDP-11:ssä yleisesti käytetyn RT-11:n johdannaisia ja käyttää sen tiedostojärjestelmää, mutta suurin osa hylkää RT-11-perinteen. Ainoa vastaani tullut hieman Eliteä muistuttava BK-peli on ??????????. Näyttäisi jopa siltä, että kopiosuojaukset olivat usein jonkin välikäden eivätkä pelin alkuperäisen tekijän laittamia. Vektorin ja BK:n parhaat ominaisuudet yhdistävä kone olisi kuitenkin pärjännyt Spectrumille paljon paremmin, ja ehkä paikallinen tietokonekulttuuri olisi muotoutunut erilaiseksi, jos tällainen kone olisi kehitetty. ("Klad") julkaistiin monta osaa vuosina 1987-1991.. BK ei ehkä ole palkitsevimpia alustoja harrasteohjelmoinnin kannalta, mutta tämä tarkoittaa toisaalta myös sitä, ettei sen kaikkia kykyjä ole vielä ehditty hyödyntää täysipainoisesti
Skrolli sukeltaa editoripelien historiaan ja käsittelee tässä artikkelissa genren historiaa noin vuosituhannen vaihteeseen saakka. Se julkaistiin kaikille aikalaismikroille ja jopa NES-konsolille. Hyvä näin, sillä penskat sekä testasivat Smithin tekemiä tasoja että tekivät omiaan. Ne eivät ole uusi keksintö – videopeleissä on ollut kenttäeditoreita ja sisältötyökaluja jo yli 30 vuoden ajan. Uudemmat tuulet puhaltavat numerossa 2016.1! Lode Runnerista se alkoi Tiettävästi ensimmäinen pelin mukana tullut kenttäeditori löytyi vuonna 1981 julkaistusta Munchkin –konsolipelistä. 2 1 5 . Esimerkiksi Computer Gaming World -lehti järjesti useita Lode Runner -kentäntekokilpailuja. Eikö se ole pelintekijöiden tehtävä. 150, mietti Smith kauhuissaan, ja teki kenttäeditorin jota naapuruston kakarat osasivat käyttää. Näin yhä useampi kuuli pelistä ja kenttien teosta tuli niin suosittua, että jatko-osa, Championship Lode Pelejä tuunaamassa, osa 1 Pelieditorien aamunkoitto Pelaajien luoma pelisisältö, kuten modit, ovat kullan arvoisia. Kauppinen, Mobygames, Wikimedia Commons. Smith ohjelmoi pelin alkujaan huvikseen, mutta kun Broderbund hyväksyi pelin julkaistavaksi, oli firmalla kaksi vaatimusta: animaatioista täytyi tehdä paljon paremmat ja kenttiä oli oltava 150. Lode Runnerista tuli hitti. Suuremman loiskauksen aiheutti Lode Runner (1982/1983), jonka kenttäeditori tosin oli enemmänkin osoitus tekijän laiskuudesta kuin innovatiivisuudesta. Kenttiä ja muuta sisältöä tehdään ja tehtiin omaksi iloksi ja kavereiden kera nautittavaksi, ja mikseipä sitä jaettaisi muillekin, jos se on teknisesti mahdollista. Kauppinen Kuvat: Tapio Lehtimäki, Jukka O. 4 72 Pelit M iksi peliin pitäisi tehdä sisältöä itse. Tunnetuimman jälkensä historiaan se tosin jätti Atarin ja Philipsin tekijänoikeuksien historiaa tehneessä oikeudenkäynnissä. Arkkitehtuuriopiskelija Douglas E. Pac-Man-kopio nähtiin Suomessakin, ja se oli monelle pikku pelaajalle ensimmäinen kosketus pelisuunnitteluun. Teksti: Jukka O. Tiemmä iso osa pelin kentistä onkin teetetty lapsityövoimalla. Siinä missä joillekin riittää valmiista paketista nauttiminen, haluavat toiset luoda itse. Ne kasvattavat pelien kaupallista ikää ja edesauttavat myyntiä. Kaikki versiot sisälsivät tuikitärkeän kenttäeditorin, josta otettiin kaikki irti. Ja jos taidot eivät riitä ihan kaikkeen, on luontevaa muokata valmista peliä – etenkin jos siihen tarjotaan järkevät työkalut
Siinä tasoloikittiin Loden tapaan ruuduilla, joille oli ripoteltu tasoja, tikkaita ja örkkimörkkejä. Etenkin vanhempien autopelien radat olivat kätevän kaksiulotteisia, joten ratasuunnittelu onnistui lätkimällä ratapaloja tasaiselle pohjalle. Hakkerointiohjeita julkaistiin lehdissä. Chris Skog Devaajana säädän editoreissa työnkin puolesta, mutta edelleen suurimpana motivaattorina on sisäinen vimma rakentaa ja luoda jotain, sekä uteliaisuus ja kokeilunhalu. Äärimmäinen autohauskuus täydellistyi rataeditorilla, joka oli aikaisekseen hämmästyttävän käyttäjäystävällinen. Molemmat editorit olivat yllättävän helppokäyttöisiä, hauskoja ja toimivia. Työkaluilla pystyi tekemään uusia kenttiä tai muokkaamaan vanhoja, mutta pelien sisäistä logiikkaa ei juuri puukotettu. Niinpä siihen tuhrautui aika lailla aikaa – mutta sitähän nuorilla pelaajapojilla riitti. Santtu Huotilainen Kasibittistä editointia Lode Runnerin jälkeen yhä useampi peli sisälsi työkalut omien kenttien tekemiseen. 73 Runner, koostui yksinomaan pelaajien luomuksista. Robot Commodore 64:sella. Kikstart 2:sessa omat kentät mahtavilla hypyillä ja pompputorneilla ovat jääneet mieleen. Pienemmät perusradat syntyivät muutamassa minuutissa. Tommi Äijälä Kuuslankulla tuli läpikäytyä varmaan aika perussetti: Rally Speedway (lukematon määrä tunteja), Boulder Dash, S.E.U.C.K (joka meinasi tappaa pelientekovietin kokonaan) ja Loderunner. Siinä ei enää tyydytty mihinkään tavanomaiseen, vaan pelaajille annettiin hurjat. Edelleen retropelibileissä suosittu Rally Speedway (1984) oli tästä nerokas esimerkki. Vähän Loden jälkeen saapui samantyyppinen tasoloikinta Wizard (1984), josta julkaistiin myös päivitetty Ultimate Wizard. Esimerkiksi Mr. Ensikosketus aiheeseen tuli Philips Videopac G7000 -pelimoduulissa Munch kin, jossa pääsi suunnittelemaan ”Pacmanille” uutta labyrinttiä. Oman sisällön luominen oli silti pitkään rajoitettua. Ensin hiotaan ajaminen kuntoon, sen jälkeen tehdään radat loppuun. Robot and his Robot Factory (1983) muistutti monella tapaa Lode Runneria. Ovelana temppuna pelimoottori ja kenttädata oli tehty täysin itsenäisiksi kokonaisuuksiksi. Siihen aikaa kenttiä ei kylläkään jaettu, vaan ne tehtiin ja pelattiin heti perään. Muutama ohjelmistotalo tarjosi myös työkaluja, joilla pystyi tekemään musiikkia, fontteja, spritejä tai grafiikkaa. Tosin Robotin örnöt liikkuivat tarkoin määritellyillä reiteillä, siinä missä Loden vastustajat liikkuivat vapaasti. Esim. Santtu Huotilainen Kumi palaa Myös ajopelirintamalla sattui ja tapahtui. Radat ja ympäristöt rakennettiin valmiista paloista, jotka valittiin ja asemoitiin näppäimistön ja tikun näppärällä yhteiskäytöllä. Pohjimmiltaanhan hyvän ajopelin toimiva ydin löytyy pelattavuudesta. Olihan se hauska motittaa kummitukset jo heti kättelyssä tai pistää kaverit pelaamaan umpikujaan päätyvää labyrinttiä. Näin pelihistoria sai uuden, tuottavan käänteen. Tasoja tehtiin niin tuhottoman paljon, että fanikentistä koottiin sekä maksullisia kenttäpaketteja että pari epävirallista jatko-osaakin. Sega SC-3000-kotitietokoneelle tuli aikansa buumipeli, Lode Runner, johon tuli myös tehtyä omia pelitasoja speedruntyyliseen pelailuun. Robotin pakissa oli yhteensä 14 työkalua, kuten liukuhihnoja, trampoliineja ja muita esineitä. Autoiluhulluus kiihtyi EA:n Racing Destruction Setissä (1985). Ekat pelit, joissa pääsin tekemään omia kenttiä, olivat Kikstart 2 ja Mr. Parasta ei ollut se, että sai tehdä uusia kenttiä, vaan että sai tehdä hauskan-typeriä kenttiä ja kokeiluja. Kentän rakentaminen oli yksinkertaista, mutta urakka tehtiin joystickillä ja jokainen pala piti noutaa erikseen ruudun alareunan valikosta. Pelaajat pystyivät muokkaamaan peliä ja rakentamaan omia kenttiä kaupallisilla JSW-työkaluilla. Pelaajat pystyivät pian muokkaamaan pelikenttiä, sitten dataamaan koodia. Alkuinnostuksen jälkeen pelkkä ratojen suunnittelu ei tuntunut oikein riittävän, kun halusi suuremmin vaikuttaa pelimaailmaan ja sen tapahtumiin. Varhaisen kasibittisajan suurimpia hittejä oli brittiläinen Jet Set Willy (1983), joka on yhä yksi kaikkien aikojen tunnistetuimmista videopeleistä. Robotissa kenttiä, jossa oli loputtomasti kuolemattomuuspillereitä, tai kenttä, jossa hahmo läpäisee sen ohjaimeen koskematta. Kenttäeditorit olivat tulleet jäädäkseen, ja kansalaisille oli annettu avaimet pelien muokkaamiseen. Toimivuuden pystyi testaamaan automatiikalla ennen pelaamista, ja jos tulos tyydytti, kentän sai tallentaa levylle. Ensimmäinen kosketus editoreihin oli Philips Videopacin Munchkin, vuosi taisi olla 1983. Mr. Munchkin julkaistiin 1981, joten se lienee ensimmäisten editoripelien joukossa. Vauhdikkaassa kaksinpelissä autot kiitävät kilpaa ja tönivät kaveria pusikkoon. Myös siinä oli kentänrakennustyökalut, mutta EA:n peli jäi Lode Runner -kuumeen jalkoihin
Aki Sivula Suurimmalla käytöllä olivat Rally Speedwayn ja Stuntsin editorit. Useimmat muut muistikuvat ovat yhden ruudun tilepohjaisista sharewarepuzzlepeleistä. Ja jos en mainitsisi Boulder Dash Construction Kittiä (1986), tämä artikkeli joutaisi jäädä kirjoittamatta. Mikä parasta, seikkailut oli mahdollista tallentaa itsenäisenä toimiviksi peleiksi, eli luomuksia saattoi jakaa rajoituksetta kavereille. Rapakon tällä puolella nautittiin yhä tekstipeleistä, ja Gilsoftin The Quill (1983) -tekstiseikkailutyökalut olivat sekä harrastajien että ammattimaisten pelisuunnittelijoiden – tai pikemminkin tarinankertojien – suosiossa. Jerri Pelien tekemistä pelinteko-ohjelmilla Varhaisten pelieditorien ja kaupallisten pelienmuokkaustyökalujen rinnalla syntyivät myös ensimmäiset kaupalliset työkalut kokonaisten pelien tekemiseen. 4 74 työkalut ratojen rakentamiseen ja muokkaamiseen – niin maan päällä kuin vaikkapa Kuussa ja muilla taivaankappaleilla. Racing Destruction Setillä tehtiin paljon kenttiä. Mikäs sen hauskempaa kuin tehdä pitkä, loiva ylämäki, jonka päässä oleva hyppyri paiskaa autot uskomattomaan ilmalentoon Kuun painovoimakentässä. Kuusnelosen editoripeleissä käyttöliittymät olivat hyvin lähellä varsinaista peliä. Niissä oli vain usein se ongelma, että teimme niistä sadistisen vaikeita, kuten myös Mr.Robotin ja Boulder Dash Construction Kitin kentistä. Virtaviivaista, mutta en muista, että esimerkiksi näppäimistöä olisi hyödynnetty kovin tehokkaasti, vaan hommat tehtiin pääasiassa joystickillä. Se ei edes sisältänyt varsinaisesti peliä, vaan oli työkalupakki flippereiden tekemiseen. Omat kikkailuradat syntyivät vaivattomasti, eikä ole vaikea nähdä mistä Redlynxin Trials-sarjaa ammentaa. Robotiin ja Rally Speedwayhin, niitä sitten tahkottiin kavereiden kanssa. 2 1 5 . Eeppisin pelintekovärkki Monimutkaisempaa pelintekemistä tarjosi Garry Kitchen’s GameMaker (1985), joka sisälsi valmiit työkalut yksinkertaisten toimintapelien tekemiseen. Neliömäisistä palikoista koostuvia luolastoja oli helppo rakennella. Rally Speedwayssa lätkäistiin talo keskelle suoraa. Se mahdollisti täysimittaisten ylhäältä kuvatun roolipelin rakentamisen ja sisälsi valmiita pohjia useille seikkailutyypeille. Lasse Mattila Rally Speedway ansaitsee erityismaininnan yleisen hauskuutensa ja ajattomuutensa takia. Ensimmäinen Kikstart oli ollut jo hitti, joten jatko-osaan viilattiin sekä parempi pelattavuus että kunnon editori, joka nostettiin jopa pelin kanteen ja mainoksiin. Pelkästään Spectrumille julkaistiin yli 450 kaupallista Quillillä tehtyä peliä. Quilliin julkaistiin grafiikkalaajennus, jonka myötä peleihin saattoi upottaa kuvia. Kikstart toimikin erittäin hyvin aikansa hittibilepelinä. Siisteintä oli kuitenkin ratapalojen asettelu, vääntely ja korkeuserojen säätäminen. Painovoimaa, radan liukkautta ja muita parametrejä pystyi säätämään kattavasti, kulkupelejä riitti kuuautosta temppupyörään ja F1-kiituriin. Yleensä tavoitteena oli tehdä rataan jokin kiero koukku, joka aiheuttaa kaverille ulosajon. Quill päivittyi myöhemmin Professional Adventure Writeriksi (1986), joka toimi uudemmilla kotimikroilla ja tarjoili muun muassa monipuolisemman parserin. Hatih Kikstart II oli aikansa Mario Maker ja sillä tehtiin lähinnä kaasu pohjassa ajettavia pomppukenttiä, mutta joskus vähän vakavampiakin yrityksiä. Lopputulos puhuu puolestaan: netistä löytyy noin 2500 fanien tekemää Boulder Dash -peliä. Ne kuitenkin innostivat jatkamaan harrastetta oikeaan peliohjelmointiin, Tile-pohjaiset pelit esimerkiksi auttoivat ymmärtämään miten kenttädataa saattoi tallentaa yksinkertaisilla taulukoilla ja parilla toisaalla määritetyllä objektilla. Siinä käytettiin ovelasti valikkopohjaista ohjelmointia, jossa käyttäjä poimi haluamiaan Basic-tyyppisiä käskyjä valikosta ja määritteli niiden toiminnan joystickillä. Vaikka ohjelmassa oli rajoituksensa, pystyi sillä tekemään varsin toimivia kokonaisuuksia. Boulder Dashit -pelit olivat mielettömiä myyntihittejä. Seikkailupelit olivat järjettömän suosittuja, ja tarinankerronnan potentiaalia lypsettiin Adventure Construction Setillä. Jorma Oksanen Amigan Druidiin tehtiin joskus uudet grafiikat Deluxe Paintilla. Pinballista kasvoi hitti, joka inspiroi EA:ia julkaisemaan myös sävellysohjelmisto Music Construction Setin, seikkailupakki Adventure Construction Setin (1984) ja jo mainitun Racing Destruction Setin. Chris Skog Muinaishistoriassa tein kenttiä Mr. Chris Skog 16-bittisille tullut Mastertronicsin Sidewinder sisälsi ilmeisesti vahingossa kätketyn, pelin tekemisessä käytetyn kenttäeditorin Atari St -veriossa. Voisinkin veikata, että sitä näpräsivät myös Sensible Softwaren pojat, jotka loivat pelintekopelien rakastetuimman ja vihatuimman ku. Siinä oli heti alkuunsa ymmärtäväisempi parseri ja grafiikkatuki, mutta sillä tehtiin ”vain” yli sata kaupallista seikkailua. Ensimmäinen niistä oli EA:n Pinball Construction Set (1983). Nouskoon kolmanneksi ajopelieditoriesimerkiksi Mastertronicin oivallinen halpis Kikstart II (1987), sivusta kuvattu prätkätemppuilu. Joku vääräleuka kerkesi tehdä sillä PD-levitykseen päätyneen Pakistan Pete -version, jossa lenneltiin lentävällä matolla ja ammuttiin pakistanilaisia. Lisätään Kikstart II ja Polar Pierre C64-listalle. Jälkimmäinen muuten tuhosi mukavasti levyn kirjoittaessaan suoraan levysektoreihin käyttämättä tiedostoja. Samaten teimme Another Worldin introon useampikin eri versio musiikeista, taitaa olla vielä tallessakin. Toinen brittipuoti, Incentive Software, kilpaili Quillin kanssa Graphic Adventure Creatorillaan (1985). Jopa Bethesdan Todd Howard kertoo ACS:n olleen tärkeä vaikuttaja hänen uralleen roolipelien kehittäjänä
Kasibittiset mikrot hiipuivat vauhdilla, ja PC teki rajusti tuloaan. Etenkään kun leffakohtauksia sai lentää yhtä lailla B-2-pommarilla, avaruussukkulalla tai vähän tavallisemmilla sotilasja siviilikoneilla. 75 ninkaan vuonna 1987. Atari ST:llä ja Amigalla oli jo päästy sille asteelle, että työkalut alkoivat olla hyviä, koneissa oli vähän muistiakin ja hiiriohjattu käyttöliittymä teki askartelusta astetta sujuvampaa kömpelöön joystickveivaukseen verrattuna. Niitä voi pitää myös suorina esi-isinä myöhemmille netin rakentelu-virtuaalimaailmoille. Mutta se oli yhä perinteinen roolipeli, kun tulevaisuus oli 3D:n. Hauskaa sen pari viikkoa. Mutta ähäs, saipa ainakin tehdä omia ratoja! Suomalaisesta näpertelyhulluudesta vastasi Timo Kauppisen ikivihreä Slicks ’n Slide (1993), joka oli mielettömän mukaansatempaava monen pelaajan pikkuautoajelu. Brittifirman Freescape-pelimoottoria käyttäneet 3D-seikkailut, kuten Driller jatko-osineen, olivat jo lyöneet isosti läpi. Pelit pystyi tallentamaan itsenäisiksi teoksiksi, joita pystyi jakamaan eteenpäin, joten SEUCK-pelitulvaa ei pysäyttänyt mikään. Mulla oli jopa lapsenomaisen hyvä liikeidea tehdä sillä 100 peliä ja myydä niitä ja rikastua. Okei, myönnetään että suurin osa SEUCK-peleistä oli legendaarisen kaameaa kuraa, mutta silti: täysin ohjelmointikyvytön kämmärikin sai sillä spritet liikkeelle. Molemmilla tehdyt luomukset voitiin tallentaa itsenäisesti toimiviksi ohjelmiksi, joita voitiin jakaa kavereille. Command & Conquer: Red Alert puolestaan teki naksusotaeditoinnista massojen hupia, siitäkin huolimatta että EdDOS/EdWin-editorit olivat aika kämyisiä ja tarkoitettu vain moninpelikarttojen tekemiseen. Muokkaus oli hyvin rajoitettua, eikä esimerkiksi yksiköitä, rakennuksia tai valmiiden karttojen skriptausta voinut lainkaan tuunata. Nimenomaan roolipelien, ei vain yksinkertaisempien seikkailujen. Ja mitä muut ilmassa, sitä Stuntskuskit (1990) maassa. Toki SEUCK-yhteisöstä löytyi myös taitureita, joiden pelisuunnittelutaidoilla syntyi myös melkein hyviä tekeleitä. Tämä näkyi Incentive Softwaren 3D Construction Kiteissä (1991-1992). Pelin ympärillä oli täysimittainen Hollywood-stunttityökalu, jolla pelaajalle annettiin kokonainen mielikuvituksellinen saari leikkipaikaksi. Pikku vinkkauksena: Slicks-fanit löytävät hyvin samanhenkistä ajettavaa iOS:n Drift’n’Drivestä. Näiden teokset pääsivät jopa lehtien kansilevyille, mikä tosin kertoo ehkä enemmän lehtien epätoivosta saada niille mitä tahansa täytettä. Massiivisen hiekkalaatikon lisäksi ohjelmisto sisälsi myös animaatiojärjestelmän ja ohjelmointikielen, joilla virtuaalimaailmaan pystyi rakentamaan toimivan peliympäristön. Hyvällä rataeditorilla syntyi valmiista palikoista nopeasti uusia ratoja, joita autokuskit vaihtelivat aktiivisesti. Elokuvia ei tosin tehty, mutta sitäkin vinkeämpiä ratoja kyllä. Peligrafiikoissa oli päästy jo VGA/ SVGA-tasolle ja Creativen Sound Blaster –äänikortit toivat peleihin kunnon ääniä. Kun äimistelty 3D-teknologia julkaistiin tee-se-itse-työkalupakettina, se jos mikä oli kova paukku. Pelin täysversioon sisältyi rataeditori, jolla on tehty mielettömät määrät ratoja. Sukupolvet vaihtuivat. Kotipelaajille Stunts oli köyhän miehen versio Atarin Drivin’ja Race Drivin’ –kolikkopeleistä – ei ihan niin nätti, ei yhtä nopea, eikä se joystick nyt mikään ratti ollut. Toni Nikkanen Uusi vuosikymmen 1990-luku toi tee-se-itse-näpertämiseen uusia ulottuvuuksia. Doomissa tein kenttiä, joissa sai mellestää cyberdemonien ja raketinlaukaisimien kanssa. Disneyn Stunt Island (1992) taasen vei oman sisällön tekemisen hämmentävään suuntaan, sillä se oli paitsi oivallinen lentosimulaattori, myös huikea työkalu lyhytelokuvien tekijöille. Niitä löytyy pikku googlauksella tuhansia, joten slicksaajille riittää yhä edelleen loputtomasti pelattavaa. Niinpä fanit rynnistivät paikalle omien editoriensa kera – ja niin syntyi kattava karttaskene myös naksusotien. Kamerat kävivät ja tallensivat onnistuneet kohtaukset, joista pystyi lopuksi leikkaamaan elokuvan. Nyt kaikki halukkaat pystyivät luomaan ja manipuloimaan 3D-objekteja ja ympäristöjä, rakennellen kokonaisia virtuaalimaailmoja. Pelieditorejakin saatiin. Shoot’Em-Up Construction Kit sisälsi monipuoliset työkalut niin peligrafiikan, äänten, tekoälyn kuin pelin kokonaisuudenkin rakentamiseen. Bard’s Tale Construction Set (1991) syntyi kolmen ensimmisen Bard’s Talen vanavedessä, ja mahdollisti omien fantasiaroolipelien tekemisen. Yli 50 erilaiselle lentokoneelle sai rakentaa vaikka millaisia kulisseja ja ympäristöjä, joihin ympättiin myös elokuvamainen käsikirjoitus – ja sitten ne piti vielä lentää itse. PC-pelit aiheuttivat amigisteissa jo muutakin kuin naurukohtauksia. Tein muutaman pelin Shoot’Em’Up Construction Kitillä, SEUCKilla. Liekö vastaavaa vapaamielistä lentopeliä tai tee-itse-elokuvaelämyksesi -peliä sen koommin tehtykään. Olin kai ala-asteella. Koska kaikki oli pelkkää dataa, Stunt Island -leffat veivät tilaa suurimmillaankin vain muutaman megatavun. Kitit olivatkin luultavasti ensimmäiset suurelle yleisölle suunnatut 3Drakenteluympäristöt
Tein kymmeniä erilaisia ratoja, joista pari täytti käytännössä koko pelialueen. Doomin ja Quake1:n kenttiä tehtiin jonkin verran laneihin, mutta minua paremmat kaverit saivat ihan fameakin Q1-kentillään. Ja sitten tulivat Wolfenstein 3D (1992), Doom (1993), Duke Nukem 3D (1996) ja Quake (1996). Kaikki muuttui. Tekemäni radat lienevät hukkuneet aikojen saatossa. Stuntsin radat olivat tilepohjaisia, jotkin muodot koostuivat useammasta tilestä, mutta editori huolehti kaikkien yhteen kuuluvien tilejen asettamisesta. Populousin paint mapillä tehtiin toisillemme haasteita, näitä ei sen kummemmin tallenneltu. Eiköhän tässäkin ollut meillä pääidea se, että pääsi vapaammin rakentamaan mahdollisimman ison tukikohdan, ilman pelkoa vihollisesta. Nyt hyvät kentät levisivät nopeammin ja laajemmalle, maasta ja mantereelta toiselle. Total Annihilationin editori oli varsin käyttökelpoinen, mutta kyllästyin suorakulmaisuuteen. Tommi Tuura Slicksiin tehtiin paljon ratoja, niitä sitten mätettiin keskenämme. Wolfenstein 3D ei ollut ensimmäinen 3D-räiskintä, mutta ehkä genren historian merkittävin. En todellakaan ole yrittänyt luomuksiani mihinkään, ennen kuin Trialsin kohdalla. Muuttamalla väripalettia sopivasti veteen sai aikaan vinkeitä visuaalisia efektejä. Siinä oli se kokeilun viehätys ja näpertelyn vimma, joka yhdistyi korpuilla tapahtuvaan levikkiin. Usein vastaavissa rakentelupeleissä sitä vain halusi rakentaa omaa paikkaansa, eikä niinkään sotia. Sille oli luolaräiskintä Continuum, jonka mukana tuli kenttäeditori. Omia rakennuksia muokattiin tietenkin tuottamaan älyttömästi sähköä, maksamaan todella vähän ja tornit ampumaan kauemmaksi. Ville Jouppi Stuntsiin tehtiin paljon ratoja ja niitä vaihdeltiin koulussa korpuilla. Sitten puzzleja väsättiin pirunsarvet otsassa ja voi sitä riemua, kun toinen ei millään meinannut keksiä miten kentästä pääsee läpi. Sitä väärinkäyttämällä pystyi tekemään melko huikeita ratoja. Tein sitten oman, korkeuskäyriin perustuvan editorin. Sami Juntunen Red Alert 1:n editorilla tein omaksi ilokseni kentän, jolla oli älyttömästi timantteja, jotta pystyisin mättämään vaikeaa AI:ta vastaan helpommin. Dudem Internet ja id Uuden vuosikymmenen suurin vallankumous oli viestinnällinen. Pelasin omia kenttiä pääasiassa pikkuveljen kanssa. Mihinkään internetseihin en koskaan laittanut mitään. Timo Soilamaa Editorit vaan on niin hienoja ja tuovat lisäarvoa peliin. Aluksi tehtiin aina oma alue ja ympäröitiin se kalliolla, alue täyteen arvokkaita kristalleja. Ville Ranki Stuntsiin tehtiin ratoja ihan hulluna. Karttaeditorin helppokäyttöisyys on jäänyt mieleen, kun sitä kuitenkin käytettiin ala-asteikäisenä. Red Alertiin tehtiin omia kenttiä kaverin kanssa. Kenttiä on tallessa pari kymmentä. Kunnes se pirun formula nousi perä edellä taivaisiin. Ei tullut mieleen, että joku voisi olla kiinnostunut. Omien luomusten levittäminen muuttui kädestä käteen -levityksestä ja diskiswappaamisesta elektroniseksi. Ratoja kiikutettiin disketillä kaverilla ja kokeiltiin kumpi vetää kovemmat ajat uudelle luomukselle. Miksi. Westwood otti tästä opikseen ja sisällytti moniin myöhempiin C&C/Red Alert –sarjan peleihin kunnon työkalut, joissa ei unohdettu yksinpelikenttiä tai skriptausta. Pelissä oleva alkeellinen nestedynamiikka oli suosikkini. tdb Command & Conquerin CCEditillä oli mahdollista muokata hahmoja ja rakennuksia. Maastoa muistaakseni ei pystynyt muokkaamaan. Stuntsissa oli myös loistava editori, ajettiin kovasti kilpaa sielläkin. Harry-Pekka Laakso Grand Prix Unlimitedissa oli sisäänrakennettu editori. Eipä me sitten oikeastaan muuta tehtykään kuin pelattiin skirmishiä itse tehdyillä kartoilla skirmishiä tietokonetta vastaan. Olin 90-luvulla vähän erilainen nuori, jolla oli kotona mäkki. Modeemit ja BBS-purkit yleistyivät hurjaa vauhtia, ja internet kurkki kulman takana. PC:llä eniten aikaa meni Stuntsin rataeditorin kanssa. Jos olisikin, niin en kuiteskaan olisi uskaltanut, kuitenkin olisivat nauraneet. Välillä tuli tietysti myös takkiin, kun huomasi toisen keksivän huomattavasti yksinkertaisemman tavan kentän läpäisemiseksi. Myöhemmin taisin yrittää tehdä kenttiä myös Abuseen, se tasohyppelyjen Doom. 4 76 megahitin ympärille. Commodore 64:n editoreista tulee aina mieleen, että leveleitä ei loppujen lopuksi saanut oikein koskaan tallennettua mihinkään. Omaksi huviksi, oli halu olla luova. Monia kenttiä joutui vähän oikomaan pärjätäkseen. Valitettavasti itse peli oli kökkö. 2 1 5 . Myöhemmin opimme tekemään erilaisia jokia, meriä, saaria sekä muita kaunistuksia. Modeemien nopeudet olivat nykypelaajan silmiin naurettavia, mutta pelit ja lisäkentät olivat silloin pienempiä. Kielenä oli C++; lähdekoodit ovat tallessa. Kenttiä pystyi kuitenkin luomaan nopeasti, ja kieron suunnitelman luomisen tuoma palkkio/pettymys oli todella koukuttava fiilis. Vähän erikoisempana oli Amigan Hard Drivin’ 2, jossa tuli mukana buginen mutta Stuntsiin nähden vapaammat kädet antava rataeditori. Wingsin kentät tehtiin kuvatiedostoina millä tahansa kuvankäsittelyohjelmalla ja muunnettiin pelin ymmärtämään muotoon mukana tulevalla ohjelmalla. Se oli raivokas,. Ratoja on tallessa useita kymmeniä. Myös The Incredible Machinen editorissa meni mukavasti aikaa. Radat olivat tilepohjaisia, jotkin radan muodot koostuivat useammasta tilestä jotka piti laittaa paikoilleen erikseen. Sillä tuli vähän väänneltyä. Markus Juuti Editointipankin räjäytti, kun pelasin läpi Eggerland-tyylisen Griel no Seihai – puzzlepelin ja vieläkin jäi sellainen fiilis, että LISÄÄ! Editoria pelissä ei ollut, joten jouduin rippaamaan grafiikat ja tekemään oman editorin
Erkki Nurmi Tee-se-itse-artikkelin oli alkujaan määrä olla yhteensä kuusi sivua. Kenttien pykääminen ei vaatinut 3D-mallintamista, kun taas täysin 3D:nä toteutetussa Quakessa sekä haasteet että mahdollisuudet olivat jotain aivan päätöntä. Ensimmäinen osa käsittelee ajanjaksoa kenttäeditoripelien lapsuudesta noin vuoteen 2000 saakka. Mitä siitä, että Juhani-Ahon koulussa kävelikin avaruussikoja ja robotteja, kyllä niille olisi jokin freudilainen merkitys löydetty. Viimeiset kentät taisin tehdä Duke 3D:hen modeemipelejä varten. Otso Helenius Mallinsin Duke 3D:hen vanhempien talon ja lähialueiden pihapiirit. Hyppyreiden jälkeinen liuta betoniporsaita oli mainio hermojen tuhoaja. Peli oli ollut levityksessä vain muutaman päivän, kun ensimmäiset editorit levisivät purkeissa ja netissä. Lienevätkö kenttien rakentelut ilmentäneet jotain varhaista hairahtuneisuutta, kun päädyin myöhemmin arkkitehdiksi. Duke oli siitä helppo, että kenttien rakenne noudatteli vielä perinteistä 2D-rakennemallia. Paljastetaan nyt sekin historiallinen salaisuus, että tarkoituksemme oli tehdä lukijoiden iloksi Bitin toimisto Duke-kentäksi, mutta valitettavasti projekti ei koskaan valmistunut. id teki jopa QuakeC-ohjelmointikielen, jolla peliä oli mahdollista puukottaa syvemmältä ja perusteellisemmin kuin millään valmiilla työkaluohjelmilla. WADien kautta avulla muokattiin perusteellisesti ja vieläpä luvan kanssa. Virittelyn valtava suosio näkyi jo seuraavana vuonna julkaistussa Doomissa. Doom-kenttiä, pelin joksikin ihan muuksi muuttavia Total Conversioneita ja työkaluja julkaistiin niin paljon, että niistä on koostettu lukemattomia epävirallisia kaupallisia kokoelmia sekä useita virallisia ”parhaista parhaat” –koosteita. Radat oli täytetty kaikenlaisilla ikävyyksillä. Sitä ennen lisää lukijoiden muisteloja Skrollin nettisaitilla!. Ja taas pelihakkereita värvättiin pelifirmoihin. Hyvät työkalut innoittivat porukkaa oikein kunnolla: suomalaiset tekivät Dukeen paljon hienoja kenttiä, ja taisipa MikroBitissäkin olla Duke-kentäntekokilpailu. Olihan siinä ihan eri fiilis räiskiä menemään tutuissa mestoissa. Sekä 3D Realmsin Duke Nukem 3D että id:n Quake tärisyttivät pelimaailmaa ja orgasmoivat pelaajat taivaisiin. Id teki pelinsä alusta lähtien modattavaksi, ja tallensi kenttädatan erityisiin WAD-tiedostoihin (Where’s All the Data?). Samoihin aikoihin demoskene ja pelinkehitys kiinnostivat, joten kokeilin vähän kaikenlaista, myös modausta, muun muassa id:n ja Valven pelejä. 90-luvulta muistan parhaiten Stuntsin (4D Racing) ja Action Supercross, johon kenttiä tuli väännettyä urakalla. Vaikka molemmat pelit olivat järjettömän suosittuja ja pitkäikäisiä, vei Duke alkuun Quakea tee-se-itse-rintamalla. Wolfin ympärille kasvoi nopeasti mittava modaajaskene, ja fanit puukottivat Wolfin ytimiään myöten: omien kenttien, grafiikkojen ja äänien lisäksi myös sen koodillinen ulottuvuus ja jopa pelisuunnittelu avautuivat kaikille halukkaille ja osaaville. Nykyisin moisesta joutuisi varmaankin poliisikuulusteluihin tai vähintään koulupsykologille. Niiden avulla kenttien salat purettiin hetkessä, ja näin pilattiin parikin tekijöiden suunnittelemaa pelaajakilpailua. Suurin osa oli omaa kokeilua, mutta jotakin modeja päätyi levitykseenkin. Siinä oli yleensä ideana tehdä rata, joka oli hankala päästä maaliin asti. Kaiken huipuksi uusia kenttiä, haasteita ja TC:tä tehdään yhä edelleen, eikä Doom osoita minkäänlaisia kuolemisen merkkejä. Quaken virittely meneekin näiltä osin tämän artikkelin skaalaa pidemmälle, sillä peliin ei enää tehty pelkästään karttoja, eikä varsinkaan sen mukana tulevilla työkaluilla. Nykyään ei intoa enää riitä, kun joutuu suunnittelusoftilla tekemään ihan tarpeeksi ”kenttäeditointia”. Kovasta vauhdista hyppäämällä laskeutui suoraan tuonne väärälle tien pätkälle, eikä mutkaa ehtinyt edes huomata. Tommi Äijälä Wolfenstein 3D:hen, Stuntsiin, AUTSiin ja Slicks’n’Slideen tuli tehtyä kenttiä, Wolfiin ja Stuntsiin myös muokkasin ja spritejä. Keräsin MikroBitin MBnet-purkkiin satoja suomalaisia Duke-kenttiä, joista monet kuvasivat muun muassa kouluja, ostoskeskuksia ja muita julkisia kohteita. Jesse Mäkinen Quakeen tehtiin muistaakseni kymmeniä erilaisia skinejä, muutama kenttä ja pari kökköä modia Quake C:llä. Ah.. Stunts oli varmaan ensikosketukseni rataeditoreihin. Aki Sivula Kaveri teki Doomiin kenttäeditorilla melko uskollisen kopion meidän lukiosta. Mutta samalla Quake tarjosi taitaville virittelijöille niin paljon mahdollisuuksia, että sen myötä lisäosien, tee-se-itse-laajennusten ja virittelytyökalujen markkinat räjähtivät. Pelin mukana tuli sama kenttäeditori jota tekijät itsekin käyttivät. Lisää siis jo seuraavassa Skrollissa. Oli vinkeää pelata sitä samaisen lukion atk-luokassa kavereita vastaan. Olennaisinta koko hommassa oli, että oman luominen oli usein hauskempaa kuin valmiin pelaaminen. Aihepiiri ja kommenttien määrä kuitenkin räjähtivät niin vahvasti käsiin, että artikkeli julkaistaan kahdessa osassa. Voi että olisi kukkahattusilla riittänyt niistä kauhisteltavaa. Pelien muokkaaminen oli jo yleistä, mutta Wolf3d.exe kutitti räiskintäfanien syvimpiä hermoja odottamattomalla tavalla. Ysärin äärimmäinen FPS-tykitys jatkui tein-sen-itse-rintamalla 1996, kun kaksi kaikkien aikojen kovinta räiskintää saapui kauppoihin. Id ei tarjonnut muokkaustyökaluja, mutta fanit olivat pian tilanteen tasalla. id Software ei hidastellut eikä pyydellyt anteeksi. Hyvä jippo oli myös laittaa kovavauhtisen hypyn jälkeen tiukka mutka, ja ulkomutkaan hyppyrin suuntaisesti toinen tie, mikä vei minne sattui. 77 vauhdikas ja asenteellinen. muistoja. Tarvitsit vain alkuperäisen Doomin, ja sitten kenttiä latailemaan
Miksi sillä on niin hämärä historia. Yksinkertaisen toiminnan sijaan peli Pelihistoriallinen outolintu Metal Gear: Snake’s Revenge On olemassa Metal Gear -peli, jonka voisi luulla olevan kirottu: juonellisesti se ei kuulu pelisarjaan, se ei ilmestynyt koskaan Japanissa, eikä Hideo Kojimalla ollut mitään tekemistä sen kanssa. Tällä muutoksella ruudulla yhtä aikaa olevien vihollisten määrää saatiin rajoitettua pelimaailmaan sopivalla tavalla. Eräs työn alla olevista peleistä oli vauhdikas toimintapeli, jossa ruutu pursuaa ammuksia ja lyijynamia kaipaavia vihollisia. Sukellus historiaan tarjoaa vastaukset näihin kysymyksiin. 2 1 5 . Ratkaisu oli selvä: vaihdetaan toiminta hiippailuun ja pakoiluun, osin The Great Escape -pelin innoittamana. Peli sai Kojimalta arvion ”Somewhat a crappy game” ja toimi kimmokkeena upean upean Metal Gear 2:n suunnittelulle. Peli sai nimekseen Intruder. Teksti: Pasi Huttunen Kuvat: Pasi Huttunen, Jukka O. Konami liittyi MSX:n tukijaksi jo varhain. Toteutus tyssäsi, kun silloinen MSX-standardin uusin versio, MSX2, ei pystynyt käsittelemään ruudulla yhtä aikaa tarvittavaa määrää vihollisia ja ammuksia. Kauppinen, Konami, Janne Katajamäki. Ja miksi minä en yhdy kriittisten kuoroon, vaan muistelen sitä kaihoisasti. Konamin ja Kojiman välisen vihanpidon ensiaskeleet taidettiin ottaa jo tuolloin, kun Kojimalle ”unohdettiin” kertoa koko pelin olemassaolosta. 4 78 Pelit P eli on 25 vuotta sitten NES:lle ilmestynyt Snake’s Revenge. Se oli kotitietokoneille sama kuin VHS oli videonauhureille: eri valmistajien MSX-standardia noudattavilla tietokoneilla pystyi pelaamaan samoja pelejä. Standardi otettiin ilolla vastaan muun muassa Japanissa, Suomessa ja isossa osassa Eurooppaa, kun taas USA:ssa se ei lyönyt läpi. Pelin kehitysvastuu annettiin Kojimalle, joka alkoi miettiä miten tekniikan rajoitukset voisi kiertää. Kojiman legendaarisen hiippailutoimintapeligenren synnyttänyt teos oli alun perin kuin itänaapurista tuttu suristin: se ei sisältänyt hiippailua, eikä se ollut Kojiman. Mutta mikä Snake’s Revenge on. Miksi siitä ei pidetty. Metal Gearin synty Metal Gearin syntytarina on erikoinen. Kojimalla oli käsissään mestariteos, joka olisi muuttava pelimaailmaa. Tapahtumaketju alkoi vuodesta 1983, jolloin Microsoft lanseerasi MSX-arkkitehtuuristandardin
Toteutusvastuu annettiin yhdelle Tokion Konamin osastoista, eikä tietenkään sille, jolla Kojima työskenteli. Osasyy oli, että kun Kojiman virallinen jatko-osa Metal Gear 2: Solid Snake ilmestyi heinäkuussa 1990 MSX2:lle, tuntui Snake’s Revenge sen rinnalla Metal Gear 1.5:lta. Ensimmäinen petos Kojima sai tuta Konamin ihanuuden ensimmäistä kertaa jo vuonna 1987. Kojimaa sieppasi sen verran tuuheasti, että aidon Metal Gear 2:n suunnitelma oli raapusteltu nenäliinaan jo ennen junamatkan päättymistä. Työ annettiin samalle osastolle, joka teki alkuperäisen käännöksen. No ei. Peli ilmestyi lopulta vuonna 1987 ja sai nimen Metal Gear. Peli julkaistiin Japanissa joulukuussa 1987 Famicom-konsolille, siis sikäläiselle NESille. Käärmeen kosto eli toinen petos Tässä vaiheessa olisi voinut luulla Konamin tulevan hattu kourassa Kojiman luo, mutta ehei. Osastolle lähetettiin pelin MSX2-version lähdekoodi, annettiin aikaa vaivaiset kolme kuukautta ja saatesanoiksi viesti: tehkää pelistä mahdollisimman erilainen kuin Kojiman. Tämän seurauksena siitä tuli Metal Gear -perheen hylkiölapsi, jota päin syljetään kaduilla. Sellaisen,. Kojima nimittäin törmäsi paikallisjunassa Snake’s Revengen kehittäjään, joka pyysi häntä tekemään oikean jatko-osan. Ensikosketus Unohdetaan hetkeksi asian tarkastelu jälkiviisaasta pelihistorianäkökulmasta ja hypätään nappiverkkarit kahisten aikamatkalle katsomaan pienen nelosluokkalaisen pojan elämää maaseudulla. Anteeksipyynnön sijaan puukosta tuli selkään toistamiseen. Usein unohtuu se, että flanellipaitojen vuosikymmenellä NESin omistajille oli tarjolla vain kaksi Metal Gear -peliä: umpisurkeasti versioitu Metal Gear 1 ja metallinkova jatko-osa Snake’s Revenge. Koska peli ilmestyi vain reilu kuukausi epävirallisen Snake’s Revengen jälkeen, katosi Snake’s Revenge pelikartalta yhtä nopeasti kuin kolikot pesukoneeseen. Kojiman MG2:ta pidetään yhtenä kaikkien aikojan parhaista 8-bittisistä peleistä. Jokainen hyvä peli on artikkelin arvoinen Miksi kirjoittaa artikkeli pelistä, joka sikisi pahuuden työstä ja kalpenee aidon jatko-osan rinnalla. Metal Gear 1.5 ja 2.0 Snake’s Revenge julkaistiin vain NESkonsolille Pohjois-Amerikassa huhtikuussa 1990 ja Euroopassa 1992. Vaikka Snake’s Revenge oli edeltäjäänsä – Metal Gearin Nintendo-vesitystä – niin paljon isompi ja parempi, se ei yltänyt ikiaikaiseen klassikkostatukseen. Nyt jo kaksi selkäänpuukotusta kärsinyt Kojima maksoi perunat perunoina ja päätti, ettei hän huomioi tulevissa Metal Gear -peleissä Snake’s Revengen juonta millään tavalla. Kerrottiinko Kojimalle tästä. No siksi, että Snake’s Revenge on erinomainen peli. Poikkeuksena oli kaverini, joka oli onnistunut kärttämään itselleen kuponkiuutisista tilatun Nintendo-kloonin. Jatko-osapullat NESin Metal Gearille laitettiinkin pikimmiten uunin. Käännösprojekti tehtiin kaiken lisäksi juosten pissien. Nykyajan emulaattoriaikakaudella on helppo mehustella pelisarjoja ja painia, mikä onkaan eri pelien paras versio ja millä laitteella. Jos MG1 mullisti pelimaailman, MG2 oli kaikessa suurempi, parempi ja hienompi kuin edeltäjänsä. Pelistä puuttui muun muassa ammusten ja ruokatarvikkeiden hankkiminen, joka siis tapahtui vartijoita nyrkillä muksien. Niin hyvä peli kuin alkuperäinen Metal Gear olikin, Famicom/NES-version tekniset ongelmat ja konsolin rajoitteista johtuvat sisällölliset laimennukset suututtivat pelaajat ja arvostelijat. Pikkukylässä, jossa räkänokkaisena asuin, ei pahemmin ollut pelikonsoleita saati peli-ikäistä nuorisoa. Peli sai varsin nihkeän vastaanoton. Sen ansioita ei vähennä se, että Metal Gear 2 on vielä parempi. Taas. Pian huomattiin, että se oli vain vesitetty versio alkuperäisestä MSX2:n pelistä. Vartijoillakin oli silmät ja korvat, ja he tekivät hälytyksen outoja havaitessaan. Kun alkuperäistä Metal Gearia myytiin kuin leipää eikä Kojimaa kiinnostanut jatko-osan tekeminen, päätti Konami ottaa ohjat omiin käsiinsä. Seurasi työkoneiden arvonta. Vaikka nämä ominaisuudet ovat nykyään peruskaurapuuroa, siihen aikaan kyse oli uraa uurtavasta monimutkaisuudesta ja realismista. Tiimi teki mitä käskettiin. Kojimalle ei edes kerrottu jatko-osan olevan työn alla. Lokalisoitu NES-versio Pohjois-Amerikan markkinoille syntyi kesäkuussa 1988; Eurooppaan ja Australiaan peli saapui 1989. Reilukerhon kokoontumisella oli kuitenkin lopulta onnellinen loppu. Konami näet halusi Metal Gearin myös Amerikkaan, mutta koska MSX2 ei ollut rapakon toisella puolen suosittu tietokone, haluttiin peli julkaista MSX2:n sijaan Nintendon NES-konsolilla. 79 tarjosi muun muassa kevyitä roolipelielementtejä vankeja pelastamalla nousevan sotilasarvoasteikon myötä, radiokeskustelua, hiippailua, käytettäviä esineitä ja vaikka mitä
Vaikeustaso on välillä armoton, mutta tallennusmetodi estää pysyvän kaljuuntumisen. Download-linkin takaa löytyy kaksi eri versiota: win32-binary Windowsille ja SDL-versio Linuxille sekä Mac OS X:lle. Virallinen jatko-osa Kojiman MG1:lle. Pojat ulos hankeen leikkimään! Sissisulatejuustoa läpipeluuohjeilla ”Peli on niin monimutkainen, että vaatii läpipeluuohjeet”, ihastelimme. Remake: Kyllä, löytyy pelistä Metal Gear Solid 3: Subsistence sekä kokoelmilta Metal Gear Solid HD Collection ja Metal Gear Solid: The Legacy Collection. Vesitetty versio MSX2-versiosta. Vaihtoehtoja on monia, mutta yksi hyväksi todettu emulaattori on FCEUX. Kun kiusalliset pari kuukautta myöhemmin läpipeluuohjeet lopulta ilmestyivät, pyöriminen aloitusalueella loppui ”No kannattaako tätä pelata?” Jos et ole koskaan pelannut MSX2:n Metal Gear 2:ta, niin kyllä! Jos olet, testaa silti. 4 80 jolla toimi joka kolmas kaupan peli. Pistoolikin poltteli taskussa, mutta ilman äänenvaimenninta siihen ei kannattanut koskea. Koska kolmas kotimainen ei siinä iässä vielä oikein sujunut, ei meillä ollut hajuakaan mitä pelissä pitäisi tehdä. ”No miten voin pelata tätä?” Snake’s Revenge on ainoa Solid-sarjaa edeltävä Metal Gear, josta ei ole tehty nykykonsoleilla toimivaa versiota. Loputtomien sauvantyöntöjen jälkeen istuin kaverini olohuoneen lattialla, jäisiä sormiani lämmittäen ja ruutua epäuskoisena tuijottaen. Nykysaatavuus: Wii Virtual Console (Japani). Siihen saakka olimme pelanneet pääosin vain 50 in 1 -pelejä, ja kaikkein monimutkaisin näkemäni peli oli Super Mario 3. Metal Gear (Famicom / NES) Kojiman: Ei. Saatoin melkein haistaa märän viidakon ja sissisulatejuuston tuoksun, tuntea maiharien puristavan varpaitani ja selässä painavan repun sekä vastuun. Emulaattori löytyy osoitteesta www.fceux.com. Kaikki siihen saakka pelaamani pelit olivat perustuneet yksinkertaisen pistemaksimin jahtaamiseen tai pelikenttien läpäisyyn. Snake’s Revenge (NES) Kojiman: Ei. Sivakat jalkaan ja pakkaseen hiihtämään sudenjätöksiä hangilla väistellen. Juonta. Windows-version asennuksessa ei ole kummallisuuksia, mutta SDL-versio vaatii hieman viitseliäisyyttä, koska ohjelman saattaa joutua kääntämään lähdekoodista. Amatöörikäännös. ”Continue” vie sinut tarpeeksi lähelle pistettä, johon jäit, mutta peliin rakennettu salasanan tallennustapa sen sijaan saattaa heittää tuntikausia taaksepäin. Peli on kestänyt aikaa erinomaisesti, eikä nostalgiakakkuloita tarvitse nenälle painamaan. Hölmöltä ja vaikealta toimintapeliltä alussa tuntunut kostokärmes alkoi kuolema kuolemalta avautua. Sekä C64että MS-DOS-käännökset pohjautuvat vesitettyyn NES-versioon, ei alkuperäiseen MSX2-versioon. Metal Gear (C64, MS-DOS) Kojiman: Ei. Jatko-osa Metal Gearin NES-versiolle, julkaistu vain englanniksi. Makasin sohvalla napa täynnä kinkkua, kun lankapuhelin pirisi. Eikä senkkaa kannata nenästään kaivaa turhaan, sillä viekkaudella yhteenotot voi väistää kokonaan. Mitä tässä pitäisi tehdä. Versiosta riippumatta FCEUX:n käyttö on varsin suoraviivaista. Remake: Kyllä, löytyy samoilta levyiltä kuin Metal Gear (MSX2). Paras tapa nauttia peli autenttisesti on olla käyttämättä emulaattorin tallennusominaisuutta, paitsi silloin kun pelaamisen lopettaa hetkeksi. Remake-versio on hieman paranneltu/muutettu versio alkuperäisestä.. Kaipasin haastetta, juonta, jotain suurta ja kaunista. Matkalla mielikuvitukseni jo liihotti: Voisikohan tässä olla monimutkaisuutta. Muista säätää ensin näyttöasetukset kuntoon kasvattamalla ruudun Xja Y-parametreja samassa suhteessa. Kehittyvä hahmo. Mukana tuleva ohjekirja on täynnä huonoja vitsejä, eikä juonikuvaus liity itse peliin. Eteneminen kuitenkin pysähtyi lopulta kielitaidon puutteeseen sekä Kaunareiden alkamiseen. Metal Gear (MSX2) Kojiman: Kyllä. Realistinen maailma. Arvostetaan yhtenä parhaista 8-bittisistä peleistä. Remake-versio on etenkin käännösten osalta paranneltu versio alkuperäisestä. Nykysaatavuus: Wii Virtual Console (Japani). Pukki oli kuulemma tuonut sellaisen pelin, että oksat pois ja osa juuristakin. Kyykin puskassa vartijan toimia seuraten ja sopivan hetken tullessa tarjoilin rystysämpylää kaikilla täytteillä suoraan takaraivoon. Englanninkielinen versio on käännetty amatöörimäisesti, ja tilanpuutteen takia siitä puuttuu iso osa tekstisisältöä. Tässä lista eri versioista. Puhelun jälkeen mietin hetken uskoako. Ainoa tapa päästä käsiksi tähän herkkupalaan on käyttää Nintendo-emulaattoria. Ahaa, kun vartijan niistää luuvitosella, tipahtaa siltä tarvikkeita. Ensimmäisistä Metal Geareista on tehty lukuisia versioita ja väännöksiä. Halutessasi voit käyttää pehmennysfiltteriä, mutta peli näyttää varsin hyvältä ilmankin. Immersiivinen pelimaailma auttoi pelihahmoon samaistumisessa. 2 1 5 . Emulaattorin lisäksi tarvitset toki vielä pelin ROM-tiedoston. Nykysaatavuus: Japaninkielinen versio sisältyy peliin: Metal Gear Solid: The Twin Snakes, Premium Package Edition. Silti pidin jo silloin tarjolla olevia pelejä liian yksinkertaisina. Ei virallinen osa Metal Gear -juonijatkumoa. Juostiin viidakossa, ammuskeltiin vihollisia, laukaistiin hälytyksiä ja sitten saatiin kipeästi sipuliin vihollislauman hyökätessä paikalle. Metal Gear 2: Solid Snake (MSX2) Kojiman: Kyllä. Se löytyy kuitenkin myös monen Linux-jakelun paketinhallinnasta
Sitten viskottiin ohjaimia, kun saatiin sadatta kertaa silmäämme samalta pomoviholliselta. Konami myös siivosi Kojima Productions -studion nimen pelien kansista, minkä jälkeen koko studio suljettiin. Jännitimme juonen kaarta, keräilimme lattialta suusta yllätysten jälkeen tippunutta purkkaa, ja pelin loputtua molempien silmästä löytyi roska. Metal Gear 1987 – MSX2 Snake’s Revenge 1990 – NES Metal Gear 2: Solid Snake 1990 – MSX2 Metal Gear Solid 1998 – PlayStation, PC Metal Gear Solid: Integral 1999 – PlayStation, PC Metal Gear: Ghost Babel 2000 – Game Boy Color Metal Gear Solid 2: Sons of Liberty 2001 – PlayStation 2 Metal Gear Solid: The Twin Snakes 2004 – GameCube Metal Gear Solid 3: Snake Eater 2004 – PlayStation 2 Metal Gear Acid 2004 – PSP Metal Gear Solid: Portable Ops 2006 – PSP Metal Gear Solid 4: Guns of the Patriots 2008 – PlayStation 3 Metal Gear Online 2008 – PlayStation 3 Metal Gear Solid Touch 2009 – mobiili Metal Gear Solid: Peace Walker 2010 – PSP, PlayStation 3, Xbox 360 Metal Gear Arcade 2010 – kolikkopeli Metal Gear Rising: Revengeance 2013 – PC, PlayStation 3, Xbox 360 Metal Gear Solid V: Ground Zeroes 2014 – PC, PlayStation 3, PlayStation 4, Xbox 360, Xbox One Metal Gear Solid V: The Phantom Pain 2015 – PC, PlayStation 4, Xbox One Mitkä peleistä kannattaa pelata ja missä järjestyksessä. Ahaa, pitää muistaa hakea avainkortti 1. Joillekin se on Dungeon Master, joillekin Final Fantasy 7, minulle ja kaverilleni se oli Snake’s Revenge. Hideo Kojiman luotsaama pelisarja nousi etenkin Snake Eaterin aikoihin omituisiin sfääreihin, sillä Kojiman taiteellinen luonne loitsi teoksista enemmänkin interaktiivisia elokuvia kuin pelkkiä pelejä. Välillä jopa seikkailtiin sivuttaissuuntaisessa 2D-maailmassa. Näin immersiivistä pelimaailmaa en ollut koskaan kokenut. Läpipeluuohjeet eivät spoilanneet liikaa, vaan ohjasivat päätavoitteissa sopivan niukkasanaisesti. Ahaa, pitää soittaa radiopuhelimella kotiin, jotta sieltä hoidetaan minut vihollistukikohtaan sisään. 1) Metal Gear -remake 2) Snake’s Revenge 3) Metal Gear 2 -remake Metal Gear -pelien päähenkilön kehittyminen vuosien ja vuosikymmenten mittaan.. Peliyhtiö ilmoitti kuitenkin jatkavansa Metal Gear -pelien kehittämistä. Kojiman ja Metal Gearin tarina päättyi vuonna 2015 dramaattiseen välirikkoon, kun pelisarjan omistava Konami hankkiutui hiljalleen eroon pelimegastarastaan ja lopulta lähetti tämän ”lomalle”. Ikinä. Välillä naurettiin pahisten vihapuheille. Jokaisella on luultavasti oma messiaspelinsä. Metal Gear -sarjan historiaa Teksti: Jukka O. Vuonna 1987 käynnistyneessä pelisarjassa on nykyään jo kolmisenkymmentä julkaisua, joskin osa näistä osa on uudelleenjulkaisuja ja remiksauksia. Hyvää kuuluu, ajan ruosteinen hammas kun ei ole nakertanut peliä pätkääkään. Pelatessamme koimme kaikki tunteet, mitä maailmasta löytyy. Sen lisäksi, että se on yksi Nintendon parhaita pelejä, se on minulle kuin ensirakkaus. Aika näyttää, mitä suunnitelmista tulee, sillä Metal Gear V: The Phantom Pain -pelistä huomaa selvästi, missä kohtaa Kojima heitettiin yli laidan. Peli. Kehittyvä hahmo! Näkevät ja kuulevat vartijat! Hiippailua! Väistelyä! Viekkautta! Juonta! Pääsin nauttimaan kymmenistä eri aseista, lukuisista jännittävistä miljöistä, petoksista, radiopuhelimesta loppuvista pattereista, pelimaailman pulmia ratkaisevista tavaroista ja perspiitä karmivista pomotaisteluista, joissa kaikki siihen asti kerätyt taidot ja varusteet piti laittaa todelliseen hyötykäyttöön. Paras. Kauppinen Tästä se alkoi. Lopulta onnistuminen kuivasi kyyneleet räkänokistamme. Ensimmäisestä Metal Gearista. Pahimmillaan Metal Geareissa katsottiin enemmän välivideoita kuin pelattiin. Oheisella listalla on Metal Gear -saagan pääpelit ja kiinnostavia poimintoja muista, mutta ei uudelleenjulkaisuja tai remixejä. Etenkin kun peli ei lopu kaikille hahmoille onnellisesti. Vaikka muitakin ihanuuksia tulee elämän polulla vastaan, joskus iltaisin sitä miettii mitä sille ihan ekalle rakkaudelle kuuluu. Peli harhautuu loppua kohden mitäänsanomattomaksi koheltamiseksi, jossa on vain liimailtu kasaan yksittäisiä palasia ilman minkäänlaista näkemystä kokonaisuudesta. 81 ja upposimme peliin hikisiä kainaloitamme myöten. Hauskaa sekin toki on, ja Phantom Pain on tyylikäs lopetus Kojiman ja Metal Gearin yhteiselle polulle
Ensimmäisissä suunnitelmissa se sisälsi pari vastusta. Bandersnatchin (Sinclair Spectrum) ja Psyclapsen (C64) piti olla aivan muuta kuin kilpailijoiden tarjoomukset. 2 1 5 . Itse asiassa etenkin Bandersnatch oli niin suuri ja monimutkainen peli, että se vaati Sinclair Spectrumiin myös lisälaitteistoa ääntä ja kuvaa varten. Raja rohkeuden ja suuruudenhulluuden välillä on kuitenkin usein veteen piirretty. Kuinka sattuikin, BBC:n kuvausryhmä oli juuri parhaillaan tekemässä dokumenttia Ison-Britannian peliteollisuudesta, ja Imagine oli sen keskiössä. Eräs keihäänkärjistä oli vuonna 1982 perustettu Imagine Software, joka tehtaili hittejä monelle eri alustalle. Nykyisin sitä varmaankin kutsuttaisiin startuppöhinäksi. Se oli hyvin edustettuna, kun vuoden 1983 Golden Joystick -palkintoja jaettiin. Pelejä tekemään oli haalittu yhtiön paras osaaminen, ja niitä rummutettiin lehdissä jättikampanjalla jo ennen kuin riviäkään oli koodattu. Kun projektit päättyivät, ei väkeä yleensä irtisanottu, vaan lopulta ”töissä” kävi porukkaa, jolla ei ollut oikeastaan mitään tekemistä. Kilpavarustelu paisutti Bandersnatchin nopeasti tasolle, josta oikeastaan kenelläkään koko bisneksessä ei ollut aiempaa kokemusta. Ei näin! Liian iso keikka Kunnianhimo on menestyksen edellytys. Kuuluisa mopo karkasi kuitenkin käsistä ja lopulta dongleen visioitiin lisämuistia, matematiikkaprosessoria sun muuta. Tämä aiheutti osaltaan sen, ettei työnjohdon käsitettä suuremmin tunnettu, joten työt eivät aina edenneet suunnitellusti. Onnettomuus tallentui videolle Kunnianhimon puutteesta Imaginea ei ainakaan voinut syyttää. Artisti maksaa Imaginen johtoportaaseen kuulunut Bruce Everiss kertoi myöhemmin haastattelussa, että yhtiön johtamiskulttuuriin kuuluivat kurin puute ja hallitsematon luomisvoima. Teksti: Mikko Heinonen Kuvat: Manu Pärssinen, Mikko Heinonen Lehtiskannaukset: RetroPDFs-projekti. ”Commercial Breaks” -nimiseen dokumenttiin tallentuivat Imaginen johtajien kasvavat huolet ja talouspäällikön synkät neuvot siitä, miten mihinkään kustannuksiin ei saa enää sitoutua. 4 82 Pelit E uroopassa pelibisneksen edelläkävijämaa oli IsoBritannia. Voidakseen kasvaa on yrityksen otettava riskejä ja ajoittain lyötävä kaikki pelimerkit pöytään kerralla. Itse asiassa huhuja firman talouden huonosta tilasta oli kuulunut jo loppuvuodesta 1983. Vuoden 1984 joulumarkkinoille Imagine aikoi tuoda jotakin aivan uutta: megapelit. Rautalaajennuksen valmistaminen olisi maksanut liki tuplasti firman edellisvuoden liikevoiton verran, eikä vuodesta 1984 ollut tulossa lainkaan edellisen kaltaista. Lopulta oltiin tilanteessa, jossa kukaan ei enää suostunut myymään Imaginelle edes C-kasetteja pelejä varten. Ulkopuolisilta sijoittajilta ei löytynyt uskoa uusimpaan jättiprojektiin. Ohjelmoijat saivat innovoida täysin rajoituksetta, eikä heidän luovuuttaan haluttu kahlita millään tavoin. Kun muuta näytettävää ei ollut, lehdissä mainostettiin muun muassa sitä, kuinka monta virvoitusjuomatölkkiä ohjelmoijat ovat juoneet. Normaalin vajaan kymmenen punnan sijaan kasetilla ja rautalaajennuksella olisi hintaa melkein neljäkymmentä puntaa. Bandersnatchin laitteistolaajennus sai alkunsa siitä, että piratismin torjumiseksi haluttiin luoda Spectrumin käyttäjäporttiin kytkettävä palikka, jota ilman peli ei käynnistyisi. Myös omistajat oppivat nopeasti makean elämän alkeet: pyllyn alle löytyi iso BMW ja vapaa-aikana sponsoroitiin vaikkapa ratamoottoripyöräilyä. Siellä syntyi jo 1980-luvun alussa monia ohjelmistojulkaisijoita, joista parhaat ponnahtivat hetkessä miljoonien puntien vuosimyynteihin. Yhtiöstä ja sen pelintekijöistä tulikin keltaisen lehdistön lemmikkejä, joiden edesottamuksista raportoitiin kuin isoistakin julkkiksista. Pelimyynti takelteli pahasti alkukesän kuukausina, jolloin rahaa olisi kipeästi kaivattu tuotteiden viimeistelyyn joulumarkkinoita varten. Pelikasetin kylkeen taas oltiin paketoimassa jopa soundtrackin sisältävää LP-levyä
Mainos Computer & Video Games -lehdessä, maaliskuu 1984. Paitsi, että firman kaatuminen vain reilun vuoden mittaisen tähdenlennon päätteeksi tallentui jälkipolville kiintoisaan dokumenttiin, se myös synnytti lopulta Psygnosisin, josta tuli eräs Euroopan maineikkaimpia pelialan toimijoita. Sen ensimmäinen peli oli nimeltään Brataccas, joka julkaistiin Amigalle, Atari ST:lle ja Macintoshille. Historia tuntee lukemattomia vastaavia tapauksia eri aloilta. Peliä ei ehditty julkaista QL:llä, sillä myös uusi kehittäjä meni konkurssiin. Epäselvää on kuitenkin se, paljonko Brataccas lopulta sisälsi jo Imaginen aikana syntynyttä pelilogiikkaa. Mainos Crash-lehdessä, huhtikuu 1984. Pätkä löytyy YouTubesta valitettavan heikkolaatuisena, mutta on ehdottomasti katsomisen arvoinen. Myös Psyclapse sai lopulta oman sivujuonteensa historiassa. Kuten pelialalla on tapana, Finchspeedin raunioista syntyi jälleen uusi studio: Psygnosis. Imagine jatkoi Oceanin alaisena studiona, ja sen nimen saattoi nähdä emoyhtiön julkaisemien pelien kannessa vielä useamman vuoden ajan. Lopulta Sony osti koko yrityksen vuonna 1993 ja nimesi sen SCE Studio Liverpooliksi 2000-luvun taitteessa. Toiminimen osti konkurssipesältä kilpailija Ocean Software, joka palkkasi myös osan talon kyvykkäimmistä ohjelmoijista. Toinen näkemys asiaan on, että Imaginen taloudenpito ja johtaminen olivat aidosti pielessä. Hieman erikoinen, tarkkuusgrafiikkaa ja hiiriohjausta käyttänyt Brataccas ei saavuttanut kovin suurta suosiota, mutta itse Psygnosis kohosi muutamassa vuodessa maineeseen laadukkailla julkaisuillaan. Imagine sai liikkeistä palautuksina tuhansia pelejä, joissa ei ollut mitään vikaa. Psygnosis nimittäin valitsi sen aputoiminimekseen, jolla julkaistiin muutamia pelejä 1990-luvun alussa. Bandersnatch sen sijaan oli olemassa – erinomaisen keskeneräisenä, mutta kuitenkin. Kuolema ei ole lopullinen Pikakiihdytystä seurasi äkkipysähdys, ja Imagine Software putosi kiertoradalta lähes yhtä nopeasti kuin oli sinne noussutkin. Imaginen rippeistä syntynyt Finchspeed-niminen yhtiö osti sen oikeudet ja alkoi työstää peliä valmiiksi, tällä kertaa tehokkaammalle laitteelle ja ilman rautalaajennusta. Shadow of the Beast näytti, mihin Amiga pystyy – DMA Designin kehittämä Lemmings taas tuhosi tuottavuuden kaikkialla maailmassa. Studio Liverpool suljettiin vuonna 2012, mutta Sony toimii paikkakunnalla edelleen. Oli totuus sitten kumpi tahansa tai jokin niiden yhdistelmä, Imagine ei ollut yhdentekevä yhtiö. Joskus on ensin epäonnistuttava kunnolla, että voi onnistua. 83 Huipentumana nähdään lähes absurdi hetki, jolloin ulosottomies sulkee toimiston oven lounaalta palaavan henkilökunnan edestä. Muutaman hitin jälkeen yritykseen iski vauhtisokeus, jossa kaikki ratkaisut nähtiin hyvinä, töihin otettiin kaikki kynnelle kykenevät eikä talousosasto saanut pidettyä kuluja kurissa. Valitettavasti kohdealustaksi valittiin Sinclair QL, joka ei milloinkaan saavuttanut edeltäjänsä kaltaista suosiota. Go big or go home Imaginen kaatumisen syistä on liikkeellä monta teoriaa, hieman riippuen siitä, keneltä asiaa kysytään. Ei tarvitse tehdä kummoistakaan uskonhyppyä arvatakseen, mistä pelin runko oli kotoisin. Osalla pelejä myyvistä liikkeistä oli niin löyhä palautuskäytäntö, että pelin saattoi ostaa, käydä kotona kopioimassa ja palauttaa sitten myymälään. Megapelit olivat tämän huipentuma, amok-juoksu, jonka lopputulos oli oikeastaan jo tiedossa. Kahdesta ”megapelistä” Psyclapse oli täydellistä vaporwarea: se oli olemassa lähinnä mainosmiesten korulauseissa. Megapelit syntyivät vastaamaan tähän tarpeeseen: kun puolet pelistä olisi fyysisellä palikalla, pelkän kasetin kopioimisella ei voittaisi mitään. Brataccas (1985, Amiga-versio).. Etenkin Bruce Everiss on yhä tiukasti sitä mieltä, että yrityksen kaatoi etupäässä pelien kopiointi. Mainos Computer & Video Games -lehdessä, helmikuu 1984
move.l #$0184036b,(a6)+ ; color 2 move.l #$01860667,(a6)+ ; color 3 move.l #$01880f53,(a6)+ ; color 4 move.l #$018a07ad,(a6)+ ; color 5 move.l #$018c0000,(a6)+ ; color 6 move.l #$018e0cef,(a6)+ ; color 7 move.l #32,d0 ; Number of iterations move.l #$07,d1 ; Current row wait move.l #sin32_15,a0 ; Sine base move.l frame,d2 ; Current sine scrollrows: ; Wait for correct offset row move.w d1,(a6)+ move.w #$fffe,(a6)+ ; Fetch sine from table move.l d2,d3 and.l #$1f,d3 move.b (a0,d3),d4 ; Transform sine to horizontal offset value move.l d4,d5 lsl.l #4,d4 add.l d4,d5 ; Add horizontal offset to copperlist move.w #$0102,(a6)+ move.w d5,(a6)+ ; Proceed to next row that we want to offset add.l #$500,d1 ; Move to next sine position for next offset row addq.w #1,d2 subq.w #1,d0 reaktor.com/careers bne scrollrows ; end of copperlist move.l #$fffffffe,(a6)+ ; colors move.l #$01800fd3,(a6)+ ; color move.l #$01820832,(a6)+ ; color 1 6 430057 375747