• Pasi

Tee-se-itse bartop arcadevideopeli, osa IV: Ei kun pelaamaan!

Päivitetty: tammi 7


Viime kuukausi on ollut todella työntäyteinen, mutta kiitos julkisen henkselien paukuttelun ja tavoitemääräpäivän asettamisen #XmasJKL-tapahtumaan toissa perjantaiksi, sain kuin sainkin täysin pelattavan ikioman arcadepelini valmiiksi. Ja mikä parasta, arcade-kabinetti on varta vasten suunniteltu viime vuonna Commodore 64:n levykkeeltä pelastetulle Little Knight Arthur -pelilleni.

Tämänkertainen tarina on erityisesti heille, jotka suunnittelevat aloittavansa samanlaisen rakenteluprojektin. Voin lämpimästi suositella tätä mukavaksi harrastukseksi, jonka aikana oppii paljon omin käsin tekemisestä, jos aiemmin on jäänyt tämäntyyppinen nikkarointi vähemmälle. Rakentelun aikana en paljon ehtinyt päivittää blogiani, joten nyt on oikea hetki kerrata miten homma eteni.

Suunnitteluvaihe

Aloitin kabinetin suunnittelun tarkoitusta varten varaamani vanhan läppärin ympärille. Käytin SketchUp-nimistä 3D-suunnitteluohjelmaa, joka osoittautui varsin sopivaksi juuri tämäntyyppiseen projektiin. Ohjelma on varsin helppo oppia jos on vähänkään 3D-suunnitteluohjelmista kokemusta, eikä vasta-alkajallekaan oppimisen pitäisi olla ylivoimaista. Lisäksi ohjelmasta löytyi käteviä ominaisuuksia joista oli hyöytyä projektin eri vaiheissa. Ohjelma on omaan käyttöön ilmainen, joten sekin on harrastelijalle plussaa.

Aluksi tein karkean mallin läppäristä SketchUpilla. Tämän avulla suunnittelin missä kulmassa ja asennossa läppäri olisi kaapin sisällä. Läppärimallin ympäri sivusuunnassa piirsin sitten seinämän ääriviivan. Profiilin pursotus kohtisuorassa tasoa vasten loi sivuseinän 3D-mallin ja sen kopioimalla sain seinämät läppärin molemmin puolin.

Tämän jälkeen mallinsin vaakasuorat osat. Yhden poikkilistan asemoin suoraan läppärin alle sopivaan kulmaan ja kaksi muuta kabinetin etuseinämäksi ja pohjalevyksi etupäähän. Läppärin etupää lepäisi näiden muodostamassa kulmassa. Tein poikkilistoista vähän leveämmät kuin läppäri, sillä sen ja seinämän väliin piti mahtua virta- ja äänikaapelit.

Jatkoin suunnittelua muihin vaakapaloihin, tärkeimpänä ohjauspaneeli, joka sijoittuisi läppärin näppäimistön yläpuolelle. Ohjauspaneelin ja läppärin väliin piti jättää tarpeeksi tilaa jotta ohjauspaneeliin kiinnitettävät joystickit ja painonapit mahtuisivat. Tässä auttoi paljon valmiit ilotikun sekä painikkeiden mallit, joita oli saatavilla SketchUpin mallikirjastosta. Näiden avulla sopivien välyksien suunnittelu sujui helposti.

Puutyöt

Kun kaikki kabinetin seinämien osat oli mallinnettu SketchUpissa, sahasin ne parista isosta huonekalulevystä. Mitat täytyi ensin siirtää levyn pintaan ja ne oli helppo ottaa mallista SketchUpin mittatyökalun avulla. Käytin pöytäsahaa pätkimään levy ensin osiin suorilla kulmilla, ja sen jälkeen työstin vinot päädyt ja kaaret pienellä vannesahalla. Kaikki vaakakappaleet olivat helppoja sahata, mutta kabinetin sivuseinämien kanssa jouduin käyttämään hiomapaperia ja sähköhiomakonetta että sain molemmat riittävän saman muotoisiksi. Koska sahaus meni vähän mittauksen vierestä, lopputuloksessa oli vähän matalampi otsapaneeli kuin olin alun perin suunnitellut.

