Posts filed under 'softat'

Keksit loppu

Noin puolentoista vuoden jälkeen päätin lopultakin päästää irti ja suljin luultavasti viimeisen kerran Cookie Clickerin selainikkunan. Tämä ei ollut mitenkään ensimmäinen kohtuuttoman pitkäksi venynyt grindaus, sillä vastaavia ainakin vuoden sessioita vierähti mm. Smurfs’ Villagen, Tiny Towerin ja Spaceplanin äärellä. Paperclipsiin kului vähemmän aikaa, sillä sain sen pelattua niin joikeliin, että minkäänlainen eteneminen ei ollut enää mahdollista.

Keksiklikkailuja yhdistää se, että etenkin alussa pitää takoa hiirtä hulluna, kun taas pelin edetessä klikkailun merkitys vähenee kaikenlaisten automaattien hankkimisen myötä. Samoin pelien tahti muuttuu alun hektisestä hyvin verkkaiseksi, eikä uusia juonikuvioita enää tule vastaan. Paperclipsin ja Spaceplanin voi jossain mielessä pelata “läpi”, jolloin alkaa uusi sykli, mutta klassinen Clicker ei taida loppua mihinkään. Puolentoista vuoden aikana peliin julkaistiin useita päivityksiä, jotka toivat mukanaan uusia tavoitteita (joiden saavuttamiseen olisi mennyt ihan hulvattoman kauan).

Muitakin yhteisiä piirteitä kliksutteluissa on toki runsaasti, mutta ainakin kaksois- tai kolmoisvaluutta on yksi tärkeimmistä – kaupallisissa tekeleissä oikealla rahalla voi helpottaa etenemistä ostamalla sitä harvinaisempaa. Ostosten eksponentiaalisesti kasvavat hinnat pitävät huolen siitä, että näennäisesti valtavillakaan tuloilla ei saa hankittua juuri enempää tavaroita ja rakennuksia kuin pienemmillä.

Huumorin ja kasuaalipelailun pinnan alle kätkeytyy syvällisempikin viesti: keksiklikkailut voi nähdä kapitalismin parodiana, jossa mikään ei riitä, kasvu on loputonta ja absurdi asia, kuten keksi tai paperiliitin, pyörittää maailmaa. Toinen ironian kohde lienee turruttava työelämä, kun pelaaja klikkaa samaa nappia tuhannet ja taas tuhannet kerrat pitääkseen bisneksen pyörimässä.

Add comment January 31st, 2019

Levynkansia petskarina

Pelimuseon levynkansinäyttelyyn liittyvä PETSCII Disk Cover Competition päättyi juuri, ja tuttuun tapaan nepa-artistit olivat vääntäneet kilpailuun toinen toistaan komeampia ja kekseliäämpiä teosta. Vaikka työtapa olikin vapaa, niin oma edikkani oli ainoa valmiiksi tuettu, sillä sille oli valmis asetustiedosto ja pohja, jonka päälle omaa tekelettään pääsi väkertämään. Ihan kaikki graafikot eivät näemmä levynkannen ideaa ymmärtäneet, ja jokunen venytti sääntöjä oman makunsa mukaan, mutta eipä tämän mitään haudanvakavaa puurtamista pitänytkään olla.

Perinteinen levynkannen formaatti on ollut mustavalkoinen A4, joka on ollut helppo tykittää eteenpäin valokopiokoneella ilman laadun merkittävää kärsimistä. PETSCII:llä piirtäessä eräs ilmeinen haaste on se, että toinen puolisko pitää piirtää ylösalaisin, jolloin ei voi käyttää esimerkiksi normaaleja kirjaimia. Editorini pyöritys- ja peilaustoiminnot helpottavat hommaa, mutta suunnittelu on silti tärkeää. Puoliskot voi toki tehdä itsenäisinä kuvinaan, mutta hyvää karmaa ansaitsee sillä, jos kaksipuolisuutta saa jotenkin nokkelasti hyödynnettyä. Itse ainakin yritin, oma tekele We’re one, but we’re the same (Bartman grew up) alla:

Add comment October 7th, 2018

Netgear Nighthawk X4 slowdown

To make a long story short: if you have a Netgear Nighthawk X4 router, do not upgrade to firmware 1.0.0.108 – unless you want to ruin your transfer speeds. After the update my 802.11ac (“5 GHz”) compliant devices connected only at 54 Mbit/s. Reverting back to 1.0.0.94 restored their speed back to normal again. In case you made the same mistake already, just download, unzip and reinstall (through Advanced – Administration – Firmware Update) this.

Add comment August 11th, 2017

Linux-pelitystä

Vuosien varrella on tullut kuultua vähän liiankin usein iänikuista virttä siitä, kuinka Linuxilla ei voi pelata. Jos tarkoituksena on hakata jotain viimeisimpiä 3D-räiskintöjä, niin onhan se toki näinkin, muttei nykytilanne suinkaan ihan niin surkea ole – kaikki viimeisimmät AAA-tekeleet haluavan pitää omistaa joka tapauksessa myös konsoli tai pari, koska kaikkia sisältöjä ei PC:lle julkaista. Emulaattorien kautta pääsee käsiksi valtaisaan määrään retrokoneiden pelejä, mutta keskityn tässä pohdinnassa etenkin natiivisti Linuxilla toimiviin tuotoksiin. Samasta syystä ohitan Winen, vaikka senkin kautta (riittävästi säätämällä) on mahdollista saada kaikenlaista toimimaan.