Kun kaikki kabinetin levyosat olivat oikeissa mitoissa ja muodoissa, oli aika kiinnittää levyt toisiinsa. Alun perin ajattelin käyttää tavallisia puuruuveja ja metallisia kulmapaloja. Etsiskellessäni näitä askarteluhuoneesta äkkäsin rasiallisen vanhoista huonekaluista purettuja kalusteruuveja, lukkomuttereita ja puutappeja. Hetken aikaa tuumailtuani nämä vaikuttivat helpoimmalta ratkaisulta kiinnittämään osat toisiinsa.

Homma toimii parin puutapin ja kalusteruuvin avulla siten että levyyn porataan niitä varten reiät, ja kalusteruuvi ruuvataan keskelle kahta puutappia kohtisuoraan. Näihin kiinnitettävän levyn päähän taas porataan vastaavat reiät siten että ruuvi painuu keskimmäiseen. Lisäksi keskiruuvia kohtisuoraan porataan vähän isompi reikä kiilamutteria varten. Kiinnitettäessä kiilamutteri kiertyy kalusteruuvin päähän kiinni ja lukitsee liitoksen. Jokainen joka on viime vuosina kasannut itse koottavia huonekaluja lienee törmännyt näihin kiinnittimiin.

Käytin reikien poraamiseen pystyporakonetta ja sen jälkeen tein nopean kasaustestin. Homma näytti toimivan oikein hyvin jos reikien poraamisessa oli tarpeeksi tarkka, käsiporalla näitä reikiä ei kannata yrittää tehdä. Tein nimittäin parikin virhettä kun kokeilin liitoksia. Yhden reiän porasin niin paljon ohi, että piti porata uusi reikä osin entisen päälle. Yhden tapin reiän taas porasin sen verran matalaksi että kokeillessani rakennetta satuin murtamaan sivulevyn tapin kohdalta kun tappi ei aivan kokonaan mahtunut. Sain kuitenkin särön korjattua liimaamalla.

Kun kävin näitä vaakaliitoksia läpi, keksin että en tarvitsisi erillisiä saranoita pariin kohtaan: ohjainpaneelin sisäpäähän sekä kattolevyn takaosaan. Poraamalla vain tappien reiät levyn päätyyn samaan kohtaan tapit toimisivat saranoina. Tämän rakenteen ansiosta sekä ohjauspaneelin että kabinetin ylälokeron pystyi myöhemmin helposti avaamaan ja tarkastelemaan niiden takana olevia johdotuksia.

Yksi kriittinen vaihe puuntyöstössä oli sivupanelien ympäri tulevan reunanauhan uran tekeminen. T:n muotoinen kalustenauha siistii levyn reunan hyvin, kunhan sen vaan saa osumaan keskelle ja pysymään tukevasti. Tätä varten tilasin 1.5mm paksuisen poraan kiinnitettävän uraterän. Sain uran keskelle työstämällä sen reunalevyn molemmilta puolilta samalla pystyporan asetuksella. Tätä vaihetta harjoittelin useampaan kertaan hukkapaloilla jotta sain terän juuri sopivalle korkeudelle uran tekemistä varten.

Tein erikseen vielä suorakaiteen muotoisen kehyksen mäntypuusta. Kehys tulisi läppärin ruudun ympärille peittämään sen oman näytön reunat. Sahasin kehyksen osat vannesahalla, hioin ja liimasin ne yhteen

Muovin työstö

Olin suunnitellut kolme osaa 2 mm paksusta läpinäkyvästä akryylilevystä. Kabinetin yläosaan eteen tulisi taustavalaistu otsapaneeli pelin logolla. Ohjauspaneelin päälle tulisi myös levy suojaamaan ohjauspaneelin kuviointia. Viimeinen ruutu tulisi läppärin näyttöä suojaamaan näytön kehyksen päälle.

Eräällä kaverillani oli pari vanhaa akryylilevyä, jotka hän antoi minulle. Nämä olivat toimineet koiranpennun aitoina portaikon kaiteiden päällä, ettei koira vahingossa putoaisi portaikkoon. Niissä olikin runsaasti koiran kynsimiä naarmuja, mutta päätin käyttää niitä joka tapauksessa. Niistä tulisi ehkä hieman kulunut vaikutelma, mutta ainakaan minun ei tarvinnut olla kauhean tarkka uusista naarmuista kun työstin levyä sopivan kokoisiksi paloiksi.