Linux-jakelujen paketinhallinnasta löytyy lähinnä sekalaisia harrastajien tekemiä pikkupelejä, joista voi olla hetkeksi viihdykettä: Tetris-klooneja, korttipelejä, puzzleja ja sen sellaista. Ainakin jälkikasvua huvitti eniten SuperTux, kelpo Super Mario -klooni. Retrompaa menoa tarjoavat vaikkapa Nethack ja muut tekstipohjaiset seikkailut, sekä niiden pyörittämiseen tarkoitetut myöhemmin tehdyt tulkit. Lucasartsin ja Sierran klassikkoja ajaa suoraan aptistakin asentuva ScummVM, mutta ei puututa tässä nyt niihin.

Pelikauppa Steamin Linux-version myötä aukeni Linux-pelaajille uusia näkymiä. Vaikka Valven Linux-pohjainen SteamOS ja Steam Box (sittemmin Machine) tuntuvat olevan vastatuulessa, niin onneksi sisällöt ovat ihan tavallisenkin tallaajan ulottuvilla; ainakin Mintissä kauppa asentuu suoraan paketinhallinnasta. Vaikka suurin osa “SteamOS”-kamiksesta onkin indiepelejä (missä ei sinänsä ole mitään vikaa, päin vastoin), niin näyttääpä joukossa olevan jonkin verran isojakin tuotantoja. Valven omat pelit, kuten Half-Life 2 myöhempine johdannaisineen sekä Portalit ovat luonnollisesti näiden joukossa.

1990-luvun lopulla, Voodoon ja TNT:n aikakaudella Linuxin 3D-tuki oli vähän sitä sun tätä, mutta sittemmin tilanne on vakiintunut ja asettunut hyvälle tasolle. Yli vuosikymmenen ajan mentiin sillä asetelmalla, että nopeutta ja luotettavuutta halajavan Linux-käyttäjän kannatti ostaa vain Nvidiaa. Moni puristi oli nyreissään ajurin suljetuista osista, mutta vaihtoehdotkin olivat vähissä. Nouveau-projekti on sittemmin saanut aikaan avoimet ajurit, joiden toimivuudessa on kuitenkin yhä parantamisen varaa. Nvidia itse tukee Linuxin lisäksi – aika yllättäenkin – myös FreeBSD:tä ja Solarista.

AMD:n eli entisen ATI:n osalta tilanne oli pitkään heikko, etten sanoisi surkea. Nvidia tavoin saatavilla oli sekä suljettu ajuri (Catalyst eli fglrx) sekä perässä laahaava avoin toteutus. Catalyst oli se nopeampi vaihtoehto, mutta samalla buginen. Avoin ajuri oli Nvidian vastaavaa huomattavasti parempi, muttei tukenut uusimpia kortteja eikä kaikkia ominaisuuksia. Sittemmin AMD on ryhtynyt tukemaan avointa ajuria, joka onkin kuronut nopeuseroa kiinni ja tällä hetkellä jo kelpo kunnossa. Sitä myöden Catalyst on myös alkanut kadota Linux-jakeluista. Nvidia on edelleen tämän kukkulan kuningas, mutta parilla eri kortilla näkemäni perusteella AMD ei ole enää mikään huono vaihtoehto pelaajalle sekään. Viimeisimpiä vertailuja löytyy tasaisin väliajoin Phoronixista.

Jättiläisten varjossa suurimmaksi PC-graffapiirivalmistajaksi vaivihkaa kasvanut Intel ei ole edelleenkään näyttisten kärkikahinoissa, mutta toivoa on tälläkin saralla. Läppäreissä erilliset näytönohjaimet ovat jo pitkään siirtyneet kalliiden tehokoneiden suuntaan, siinä missä Markantalon Acerissa(tm) on vain se Intel (tai joskus AMD:n integroitu vastaava). Isoilla resursseilla sekä vakaalla teknisellä osaamisella varustettu firma on laittanut hihat heilumaan, ja integroidut näyttikset ovatkin kohentuneet vauhdilla: alkujaan nuhainen HD-sarja on sittemmin moninkertaistanut laskentatehonsa, ja Iris-sarjalaiset pärjäävät jo halvimman pään erillisille näyttiksille. Intelin Linux-ajurit ovat olleet esimerkillisesti aina avoimet – säätöjä on vähän, mutta toiminta on kaikkiaan vakaata.

Selailin hiljattain läpi sekalaisista Humble Bundleista kertyneitä, useimmiten täysin kokeilemattomiksi jääneitä pelejä. Tuotokset (mm. AmnesiaBastion, BraidGrim Fandango, Jamestown, Limbo, Swords and Sworcery ja Voxatron) olivat jo vähintään muutaman vuoden vanhoja, joten niitä pyöritti hienosti HD 4000 -pohjainen Intelin integroitu näyttiskin. Tietyin varauksin riitti jopa HD 2000. Tuoreella halvahkolla Nvidialla (GTX 1050) sai päälle kytkeä kaikki mahdolliset hienoudet, vaikka käytössä oli fullhd:tä vaativampi 1440p-tarkkuus.

Lähdin liikkeelle vaatimattomin odotuksin, mutta lopulta suurin osa peleistä pyörähti käyntiin, vaikka matkalla kirjastojen ym. versiot ovat muuttuneet moneen kertaan. Eräs vedenjakaja oli 32- ja 64-bittisyys, joka tosin tuntui vaikuttavan pikemminkin niin, että vanhat 64-bittiset versiot peleistä eivät toimineet, vaan ne 32-bittiset. Yhteensopivuuskirjastoja voi asentaa näin: apt-get install libglade2-0:i386. Selainpohjaiset teknologiat olivat ikääntyneet huonommin, ja esimerkiksi Amanitan hienot seikkailut ja Windosill eivät toimineet enää suoraan; jollain säädöllä varmaan sekin toki onnistuisi.

Entä miltäpä näyttää Linux-pelaamisen tulevaisuus? Mitään suurta yleisöryntäystä tuskin on edelleenkään tulossa, jollei sitten Steam OS tee yllättävää nousua. Tietystä marginaalisuudesta huolimatta tilanne on kuitenkin ihan mukava: 3D-raudan tuki on kunnossa, Steamin kautta on tullut paljon uutta sisältöä saataville, ja Unity sekä Unreal Engine tukevat nykyään Linuxia yhtenä kohdealustana. Taas muodikkaat silmikkonäytöt ovat olleet paitsiossa, mutta jotakin tukea alkaa niillekin tulla – kokonaan toinen asia on sitten, kuinka pitkälle tämä VR-hypen toinen aalto ylipäänsä kantaa.

Add comment June 10th, 2017

MintBook Pro

Kun duunissa koitti taas (lopulta) aika saada uusi kone, niin keksin vielä vanhallekin jotain käyttöä. Serriin eläkkeelle pääsyä odotellut MacBook Pro 6,1 huomasi joutuvansa pidennetylle työuralle, kun länttäsin siihen tuttuun tapaan Mint/Mate-yhdistelmän (18.1) – yhtäältä ihan mielenkiinnosta ja toisaalta siksi, että nuo uusimmat MBP:t eivät ole aivan yksiselitteisen mukavia pääkoneena (adapterikasa, klisu näppis ym.). Akku on vanhassa läppärissä jo sen verran förbii, ettei siitä enää matkaseuraksi ole, mutta kahdeksaan gigaan päivitetty muisti, kieputtimen tilalle vaihdettu SSD sekä aikanaan äveriäs i7-prosessori kohentavat menoa oleellisesti aikalaisrojuun verrattuna. Pidemmittä puheitta itse asiaan, eli mitä toimii ja mitä ei:

Heittämällä

  • Akkukäyttö – latausmittari näkyy ja jopa BT-näppiksen lataus siellä. Tällä akulla ei tosin paljon testailla.
  • Bluetooth – ainakin Applen langaton näppis on palvellut, kunhan sen vaan sai paritettua
  • Erikoisnäppäimet
  • Ethernet – olisin ollut yllättynyt, jos tämä ei olisi toiminut
  • Firewire – ulkoinen levy tuli näkyviin koneeseen kytkettäessä
  • Hiiripädi – niukasti testattu
  • Kortinlukija – laite tunnistuu ja pieni kortti lukeutui, uudemmat isommat SDHC:t ei
  • Näytönohjain – Nouveaulla saa ainakin kuvaa ulos. Syystä tai toisesta Linux käyttää GeForce GT 330M:ää eikä Intelin näyttistä oletuksena.
  • Ulkoinen näyttö – DisplayPortin kautta kytketty HP tunnistui heti
  • Valmiustila – kone menee sleeppiin ja herääkin siitä, tosin sitten se pitää sohia koneen omalta näppikseltä takaisin hereille, koska hiiri tai BT-näppis ei herätä
  • Äänet

Säätämällä

  • Nvidian ajuri – Driver Manager asentaa ajurin, mutta monella tuntuu olevan huonoja kokemuksia, sillä buutissa seuraakin musta ruutu. Linuxin buuttiparametreihin pitää lisätä nomodeset, ja johan soi.
  • Tuulettimet – firmis pyörittelee tuulettimia ihan omatoimisestikin tarpeen mukaan, mutta vanhat propellit olivat matalilla kierroksilla inhottavan äänekkäät. Apuun rientää macfanctld, josta ei tosin löytynyt PPA:ta tälle Mintin versiolle.
  • WLAN – Driver Manager asentaa ajurin ok

Vielä testaamatta

  • Intelin näyttis – säätö on mutkikkaampi kuin pelkkä ajurin vaihto, enkä näin pöytäkoneessa viitsi edes käyttää Intelin tekelettä (joka tosin säästäisi akkua matkakäytössä)