Käytin terävää mattoveistä jolla ensin tein suoran uran levyn pintaan, ja sitten taivutin levyä kunnes se murtui siististi leikkausviivaa pitkin. Joskus tämä meni kuten piti, joskus jouduin siistimään reunaa nauhahiomakoneella. Joskus jouduin heittämään palasen pois koska siihen tuli väännettäessä murtuma väärään kohtaan.

Loppujen lopuksi sain kuitenkin leikattua levyistä nuo kolme pienempää tarvitsemaani palasta.

Maalaus

Seuraavana oli vuorossa levyjen ja näyttökehyksen maalaus. Maalasin osat aluksi valkoisella pohjamaalilla, ja sen jälkeen sisäpinnoilta mustalla liitutaulumaalilla ja ulkopinnoilta vaalean sinivihreällä kalustemaalilla.

Käytin pohjamaalin ja sinivihreän kalustemaalin maalaamiseen sähkötoimista maaliruiskua. Huomasin että ruiskun käyttö oli hieman konstikasta, eikä tasaisen pinnan maalaaminen sillä ollutkaan niin helppoa kuin kuvittelin. Ehkä syy oli ruiskussa tai maalarissa, mene ja tiedä. Joka tapauksessa vaihdoin ruiskun maalaustelaan hiottuani alemman maalikerroksen. Liitutaulumaali sopi ruiskuun huonosti muutenkin, sillä se sisälsi pientä tekstuurimurua joka luultavasti olisi helposti tukkinut ruiskun suuttimen. Telalla liitutaulumaalaus kävi jopa mukavammin ja helpommin kuin ruiskulla..

Kun maalikerrokset olivat kuivuneet, tarkistin pinnan ja paikkailin ohuet tai irronneet kohdat pienen siveltimen avulla. Kummankin väriset maalipinnat näyttivät ihan hyviltä, etenkin sisäpuolen liitutaulumaali. Joitakin valumia jäi kalustemaalipintaan, mutta ne pystyi hiomalla tasoittamaan, ja hiotut kohdat tulisivat myöhemmin peittymään kuviointitarrojen alle.

Työturvallisuus

Lentävä puru ja leijaileva hiomapöly sahatessa, poratessa ja jyrsiessä ja maalipisarat sekä höyry maalatessa ovat terveysriski, joten käytin näissä vaiheissa aina hengityssuojainta ja suojalaseja. Meluisissa vaiheissa tietysti myös kuulosuojaimia. Samaten pyrin imuroimaan ja lakaisemaan työstöpölyt ja purut aika lailla saman tien työstöjen jälkeen pois pinnoilta ja lattioilta, muuten irtolian määrä olisi nopeasti käynyt haitalliseksi.

Pintakuvioinnit

Pintakuvioinneilla viimeistellään pitkälti pelikabinetin ulkonäkö. Käytin kuvioiden suunnitteluun Inkscape ja Gimp-ohjelmia, molemmat ilmaisia grafiikkaohjelmistoja. Suunniteltavina oli kolme kuviointia: ohjauspaneeli, otsapaneeli sekä kabinetin sivut..

Pelin ohjaimiksi olin suunnitellut joystickiä sekä kolmea nappia: hyppy, miekan heilautus ja kilven nosto suojaksi. Alkuperäisessä Commodore 64:lle tehdyssä pelissä miekkaa ja kilpeä käytettiin joystikcin ala- ja yläsuunnilla, sillä Atari-tyyppisessä tikussa oli vain yksi toimintonappi. Pelin arcade-versioon halusin aseiden käyttöön omat napit. Lisäksi kabinettiin tulisi muutamia muita painikkeita, kuten pelin käynnistys ja äänien vaimennus.

Pintakuviointien tarkistukseen SketchUp oli myös kätevä. Pintakuvioinnilla pystyi teksturoimaan 3D mallin tahoja, ja saada kuvan siitä miltä kuviointi näyttäisi valmiina.