Projektia helpotti merkittävästi se, etten edes yrittänyt mitään tuplabuuttiviritystä, vaan asennusohjelma sai jyrätä koko levyn Linuxin käyttöön. Samoin se, että koneessa sattuu olemaan Nvidian eikä AMD:n näyttis luultavasti oli eduksi; vaikka tilanne on kohentunutkin, niin Nvidian tuki on käytännössä edelleen parempi. Pienenä kauneusvirheenä SSD:n nopeus jäi SATA 1:n mukaiseksi, vaikka Samsung 850 EVO:n ja kiintariohjaimen pitäisi pystyä suurempaan vauhtiin. En ole mitenkään varma, onko ongelma Linuxista vai laitteistosta (tai niiden firmiksistä) kiinni.

Tämän verran ikääntyneen laitteiston Linux-tuki on toki paljon parempi kuin uudempien kotkotusten, vaikka Mäkkien omituisuuksista usein seuraakin omia hankaluuksiaan. Kaikkiaan asennuksesta jäi hyvä jälkimaku, ja MBP saattaa palvella töissä vielä pitkäänkin pöytäkoneena.

Mintti on Mintti

edit: sleeppi, Firewire, akkukäyttö ja kortinlukija pikaisesti testattu.

Add comment May 23rd, 2017

Synclientin perusteita

Linuxin hiiripädituki on monipuolinen ja äärimmäisen tarkkaan säädettävä, mutta tavalliset asetustyökalut eivät tarjoa paljonkaan optioita, minkä lisäksi vakioasetukset voivat toimia aika heikosti, riippuen pitkälti koneesta. Tärkein hienosäätötyökalu on Synclient, joka tarjoaa suuren joukon viritettäviä parametreja – oikeastaan liiankin suuren, sillä vasta-alkajalla menee sisu kaulaan kymmenien mystisten numeroiden äärellä. Välttelin vuosikaudet Synclientiä juuri tästä syystä (sekä laiskuuttani), mutta lopulta sekin oli opeteltava pakon edessä. Seuraavassa tukea muiden ensiaskeleisiin.

Herkkyys

Hiiripädin liika herkkyys on sekä omien kokemusteni että netin lukuisten foorumien mukaan ehdottomasti yleisin ongelma. Pahimmillaan kursori liikkuu jo ennen kuin sormi edes koskettaa pädiä. Kaksi tärkeintä – hieman omituisella logiikalla nimettyä – asetusta ovat:

  • FingerHigh – kuinka lujaa pädiä pitää painaa, että hiiri alkaa liikkua
  • FingerLow – millä voimakkuudella tulkitaan, että liikutus loppuu (oltava pienempi kuin FingerHigh)

Liian pienet arvot aiheuttavat em. telekinesiaa ja tahatonta kursorin liikkumista pienimmästäkin kosketuksesta, kun taas liian suurista arvoista seuraa tahmea pädi, jota pitää survoa. 15 ja 10 ovat hyviä alkuarvauksia, mutta joillakin laitteilla tarvitaan huomattavasti suurempia arvoja. Toinen tyypillinen herkkyysongelma on kursorin vapina napauttaessa, jota voi puolestaan koittaa kohentaa kasvattamalla parametreja HorizHysteresis ja VertHysteresis. Liian suuret arvot tekevät kursorin liikkeestä tahmeaa ja kulmikasta.

Napautus

Myös täppäyksenä tunnettu napautus on vähän makuasia: itse otan sen jatkuvien virheklikkausten takia yleensä pois päältä, jos pädissä on oikeatkin napit. Päälle ja pois napautuksen voi kytkeä TapButton-parametreilla: nolla tarkoittaa, ettei näpäytystä tunnisteta, ja nollasta poikkeava arvo kertoo, miksi hiiren napiksi yhden tai useamman sormen napautus tulkitaan (1…3).

Skrollaus

Joissakin pädeissä on oikeassa reunassa kaistale, jota voi käyttää vierityspalkkina, mutta alue ei ole käsittääkseni mitenkään poikkeuksellinen, vaan vieritys tapahtuu puhtaasti ajurien tasolla. Nykyään suositun kahdella sormella vierityksen saa päälle parametrilla VertTwoFingerScroll ja vaakasuuntaan on vastaavasti Horiz-alkuisia parametreja. Nopeutta säätää VertScrollDelta, joka tosin toimii hieman epäintuitiivisesti: mitä suurempi arvo, sitä hitaampi vieritys. Applen popularisoiman “luonnollisen” eli täysin väärään suuntaan liikkuvan vierityksen saa aikaan käyttämällä deltassa miinusmerkkisiä numeroita.

Muuta

Kun käytössä on ulkoinen hiiri, voi olla kätevää laittaa päälle TouchPadOff, joka toimii taas hiukan omalla logiikallaan – miksei parametri voinut olla TouchPadOn? Näin pädiä ei tule sohittua vahingossa esimerkiksi kirjoittaessa. Uudemmat kosketuslevyt osaavat myös tunnistaa tilanteen, jossa kämmen on kirjoittaessa pädillä (PalmDetect ja sen lisäasetukset). Kaikenlaista muutakin eleentunnistuksesta softanappeihin löytyy, mutta itse en ole kokenut niitä tarpeellisiksi, kun omistamissani läppäreissä on vielä aidot hiirennapit jäljellä.

Asetuksia voi kokeilla nopeasti Synclientillä tyyliin “synclient FingerLow=10 FingerHigh=15”, mutta näin annetut arvot eivät tietenkään säästy uudelleenkäynnistyksessä. Skriptejä voisi viritellä monenlaisiin paikkoihin riippuen työpöytäympäristöstä ja distrosta, mutta yleisesti toimiva ratkaisu on luoda tiedosto /etc/X11/xorg.conf.d/70-synaptics.conf, johon voi laittaa asetuksia pysyvämmin seuraavaan tyyliin:

Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"

    Option "FingerLow" "12"
    Option "FingerHigh" "16"
    Option "HorizHysteresis" "20"
    Option "VertHysteresis" "20"
    Option "VertScrollDelta" "80"
EndSection

Add comment November 22nd, 2016

Minttiä C710-Chromebookiin

Croutonin kanssa oli tullut askarreltua jo aiemmin, mutta sen rajat alkoivat tulla ikävästi vastaan: etenkin videotoisto tökki selittämättömästi, minkä lisäksi chroot-vankilat tuntuivat hiljalleen lahoavan käsiin sieltä täältä. Niin Croutonin kuin Chrome OS:nkin tulevaisuus on suuri kysymysmerkki, joten oli aika kokeilla vaihtoehtoja, jotta Acer C710:ni palvelisi vielä tulevaisuudessakin.

Eräs vaihtoehto olisi ollut Chrubuntu, mutta kun senkään jatkosta ei ole varmuutta, päädyin lopulta dramaattisempaan ratkaisuun, SeaBIOSiin, joka korvaa normaalin firmiksen pelkistetyllä BIOS-versiolla, jonka kautta voi buutata normaaleja käyttöjärjestelmiä. Seuraavaksi ulkoiseen USB-asemaan 64-bittisen Mint/MATE 18:n DVD ja normaali asennus käyntiin. Hiiripädi ei toiminut asennuksen aikana, mutta ulkoisella hiirellä sekin este voitettiin.

Toimii suorilta

  • WLAN, Ethernet
  • 3D- ja videokiihdytys, ulkoinen näyttö (ainakin VGA-liittimellä)
  • Webbikamera
  • Kortinlukija
  • Äänet ml. kuulokeliitäntä
  • Bluetooth
  • Akun varaus- ja prosessorin lämpötila-anturit

Toimii säätämällä

  • Hiiripädi: jostain syystä Mint estää oletuksena tarvittavan moduulin (i2c_i801) lataamisen. Rivi pois paikasta /etc/modprobe.d/blacklist.conf ja johan toimii. Asetukset ovat vakiona hieman huonot, mutta ohjeita kohentamiseen löytyy. Päivitän postausta, jos jaksan ruuvata synclientin asetuksia enemmän.
  • Äänensäätönapit: Fn ei ilmeisesti toimi millään viilaamisella, mutta äänensäädön voi vaihtaa normaaleihin F-näppäimiin paikasta Preferences – Keyboard shortcuts.
  • Sama juttu kirkkaussäädön kanssa. Ensimmäinen ratkaisu on asentaa alapalkkiin kirkkausappletti. Asentamalla xbacklightin voi yo. paikasta lisätä F6/F7:lle komennot “xbacklight -dec 10” ja “xbacklight -inc 10”.

Ei toimi

  • Lepotila: voisi ehkä olla mahdollista saada toimimaan isolla viilaamisella, mutta tein nyt mieluummin laiskasti niin, että kannen sulkiessa kone menee kiinni (Preferences – Power management).
  • Fn-nappi: tähän ei löytynyt oikein googlaamallakaan mitään, joten F-napeille ei saane tuplatoimintoja käyttöön. Eniten harmittaa F10:n menetys äänenvoimakkuuden säätöön, koska sitä tarvitaan emulaattoreissa.
  • ACPI: jos olen asian oikein ymmärtänyt, SeaBIOS ei tätä tue, joten nämä hienoudet jäävät kokematta. Kokeilin joitakin buuttiparametreja, mutta acpi_available ei näytä mitään.

Meni suunnilleen kuten odotinkin, eli suurin osa laitteistosta toimii suorilta, kun taas osa vaatii virittelyä. Sleepin puuttuminen on kenties ikävin juttu, kun on kyse mukaan napattavasta pikkukoneesta – toisaalta vanhahko 24-gigainen SSD:kin buuttaa virtanapista puolessa minuutissa, joten mitään massiivista odottelua ei tarvitse sietää. Hiiripädin asetuksia pitäisi jaksaa vielä viilata sujuvuuden parantamiseksi, vaikka ihan riittävän hyvin se toimii jo nytkin.