Jumppasin kuviointigrafiikkaa aikani ja useita kertoja. Viimein olin kohtuullisen tyytyväinen aikaansaannoksiini, mikä oli hyvä juttu, sillä tapahtuma, jossa kabinettia oli tarkoitus demoilla, alkoi lähestyä kovaa vauhtia. Noin viikkoa ennen määräaikaa sähköpostititin läpi useita paikallisia painotaloja ja sen perusteella päädyin viemään kuviot muistitikulla Jyväskylän keskustan Kopiotiimiin tarratulostusta varten. Heiltä sainkin asiantuntevaa ja ripeää palvelua, kaikki tarrat olivat valmiina saman päivän iltaan mennessä.

Painotuotteita ajatellen Inkscape on vähän hankala. Värit määritellään RGB:nä ja tiesin että painotekniikka käyttää sen sijaan CMYK-värejä. Väriprofiilien käyttö Inkscapessa alkoi mennä hieman oman osaamisalueeni ulkopuolella, etenkin mitä painoväreihin tulee, joten olin huolissani miten sävyille kävisi. Onneksi lopputuloksesta tuli varsin mukiinmenevä.

Tulostuksen jälkeen tarrat piti leikata lopulliseen kokoon ja liimata ne kabinetin levyille. MIka Kopiotiimistä neuvoi liimaamisessa kannattavan tekniikan eli sekä tarttumapinnan että tarran kostutuksen astianpesuaineella terästetyllä vedellä ennen liimaamista. Kosteuden ansiosta liimapinta ei kuivu heti kiinni vaan tarraa pystyi asemoimaan pinnalla varovaisin liikkein. Tätä tekniikkaa käyttäen sain kuin sainkin tarrat siististi paikoilleen kabinetin sivulevyille.

Tämän jälkeen sivut olivat valmiit reunanauhan kiinnittämistä varten. Jotta sain kulmat mahdollisimman siisteiksi, leikkasin sekä reunan yli ulottuvaan tarraan että T-nauhan särmään kulmien kohdalle sopivia koloja. Näiden avulla sain tarran kulmissa siististi T-nauhan alle, ja toisaalta T-nauhan tiivisti kulman ympäri.

Ohjauspaneeli

Jätin ohjauspaneelitarran odottelemaan, koska en ollut vielä porannut paneelin reikiä painikkeita ja joystickiä varten. Tämä vaihe vaati myös huolellisuutta, sillä reiät piti saada asemoitua kohdilleen paitsi tarraan sekä ohjauspaneeliin, myös tarran päälle sijoittuvaan akryylilevyyn.

Sparkfunin rengas-LED-valollisiin painikkeisiin tarvitsin 16mm reiän ja arcade-nappeja sekä Sanwan joystickiä varten 25mm reiät. Reikien tekemiseen hankin useampiakin työkaluja, joista loppujen lopuksi käytin penkkiporakonetta ja Bachcon Sandflex reikäsahoja. Huonekalulevyyn porasin reiän puoliksi molemmin puolin, jotta reuna ei repeilisi pahasti.

Läpivientien lisäksi porasin neljä pienempää reikää paneelin alapintaan joystickin piilokiinnikkeitä varten. Joystickin toimittaneen verkkokaupan valikoimissa oli myös reikiin upotettavat piilokiinnikejengat joystickin kiinnitysruuveja varten.

Kun reiät oli porattu, leikkasin reiät terävällä veitsellä ohjauspaneelin tarraan ennen kiinnitystä. Sitten laitoin ohjauspaneelin, tarran liimapinta kostutettuna sekä akryylilevyn päällekkäin ja kohdistin kaikki ruuvaten painikkeet reikiin. Kun totesin että tarra oli kohdallaan, poistin painikkeet ja akryylilevyn tarran kuivumisen aajaksi. Yön yli kuivuttuaan kuviointi oli oikealla paikallaan ja kiinnitin joystickin ja painikkeet tällä kertaa pysyvästi ohjainpaneeliin.

Kabinetin loppukokoonpano

Nyt kaikki oli valmista kabinetin kokoamiseen. Kiinnitin kaikki liitokset käyttäen kalusteruuveja ja kiilamuttereita. Sen jälkeen pystyinkin jo kokeilemaan kuinka läppäri istui kabinetin sisään. Laitoin tietokoneen takakautta sille varatuille tasoille. Yksi kiinnitys, jonka tässä vaiheessa tein, oli läppärin näyttöosan lukitus kattotasoa vasten. Tätä varten löysin askarteluhuoneen laatikosta ohuen metallipalan jossa oli pieni ulostyöntyvä ’huuli’ jonka sain taivutettua läppärin yläreunan ympäri. Metallipalan alkuperäinen tarkoitus on vaipunut unholaan, mutta tähän kiinnitykseen se istui aivan sopivasti..