Pienten kompurointien vastapainoksi saa paljon hyvääkin: videotoisto (jopa fullhd-h264) tai äänet eivät töki, VirtualBox toimii, muistia ja suoritinaikaa ei huku Chrome OS:lle, käytössä on täysi paletti kerneliajureita, levy on selkeästi osioitu, USB-levyillä olevien tiedostojen kellonajat eivät sekoile, päivitykset tulevat kootusti, ja asiat ovat ylipäänsä varsin vapaasti konfiguroitavissa, siinä missä Chrome OS piilotti juttuja alleen. Uskon ja toivon myös, että käyttis ei lahoa samalla tavoilla yllättäen kuin Croutonin chrooteilla on tapana.

Filosofisesti ajatellen kone on nyt pitkälti menettänyt ominaispiirteensä ja on kuin mikä hyvänsä pikkuläppäri, johon on asennettu Linux. Sikäli paljon tässä oli tekemistä ja lopputulos vielä puolinainen, että sujuvinta käyttökokemusta halajavan ei kannata Chrome OS:stä luopua. Jättänen koneen itse kuitenkin toistaiseksi puhtaasti Linuxille, kun se näinkin hyvin toimii, eikä Chromen puolella toisaalta ole yhtään ohjelmaa, jota jäisin kaipaamaan.

Siinä se nyt on ihan todistettavasti.

Siinä se nyt on ihan todistettavasti.

edit: käyttämällä Chrome OS:n pädiajuria tämän mukaisesti saa satunnaiset hyppimiset ja harhaklikkailut kuriin. Asetuksia olisi hurjasti, mutta taidan jättää suhteellisen ok toimiville oletuksille, kun kone ei missään varsinaisessa tehokäytössä ole.

Add comment September 17th, 2016

Pixel Polizei is out

A project I’ve been working on for the last few weeks is now out: Pixel Polizei is a helper tool for the retro artist. The purpose is to let the “graphician” draw using whatever software they happen to like, check/force color clashes and finally save the outcome in native formats that can be viewed using emulators or the real deal. So far there is support for these machines and screen modes:

  • Amstrad CPC modes 0 and 1 with or without overscan
  • C-64 hires and multicolor
  • MSX screen 2
  • Oric hires
  • Plus/4 hires and multicolor
  • ZX Spectrum

More formats and platforms will appear when I find the time and motivation again. As usual, the tool should work on Lin/Mac/Win as long as Java 7 or newer is installed. Open source, too.

ppolizei-plus4

Add comment May 17th, 2016

PETSCII editors – design thoughts

After more than two years of improving and honing my own project, and checking the competition I got the urge to share some of my thoughts on what makes or breaks a PETSCII editor. A lot of this stuff is actually pretty self-evident in the end, but it has taken hours and hours to figure it out. Bear with me 🙂

Not pixels

When comparing a PETSCII editor to a generic paint program there are plenty of similarities, but also notable differences. Instead of tens of thousands of individual pixels we’re dealing with a relatively low-resolution grid consisting of predefined symbols. On the one hand it is easier to deal with text, since tools such as lines, ellipses and curves are rather useless, but on the other hand there is a constant need to effectively choose and alternate between the available symbols, which requires different kind of thinking altogether. In other words, adopting tried and tested methods from paint programs alone will not lead to optimal outcome.

Among the most powerful features of PETSCII (the editor) are smart rotation and flipping of a selected area which take into account the form of the character. I take no credit for these, as it was Tero who came up with the idea in the first place and wrote the remapping tables. Not every character can be rotated or flipped, but even so you’ll save a lot of time when working with symmetric forms. See the following image for an example of how “smart” flipping works as opposed to simply moving the characters:

flippi

Typing vs. drawing

In essence there are two main methods to get characters on the screen. The traditional way, typing, was initially the only possible option and is still heavily present in modern-day editors (for example AAE). A mouse is something of a rarity on C-64s and graphical symbols can be conveniently found on the keys, so on a real machine typing makes all sense – but a lot less so on your PC or Mac which has a different keyboard to begin with.

I’ve included a half-assed typing mode in PETSCII, mostly for the sake of actually writing text, even though all the symbols can be typed too if it’s really necessary. In any case, drawing with a mouse was the preferred metaphor right from the beginning. There are pros and cons to both, but using a mouse definitely makes it quicker to sketch forms in the spirit of direct manipulation. A little but important detail is to show the character before it is actually placed: otherwise you end up constantly undoing the operation.

Character selection

When drawing, a great deal of time is spent on selecting the next character. The first thing to do was to reorganize the otherwise messy character set to group related symbols together (thanks go to Tero again). Jambonbill went even further and repeated the same characters multiple times to create visually continuous groups.

char-charts

A well-organized character selector is a good start, but much more can be done to facilitate an efficient workflow. For example in PETSCII the aforementioned rotate and flip operations work with individual characters as well: press a single key and get the next corner for a window or a box. In the same lines I came up with “smart sets”, predefined sets that you can walk through with a keypress. Another little bit that arose from a real need was to let the user quickly shift stick characters (used for various lines) right/left/up/down.

As a piece of PETSCII art is drawn, you typically start accumulating useful characters and their combinations in the image itself. Instead of always going for the selector – which in Playscii even occludes part of the canvas – it makes sense to quickly pick a character from the surroundings.

Grid

You can get away without a grid if the images are comparably small, but all in all a well-working grid can be of great benefit when selecting regions and aligning symbols with each other. After at least three complete rewrites of the drawing code I’ve eventually come up with the following findings:

  • Don’t make the grid intrusive (thick, contrasty etc.)
  • No single color works for the grid alone. Instead, darken light colors and lighten dark colors to keep it harmonious.
  • It’s useful to have a quick on/off toggle

Below a few real-life examples of how the grid looks like in different editors.

gridit

File formats

The file formats supported by an editor tend to reveal its intended use. Some editors are clearly geared toward actual machines, stick to their limitations and facilitate easy exporting to formats like .prg, which can be run on real hardware. At the other end of the spectrum you might get only PNG files or GIF animations out for easy distribution on the web.

I’ve been balancing between the two extremes myself: initially the idea was to support software development and participate in demoscene competitions. However, it soon became evident that many people needed and wanted to distribute their works online for easy viewing, so I had to give in and add a PNG exporter. Supporting multiple exporters for multiple machines obviously means plenty of error-prone extra work.

Automatically converting existing images to PETSCII is a different discussion altogether. Having said that, many users would welcome such a feature for, say, converting their self-portrait into retro character art. In addition, an artist can benefit from a reference image, as some of them prefer sketching on paper first before firing up the actual editor.

Animation and other fancy features

Creating proper support for animation is probably as big a task as all the others combined. As of now there are animation features in multiple editors, but none of them really go beyond simple copy/paste and playback of the frames. Think of a proper video or animation editor to realize how many possible features there could be.

Undo and redo aren’t exactly “fancy” features from a user perspective, but it takes some effort to include them in your editor. It’s definitely a good idea to implement them early on, as adding them as an afterthought might prove painful – speaking from experience 🙂 There are more and less sophisticated ways to go about undo, but as we’re dealing with quite little data it’s not all that bad to just save the buffers between operations for undoing or repeating the steps. Another welcome safety network comes in the form of automated backups.

There are a couple of editors that support layers, approximately in the lines of your familiar photo editing software. I can definitely see some uses for them, for example for separating the background from foreground figures. Then again, to fully support layers requires considerable effort, and they aren’t quite as useful as in photo editing, as you can’t really have things like translucency or color manipulation.

Accessibility

While some users are after a genuine user experience – tapping away on a real C-64 – most seem to welcome the ease of cross-development. Supporting the three main desktop platforms (plus their different flavors) is tedious at best, and thus some of the editors run on Windows only. Being a Mac/Linux user myself this was, of course, out of the question, but luckily Processing lets you export multiplatform applications with little extra effort. On the downside, Java is required on the target machine, which will turn off some possible users (and rightfully so).

As I see it, the best bet these days would be to develop for the web. In spite of the possible troubles with browser compatibility, web applications tend to be multiplatform by nature. In addition, you don’t need to go through the trouble of installing anything on the local computer. If I were to start from scratch, I’d probably take this route. As of now there are two online editors already, even if neither of them is quite complete yet (see my previous post).

Another angle to accessibility follows from the fact that people use laptops and tablets with a crammed keyboard. Therefore, relying on numpad or function keys beyond F10 is obviously out. Likewise, touch pads (esp. Apple ones) might not have more than one or two mouse buttons available, which requires some thought. Even more so for touch screens, which again introduce a new set of challenges.

Documentation

I can wholeheartedly relate to programmers that want to spend their free time on interesting coding problems instead of writing documentation. Even if it’s not exactly fun, there is a need for at least some product support: be it a manual, online help or a website. A few nice example works done with the editor definitely don’t hurt, as they show what’s possible and spark user interest.

Conclusion

Cross-development tools for PETSCII are a surprisingly new phenomenon. As far as I know, they’ve been around for not much more than five years, after which things have really started picking up speed. The threshold of starting to do character art has probably never been lower, and new authors are popping up every now and then.

All in all, the challenge of programming a PETSCII editor is twofold: there’s the tech and then there are the users. It’s not hard to put together basic minimum functionality, but going beyond that has turned out so laborious that most projects have been abandoned shortly after their initial release. PETSCII too would require quite an overhaul by now to accommodate any new major features – feature requests are, of course, neverending.

Implementing new modes, tools and so on is one thing, but thinking about the workflow and making the features useful is another. If you’re not much of an artist yourself, it’s at least good to have one in the loop: user feedback or even going so far as to observe someone’s work over their shoulder provide valuable insight and motivation. Ok ok, that was the design teacher in me speaking 🙂

2 comments April 6th, 2016

PETSCII editors: an overview

I’ve been rather actively involved with PETSCII art for the last couple of years, coding, drawing and even conducting a bit of research. As PETSCII is kinda fashionable now, and many people would like to experiment with it, here’s a little overview of the available editors and their pros and cons. The list aims to be complete, so if there’s anything missing, let me know. Let’s start with native tools and then move on to cross-development.

It’s a fine line, but I’ve decidedly excluded various text editors that could be used for character graphics as well.