Läppärin asetuttua paikalleen vuorossa oli näytön kehyksen ja sen päälle tulevan akryylilevyn kiinnitys. Tähän valitsin yksinkertaisen ratkaisun. Leikkasin ohuen soiron vaahtomuovia ja laitoin sen kehyksen ja levyn alareunan sekä läppärin ja ohjainpaneelin yläreunan väliin. Vaahtomuovi painui hieman kokoon ja samalla puski kehystä ja akryyliruutua kaapin kattoa vasten ja piti niitä paikoillaan. Maalasin vaahtomuovin vielä mustaksi, jotta se erottuisi mahdollisimman vähän mustasta kehyksestä sekä mustasta ohjainpaneelin yläpäästä. Kiinnitys ei ole mitenkään erityisen vankka, mutta hyvänä puolena se sallii näiden osien helpon irrotuksen läppärin näytön päältä tarvittaessa.

Kabinetin sisäpuolelle takimmaisen poikkipuun päälle kiinnitin läppärin virtalähteen ja jatkojohdon pistorasiakotelon kolmella pistorasialla. Yksi oli läppärin virralle, toinen otsapaneelin taustavalolle ja kolmas jäi varalle. Sitä voisin käyttää tulevaisuudessa esimerkiksi pienen vahvistimen virtalähteelle.

Äänet, valot ja otsapaneeli

Tavoitteenani oli käyttää kierrätysosia niin paljon kuin suinkin, ja siksi laitoin kabinettiin ylimääräiseksi jääneen pienen USB-kaiuttimen. Kaiuttimen äänenlaatu ei ole paras eikä voimakkain mahdollinen, mutta tässä vaiheessa en halunnut ostaa uutta vahvistinta ja kaiuttimia. Mahdollisesti parantelen äänipuolta paremmilla komponenteilla myöhemmin

Otsapaneelin kuvion sain Kopiotiimiltä valmiiksi liimattuna akryylilevylle, joka oli myös leikattu lähes oikeaan mitttaan. Sain sen sopimaan hiomalla muutaman millin osan toisesta päästä nauhahiomakoneella. Kiinnitin otsapaneelin kahdella alumiinisella kulmalistala, joista alemman kiinnitin ruuveilla, ja ylemmän liimasin kattopaneeliin pikaliimalla. Sen taakse sijoitin kaksi LED-nauhalistaa sekä foliolla tehdyn heijastavan takalevyn. Otsapaneelin valaisu onnistui näin ihan hyvin, vaikkakaan läpinäkyvän tarran kontrasti ei ollut aivan paras mahdollinen. Sitä tulen ehkä parantelemaan vielä joko lisäspottivaloilla tai tulostamalla kuvioinnin uudelleen jossain vaiheessa.

Ohjauspaneelin johdotukset

Joystickin ja kolmen toimintopainikkeen lisäksi olin suunnitellut laittavani ohjainpaneelin yläosaan neljä pienempää painiketta. Näihin olin valinnut todella mukavan näköiset Sparkfunin ympyrä-LED-valolla varustetut painokytkimet, jo ennen kuin tarkkaan olin päättänyt mitä toimintoja noilla painikkeilla tehtäisiin.

Riippumatta nappien toiminnoista, tärkeä osa kabinettia oli peliohjainkontrolleri. Siihen valitsin Xin-Mo:n 1 pelaajan USB-arcadeohjainkortin, jossa oli myös LED-valojen ohjaukset. Tämä pieni kortti liitetään PC:hen USB-kaapelilla ja joystickin ja painikkeiden kytkimiin ja terminaaleihin kontrollerin mukana tulevilla kaapeleilla. LED-ohjaukset ovat automaattisia, eli kytkevät painikkeiden LED-valot joko päälle tai pois kytkimien painalluksien tahtiin. Itse valitsin valojen olevan normaalisti päällä, ja sammuvan merkiksi painalluksesta. Kortin ohjainpiiri hoitaa LED-ohjauksen enintään kahdeksalle painikkeelle. 8 painonapin signaalien lisäksi kortilla oli liittimet 4:n joystickin suuntakytkimen signaaleille.