Digital Paint 4.0 (C-64, link)

Probably ok for its time – can’t quite pinpoint when exactly it was released. In addition to the original version coded by Aaron Hightower there are various hacks by sceners who added missing features. In addition to typing, you can paint filled boxes and edit colors.

digitalpaint

TBoard-Painter 1.1 Pro (C-64, link)

Another oldie, this time by Tao/Triad. The most notable extra feature is the 1/4 char pseudographics drawing mode. The image can be larger than the screen size, which together with the name suggests it was meant for BBS graphics. As a nice little touch the x/y location display uses hex numbers 🙂

tboard-painter

Tyronpaint 2.1 (C-64, link)

Not much new to say about this: you can type text, change the color or draw blocky 1/4 dots. The images can be higher than 25 lines. Created by Lynchbit/Alpha Flight in 1996, this improved version is from 2006.

tyronpaint

Kaleidoscope 4.0 (C-64, link)

Very simple, but at the same time easily comprehensible editor by BroBryce64 all the way from 1989. Not many features there, but you can type chars and change colors. A curious extra is the “rainbow mode” which cycles the colors after each character.

kaleidoscope

PETSCII Paint 0.5 (C-64, link)

A rudimentary tool by 0xDB from 2011. The basics do work: you can select characters, change colors and save the outcome, but even simple things tend to be on the tedious side.

petsciipaint

Petscii Editor 4.6 (C-64, link)

FieserWolf’s editor is undoubtedly the most popular one when it comes to programs running on real hardware. As the version number suggests, there have been plenty of iterations and the workflow has been improved a lot since the initial releases. Once you get used to the UI, there’s useful functionality such as copy/paste, recoloring and multiple pages available. Several notable works have been produced with this editor.

petsciieditor1

Online PETSCII Editor (online, link)

A web-based solution by Krissz from 2013. I like the idea that you can draw on a normal browser without installing any software or digging the old warhorse from the closet, but this particular project seems to have been abandoned. You can both draw and type, and the character selector is well though out. On the other hand, there is little functionality to support advanced editing.

petsciieditor2

PET Shop Pro (online, link)

As of now there’s very little documentation on this editor by Jambonbill, as it is still work in progress and not officially released. Nevertheless, quite a promising online tool which lets you even do animations. Originally based on Krissz’s editor (see above), but was mostly rewritten after that. The character selector is well designed, you can edit images of various sizes plus export them to different formats, and even script the editor. There are still some bugs around, which will hopefully be ironed out at some point.

jambonbill

CBM .prg Studio (Windows, link)

Arthur Jordison’s CBM .prg Studio is a complete development environment that lets you create software for the Commodore 8-bits. One of its parts is the screen editor, which is actually quite usable for artistic endeavours too. Largely served as the source of inspiration for the editor below.

cbmprgstudio

APE (Windows, link)

APE (Another Petscii Editor) by MrXaliasH from 2013 is Windows-only, but does run fine under Wine as well. The basic functionality (drawing, color selection, copy/paste and even undo) is there, but it seems the project was quickly dropped after its initial release.

ape

C64 AAE (Windows, link)

C64 ASCII Art Editor by RADSoft hails from Poland. Windows-only, but runs somewhat ok under Wine except the color editor. Apparently the development ceased in 2012, but in spite of that there are some unique features – most notably layers, which were a firstie in the scene. The animation features are also among the most advanced. Drawing happens by writing, but unfortunately the key mapping doesn’t suit all keyboards. Furthermore, keyboard shortcuts require quite heavy juggling with various ctrl/shift/alt combinations.

aae

EDSCII and Playscii (multiplatform, link)

EDSCII by JP “Vectorpoem” LeBreton was one of the first editors I tried in 2013. Later on its development halted and Vectorpoem created a new tool called Playscii. Both versions focus on PETSCII-like retro graphics instead of sticking to the exact capabilities of the C-64. Still under development, Playscii already features plenty of functionality such as different character sets, layers, animation frames and smooth zoom, plus of course the standard editing tools. There is also something called “game mode”, which I didn’t quite understand at first sight, though.

playscii

PETSCII (multiplatform, link)

Do not expect me to be very objective with this 🙂 The project, initially coined by me and Dr. TerrorZ, started in 2013 and has received occasional updates ever since. In addition to the standard stuff there’s rudimentary support for animation and other machines than just the C-64 (VIC-20, PET and Plus/4). One recognized problem is that because of Processing, the program runs on Java, which spells trouble these days. The GUI is undeniably “no-nonsense” with most functions hidden behind single-key shortcuts.

petscii1

In conclusion, there’s already quite a variety of tools available these days, and some are surely still missing from the list – not everyone has made their software public in the first place. At one end of the spectrum there are hardcore editors running on genuine hardware, and at the other retro art oriented tools aimed at recreating the old look with less regard for authenticity (at times called fakescii). Pick your poison!

edit: More additions, thanks to Goto80 for the tips!

edit2: More details on Pet Shop Pro received from Jambonbill himself.

4 comments March 22nd, 2016

Next Posts Previous Posts


Kommenttien virta

Aiheet