Ruuvasin Xin-Mo-ohjaimen keskelle ohjainpaneelin alapintaa ja aloin kytkeä johtoja kortin liittimistä kytkimien ja LED-valojen terminaaleihin. Joystickin ylä- ja alasuuntia hoitavien kytkimen johtoihin tein haaroitukset miekalle ja kilvelle omistetuille painonapeille.

Johdotus oli suurimmaksi osaksi helppoa käyttämällä johtoja, joihin oli valmiiksi kiinnitetty liittimet, jotka sopivat joystickin ja toimintopainikkeiden mikrokytkimien johdinkantohin. LED-valojen navat olivat leveämpiä, onneksi olin tilannut kahden kokoisilla liittimillä varustettuja johtoja. Sparkfunin nappien navat olivat kuitenkin niin pieniä, että niihin jouduin ensin juottamaan kiinni sopivilla liittimillä varustetut johtimenpätkät.

Itse läppäriin tein vain yhden ylimääräisen kytkennän. Avasin näppäimistön ja näytön välissä olevan paneelin, ja sen alta paljastui virtakytkin. Juotin kytkimen napoihin rinnakkaisjohdot, joiden toiset päät liitin ohjainpaneeliin ruuvatun ympyrä-LED-painikkeen napoihin. Näin sain ohjainpaneelin painikkeen toimimaan pelin virtakytkimenä.

Ohjainpaneelin kuviointia viimeistellessä oli päätettävä tekstit myös kolmelle muulle paneelin yläosan painonapille. Päädyin seuraaviin: Pause, Sound ja Menu. Menu-painikkeesta pääsi VICE emulaattorin asetuksiin. Pause ja Sound ohjasivat pelin paussitilaa ja äänen toistoa. Tehdäkseni ohjainpaneelista värikkäämmän käytin alemmalla rivillä eri värisiä LED-renkaita. Tilasin koneeseen päätyneiden nappien lisäksi muutaman ylimääräisen siltä varalta jos halusin myöhemmin vaihtaa värejä.

Lopulta sain kaikki johdot kytketyksi ja kelattua ja kiinnitettyä ylimääräiset johdot ohjainpaneelin alapintaan.

Ohjelmisto

Sain pelin toimimaan läppärin VICE-emulaattorissa jo ennen kotelon rakentelua ja suunnittelua. VICE on näppärä ohjelma, jos haluaa käyttää vanhoja Commodore -ohjelmia uudehkolla PC:llä. VICE ei tarvitse kovin uutta tai tehokasta konetta jäljitelläkseen suhteellisen yksinkertaisen ja hitaan Commodore-kotitietokoneen prosessoria ja muita piirejä aivan alkuperäistä vastaavalla nopeudella. Se ei myöskään hyödy käyttöjärjestelmän monimutkaisuudesta, joten poistin läppäristä siihen alun perin asennetun Windows XP:n ja asensin tilalle Linux-jakelun nimeltä Tiny Core Linux.

Tiny Core Linux on ihanteellinen käyttöjärjestelmä tämän tyyppiseen tarkoitukseen monesta syystä. Ensinnäkin, käynnistyttyään sen tiedostojärjestelmä siirretään kokonaan RAM-levylle, eli ajettaessa sillä ohjelmia kiintolevyä ei yleensä tarvita käynnistyksen jälkeen ollenkaan. Ainoastaan mikäli halutaan pysyvästi tallentaa muutokset järjestelmän kokoonpanoon tai käyttäjän tiedostoihin, kirjoitetaan RAM-muistiin kirjoitetut tiedot varmuuskopiotiedostoon haluttuun massamuistiin. Seuraavalla käynnistyksellä, mikäli backup-tiedosto on käytössä, järjestelmä palauttaa tiedot ja tiedostot siltä automaattisesti.

Tämä ominaisuus sopii erinomaisesti arcadepeliin, jossa sen jälkeen kun ohjelmisto on konfiguroitu sopivasti, se voidaan toistuvasti käynnistää suoraan peliin. Sammutettaessa laite pelisession jälkeen ei taas normaalisti tarvitse tallentaa tietoja, joten sammutus käy nopeasti eikä sotke tai muuta varmuuskopiossa olevia tiedostoja.

Tiny Core on minimaalinen jakelu, joka ei sisältänyt VICEä valmiina. Eli jouduin kääntämään sen itse. Tämä oli itse asiassa varsin helppoa. Kun olin asentanut kaikki VICEn tarvitsemat kirjastot (kuten SDL, X, ja OSS tai Alsa) käyttäen Tiny Coren ohjelmistomanageria, ja hakenut VICE:n lähdekoodin, minun täytyi vain ajaa tavanomaiset configure ja make -komennot.

Kun olin saanut VICEn käännettyä ja käynnistettyä, liitin Arthur-pelin levykekuvan virtuaalilevykeasemaan ja latasin ja käynnistin pelin klassisia Commodoren latauskomentoja käyttäen. Peli toimi oikein mukavasti ja aloin tutkia, miten saisin peliohjaimet ja erikoispainikkeet konfiguroitua. VICEssä on mukavan helppo valikkosysteemi, jonka kautta pystyi säätämään näytön resoluution, ääni- ja grafiikka-optiot, näppäimet, jotka vastasivat joystickin suuntia ja painiketta, ja niin edelleen.

Kaikkiaan arcadekabinetin tarvitsemien asetusten tekeminen oli helppoa. VICE tuki suoraan Linuxin joystick-ohjausta ja Xin-Mo:n ohjain näkyi kytkemisen jälkeen joystick/gamepad-laitteena. Joystick-suuntien ja painikkeiden määrittely tehtiin yksinkertaisesti opettamalla eli painamalla sitä kytkintä, jonka halusi vastaavan haluttua joystickin suuntaa tai peliohjainpainiketta. Pelikontrollien lisäksi paussin, äänien päälle ja pois-kytkemisen, sekä valikkoon siirtymisen määrittely onnistui helposti VICEn valikossa olevan toiminnon avulla, jolla minkä tahansa peliohjaimen painikesignaalin sai valittua näppäimistöoikopoluksi näihin VICE:ssä valmiina oleviin toimintoihin

Tämän vaiheen jälkeen pystyinkin sitten kokeilemaan peliä ensimmäistä kertaa käyttäen aitoja arcadepeliohjainta ja kyllä ero kömpelöön näppäimistön käyttöön oli huikea. Oikean arcadejoystickin ja painikkeiden tuntumaa on vaikea ylittää juuri Artun tyyppisessä tasohyppypelissä.

Näppärää VICEssä on myös se, että sen tilan voi tallentaa ns. snapshot tiedostoon ja erilaiset konfiguroinnit muutamaan konfigurointitiedostoon ja uudelleenkäynnistettäessä käyttää näitä tiedostoja. Joten kun kaikki tarvittavat VICEn asetukset oli tehty, tallensin konfiguraatiotiedostot ja tallensin ne kertaalleen Tiny Coren käynnistysvarmuuskopioon.

Vielä viimeinen säätö oli pienen käynnistysskriptin kirjoitus. Skriptissä konfiguroidaan äänijärjestelmä lisäkaiuttimesta toistoa varten ja startataan sen jälkeen VICE Little Knight Arthurin levykuvalla. Kabinetti oli tämän jälkeen valmiina pelin käynnistämiseen suoraan ohjainpaneelin vasemman yläkulman Power-painikkeesta.

Suunnitelma... ja toteutus

Lopputulos on varsin lähellä 3D-suunnitelmaani, ja molempiin olen varsin tyytyväinen!

Pelin testausta #XmasJKL:ssä

Toissa perjantaina pakkasin Little Knight Arthur Re^3 (Arttu Retrogame*Recycled*Resurrected) kabinetin kassiin, otin sen mukaan #XmasJKL:ään, Expan järjestämään Suomen peliteollisuuden pikkujoulukauden seminaariin, ja esittelin sitä jossain määrin uudempien peliprojektien parissa tapahtuman demoalueella.

@JiiHooCodes matkalla kohti illan parasta tulosta Little Knight Athur-pelissä #XmasJKL 2016:ssa:

Kiitoksia kaikille peliä pelanneille ja peliä ja kabinettia kommentoineille. Kolme pelaajaa pääsi pelin ritarikuntaan eli top-listalle illan aikana, heille onnittelut erityisestä paneutumisesta pelaamiseen, sillä listalle pääseminen ei monesti onnistu ihan ensimmäisellä pelikerralla. ExpaJKL:lle kiitokset hienosta tapahtumasta ja ohjelmasta.

Lisäkiitokset

Lopuksi vielä kiitokset Esa Meizille Ouluun oman pelikabinettiprojektinsa kokemusten jakamisesta ja hyvistä vihjeistä rakenteluni loppuvaiheessa, sekä Sasu Loukeelle ExpaJKL:stä, joka vinkkasi meistä toisillemme Oulun reissullaan.

Arthur Re^3 Bartop Arcade tarvikekustannukset

Kierrätettyä tai vanhaa materiaalia

1 x vanha Fujitsu Siemens Amilo laptop - ilmainen

1 x vanha USB mini kaiutin + 3.5 mm audio johto - ilmainen

1 x vanha LED nauha valo, missä kolme LED-listaa ja virtalähde - ilmainen

1 x ylijäänyt musta liitutaulumaalipurkki - ilmainen

2 x huonekalulevystä tehtyä kaapin ovea - ilmaiset

2 x vanhaa 2 mm paksua akryylilevyä - ilmaiset

12 x huonekaluruuvikiinnike sekä 24 x puutapppi - ilmaiset

Hieman purettua johtoa ja pistokeliuskoja vanhasta SCART-TV-kaapelista - ilmaiset

Maalarinteippiä, aaltopahvia - ylijäänyttä, ilmaista

Alumiinifoliota - ylimääräistä, ilmaista

Pikaliimaa, ylijäänyttä, ilmaista

Ruuveja, vanhoja - ilmaisia

Ostettuja tarvikkaita ja komponentteja, sekä suurin piirtein hinnat (viimeiset hinnat saa komponenttikaupoista)

1 x Uusi läppärin verkkolaite Fujitsu-Siemens Amilolle 26,90 € / akkukauppa.com

1 x Sanwa JLF-TP-8YT Ball Top Joystick arcadepeliohjain 16,86 € / arcadeworldcouk.com

3 x Chrome Effect Illuminated Arcade Button, with 5V led, Cherry microswitches arcadepelin LED-valaistut painonapit 6,80 € / arcadeworldcouk.com

4 x Sparkfun LED illuminated ring pushbutton ledillä valaistut metalliset painonapit 20,20 € / Semicom.lv

1 x Xinmo USB joystick/button interface USB-peliohjainkontrolleri, 19,20 € / arcadeworldcouk.com

2 x Maajohdot ja signaalijohdot peliohjaimille ja napeille 5.80 € / arcadeworldcouk.com

5 m Chrome 15 mm T-molding Krominvärinen muovinen reunalistanauha 7,68 € / arcadeworldcouk.com

2 x sivupaneelitarrat, 1 x ohjainpaneelitarrat, 1 x otsapaneeli tarra + levy 75€ / Kopioteam, JKL

1 x valkoinen pohjamaali 10.95€ / Kodin Terra, JKL

1 x vaalean sininen kalustmaali, puolihimmeä 12.50€ / Kodin Terra, JKL

1 x L:n muotoinen alumiinikisko 15,90 € / Puuilo, JKL

Vähän toista kymmentä puristettavaa johtoliitintä ja mustaa sähköteippiä, tulivat johdonkuorimapihtisarjan mukana

Uusien tarvikkeiden kokonaishinta lisättynä ALV:llä: n. 256 €

Käyttämäni työkalut

Pöytäsaha

Pieni vannesaha

Penkkiporakone, 1.5 mm kiekkojyrsinterä, 16 ja 25 mm reikäsahat ja sarja puupora- ja metalliporateriä

Nauhahiomakone, 80/120/150 karkeuden hiomapaperit

Kumipäinen vasara

Erikokoisia ja kärkisiä ruuvimeisseleitä

Akkukäyttöinen käsiruuvinväännin/pora

Sähkökäyttöinen maaliruisku

Vaahtomuoviset maalitelat

Monitoimittyökalu metallisahanterällä

Johtojen kuorima- ja puristuspihdit

Johtojen leikkaussakset

Juotoskolvi

Teräviä matto- ja askarteluveitsiä

Suorakulma

Viivain

Työntömitta

Rullamitta

Tukeva työpöytä

Kannettava työpenkki

Puristimia

Lyijykynä

--



621 katselukertaa