Emulatorer er et kjent konsept for de fleste med interesse for dataspill. Virtuelle maskiner som gjenskaper maskinvarearkitektur digitalt, og lar brukeren kjøre et program på annen maskinvare enn det originalt var laget for å kjøre på. En fantasikonsoll er en emulator for en fiktiv maskinvare som har sitt opphav fra PICO-8, utviklet av Joseph White.
Joseph White (@zep) driver Lexaloffle Games Ltd. og har utviklet spill, programvare og digitale verktøy siden tidlig 90-tallet. Opprinnelig fra New Zealand, men bosatt i Japan siden 2008. I 2012 åpnet han Pico Pico Cafe sammen med konen Natsuko. Kafeen er et felles kontor for paret, i tillegg til å fungere som en sosial møteplass der Picotachi arrangeres månedlig. Et arrangement der spilldesignere, utviklere, musikkskapere og andre som driver kreativt arbeid kan møtes for å sosialisere og presentere prosjekter de jobber med i show-and-tell format. Kafeen hentet navnet fra det japanske uttrykket pico-pico som brukes for å betegne retrospillestetikk.

Det var to av Josephs tidligere prosjekter som ga rot til idéen om fantasikonsoll-konseptet og ledet til utviklingen av PICO-8. Det første var LEX500 fra 2004, en BASIC interpreter med 240x240 piksler og 16 farger. LEX500 hentet navnet fra Amiga 500, men hadde egentlig kanskje mer likhet på den klassiske datamaskinen BBC Micro. Det andre prosjektet var Voxatron fra 2011. En voxelbasert 3D spillmotor som lar brukeren lage enkle spill. Systemet har oppløsning på 128x128x64 voxler og støtte for å kunne kjøres på holografiske skjermer. Prosjektet beveget seg etter hvert i retning mot å inkludere egenskaper fra fysiske konsoller, slik som kassetter.
I 2012 tok han med seg det han hadde lært fra å jobbe med Voxatron og fortsatte utvikling av LEX500 til det som skulle bli PICO-8. Han omfavnet nå ideen om å prøve å skape noe digitalt som føles som et ekte fysisk produkt. Han ønsket å skape et koselig digitalt rom egnet kreativt arbeid, det han kaller cosy design space
, inspirert av å jobbe med datamaskiner som Apple IIe og Commodore 64. Målet med PICO-8 var å skape et minimalt selvstendig økosystem for utvikling av spill og grafiske programmer, med alle verktøy for programmering, skaping av 2D grafikk, lyd og musikk inkludert i en pakke. I tillegg var det viktig at prosjektet hadde en sterk identitet, og ga følelsen av å tre inn i en unik verden.


Grunnlaget for å gå for en minimal løsning på de tilgjengelige verktøyene var for å være en motkraft til valgets paradoks. Å arbeide med en større spillmotor slik som f.eks. Unity eller Unreal Engine tilbyr nær uendelig mange muligheter for en spillutvikler, men de mange mulighetene for hvilken retning man skal gå i utviklingen kan være overveldende og handlingslammende. På den måten kan det å jobbe med verktøy som har begrensede rammer ofte føre til at det blir lettere å fokusere på å uttrykke seg kreativt. I PICO-8 jobber man innenfor mange begrensninger, men dette kan være frigjørende. En slipper å ta stilling en rekke kompliserte og tidskrevende problemstillinger, og man kan sette rett i gang med et prosjekt.
PICO-8 har enkle systemkrav og kan kjøres på Windows, Mac, Linux, Raspberry Pi eller direkte i en nettleser. I tillegg har systemet blitt portert til en rekke håndholdte konsoller, slik som eksempelvis Miyoo Mini Plus. Maskinens tekniske spesifikasjoner er en 128x128 skjerm med støtte for 16 farger, en 4-kanalers synth for avspilling av lydeffekter og musikk, CPU-hastighet på 4 millioner instruksjoner per sekund, og 32KB lagringsplass tilgjengelig per kassett.
En PICO-8 kassett lagres som en 160x205 png-bildefil med skjermbilde og kasett-tittel. PNG-filen har fire fargekanaler: alfa, rød, grønn og blå. Hver byte PICO-8 kassettdata fordeles over de fire kanalene, med 2 bits lagret i hver kanal. Dette gir mulighet for å lagre 32,800 bytes i hver kassett, og gjør det enkelt å dele kassetter med andre da all kassettdata ligger skjult i fargekanalene i bildefilen.




The cartridge size was basically chosen so that you cannot make big things. I think it is really liberating to make small things and to feel OK to make small things. It forces you to think more about design than manufacturing a lot of content and to focus on what's import to you, and throw away what's not important.
- Joseph White
Når man starter PICO-8 blir man presentert med en oppstartsekvens, etterfulgt av fantasikonsollens terminal. Herfra kan man videre få tilgang til de innebygde utviklingsverktøyene for koderedigering, sprite-tegning, tegning av kart, lydredigering og musikkredigering. For utvikling av programmer til systemet brukes en begrenset versjon av LUA med innebygd minimal API. Intensjonen bak den minimale APIen er å unngå black-boxing, og at om man ønsker å ta bruk for eksempel en sorteringsalgoritme må denne programmeres selv. Likt eldre maskiner og operativsystemer så har brukeren direkte tilgang til maskinens minne, og data i gitte minneadresser kan manipuleres om man ønsker å gjøre direkte endringer i fargene på pikslene på skjermen.
For opplæring i bruk av PICO-8 er det en rekke ressurser tilgjengelig. Et naturlig sted å starte er gjerne med brukermanualen og Nerdy Teachers Guide to PICO-8. Videre derfra kan det anbefales å lese gjennom fanzinene PICO-8 Fanzine og Game Development with PICO-8, eller eventuelt ta turen til YouTube, der kanaler som SpaceCat, MBoffin og Lazy Devs tilbyr undervisningsvideoer.
En spesiell versjon av maskinen, PICO-8 Education Edition, er tilgjengelig gratis gjennom nettleseren. Dette pluss andre faktorer som at det svært nybegynnervennlige høynivåspråket LUA brukes for å skrive programmer, samt at den komplette pakken verktøy inkludert i PICO-8 gjør at man ikke har behov for tidligere erfaring i annen programvare for å kunne lage grafikk eller lyd gjør PICO-8 ypperlig egnet som undervisningsverktøy i emner som introduksjon til programmering og algoritmer, samt design og utvikling av dataspill.


Over tid har et robust PICO-8 nettsamfunn formet seg på Lexaloffle BBS (Bulletin Board System) nettforumet, i tillegg til på den offisielle Discord serveren. Det oppfordres til deling av det man har skapt og kassett-konseptet har ført til et miljø med deling av åpen kildekode. Det er nemlig mulig for alle å lese og redigere kildekode på alle kassetter som deles. PICO-8 kommer også innebygd med en kassettutforsker som kan kjøres med kommandoen "splore" for å oppdage nye kassetter.
Programmer som lages til PICO-8 kan gjerne ofte plasseres i en av tre kategorier. Den første kategorien er såkalte #tweetcarts eller også kalt #postcarts. Små visuelle programmer som kan få plass i en enkel tweet, altså kode på maksimum 280 karakterer i lengde. Eksempler finnes blant annet på nettsidene Lexaloffle Superblog og Museum of Tweetcart History. Den andre kategorien er det som kalles demoer, med demo scene røtter som strekker seg tilbake til 80 tallet. Dette er en datagrafisk kunstform, gjerne på noen minutter i lengde som kombinerer elektronisk musikk og visuelle effekter skrevet i LUA.
av The One True Garbo
av Voxeledphoton
Den siste kategorien PICO-8 programmer er dataspill. Hardcore platformspillet Celeste er kanskje det mest kjente PICO-8 programmet. Laget på 4 dager under en gamejam, og senere videreutviklet til et kritikerrost selvstendig spill. Den tradisjonelle hexgrid-baserte rogueliken Into Ruins tilbyr en klassisk rollespill opplevelse der du reiser dypere og dypere nedover i ruinene på jakt etter den legendariske skatten Yendors Vinger. Ellers har man det teknisk imponerende gåtespillet Dark Tomb. Det medative gåtespillet Shape of Mind. Metroidvaniaen X-Zero. Den gøyale minigame-samlingen PICOWARE. Og en hel mengde andre populære spill, slik som Embrace, Birds With Guns, Oblivion Eve, Mimic, To A Starling, Solitomb, Mistigri og Hug Arena.
En populær type PICO-8 spill er såkalte demakes. Dette er forenklede versjoner av eksisterende dataspill. Her er noen av de mest populære: POOM (Doom), PICOHOT (SUPERHOT), FUZ (FEZ), Low Mem Sky (No Man's Sky), Low Knight (Hollow Knight) og Terra (Terraria).
PICO-8 har vært svært populær i gamejams, der man som enkeltperson eller gruppe lager dataspill innen gitte rammer innenfor et gitt tidsintervall. Det er også egne gamejams bare for PICO-8, slik som PICO-1K Jam.
I tillegg til spill er det også laget noen generelle dataprogrammer for PICO-8. Wobblepaint er et eksempel på et tegneprogram. Og picoCAD er et 3D-grafikkprogram for lowpoly-modellering.


Fantasikonsoll-sjangeren har siden utgivelsen av PICO-8 vokst i popularitet og blitt et fasjonabelt fenomen. Et populær PICO-8 alternativ er LIKO-12 som er bygget på rammeverket LÖVE og skrevet i LUA med åpen kildekode, i motsetning til PICO-8 som har lukket kildekode. Rami Sabbagh står bak prosjektet, og i 2016 skrev han følgende i en post på LÖVE forumet Why did I develop this? Because I wanted to buy PICO-8 but that's not possible without creditcards (no internet shopping in syria) So I made my own PICO-8 which is more fun than buying it. Fun Fact: I programmed 50% of this project using my phone, till now I switch between the pc and the mobile.
En annen fantasikonsoll er TIC-80, med åpen kildekode skrevet i C. Systemet er svært likt PICO-8, men skiller seg i at det blant annet har høyere skjermoppløsning, mer lagringsplass og støtte for flere programmeringsspråk.


UFO 50 er en hyllest til dataspillets tidlige historie som presenterer en ny vri på fantasikonsoll-konseptet. Spillet tilbyr en samling 50 spill fra det fiktive utviklingsselskapet UFO Soft, utgitt mellom 1982 og 1989 på de fiktive konsollene LX-I, LX-II og LX-III.
Og sist men ikke minst har vi Joseph Whites nyeste prosjekt Picotron, en videreutvikling av PICO-8 og fantasikonsoll-konseptet til det han kaller en "Fantasy Workstation". Picotron er en virtuell maskin som kjører et eget operativsystem og kommer inkludert med en rekke verktøy for a lage spill og programmer. Systemet har en skjermstørrelse på 480x270 med 64 farger, en egen PFX6416 16-kanals synthesizer lydprosessor, CPU hastighet på 8 millioner instruksjoner per sekund gjennom en LUA virtuell maskin, og egne kassetter med 256KB lagringsplass, men har også støtte for å kjøre PICO-8 kassetter. Prosjektet er i skrivende stund i en tidlig fase i utviklingen, men Alpha versjonen av programvaren er åpen for nedlasting hvis man kjøper Picotron gjennom den offisielle nettsiden.


Hvor veien går videre for fantasikonsoller er uvisst, men det kan jo tenkes at utviklingen etterhvert vil gå i retning mot konsoller med tredimensjonal grafikk. Og kanskje vil vi se fantasisystemer som etterligner historiske 3D konsoller i tiden fremover.
Så hva er egentlig en fantasikonsoll og hva skal til for å skape noe digitalt som føles ekte? Ifølge Joseph White er riktig språkbruk en viktig komponent. Å bruke ord som kassett styrker følelsen av at enkle bildefiler tilhører et fysisk system. Videre sier han at å skape sterk identitet, å ha tydelige tekniske spesifikasjoner, en unik presentasjon, et hyggelig og engasjert nettsamfunn og en egen designkultur er nøkkelkomponenter for at fantasikonsoll-konseptet skal fungere.
Og hva er grunnen til fantasikonsollens popularitet? En av grunnene er kanskje at moderne digitale systemer har stadig flere lag med kompleksitet og abstraksjon som skiller programmereren fra maskinvaren. Dette kan skape en følelse av mystikk og fremmedgjøring. Med enklere maskinvare er det mulig for programmereren å ha et nærere forhold til maskinen, med større forståelse for hva som foregår på lavere nivå. I tillegg kan det tenkes at en digital verden der kunstig intelligens stadig blir mer dominerende kanskje kan føles som et lite menneskelig digitalt rom for programmereren å ta del i. Og en kan tenkte at dette har bidratt til å dyrke et ønske for mange å ha et koselig digitalt rom å kunne jobbe i, knyttet til et vennlig, inkluderende og lidenskapelig nettsamfunn.
Kilder:
PRACTICE 2018: Joseph White (YouTube)
The world of PICO-8: A video essay (YouTube)
About Lexaloffle Games (Lexaloffle)
Pico Pico Cafe (Hjemmeside)
Tokyo’s Pico Pico Cafe: Where video games meet coffee (SoraNews24)
PICO-8 Fantasy Console (Lexaloffle)
P8FileFormat (PICO-8 Wiki)
PICO-8 for Educators (Lexaloffle)
Celeste (Lexaloffle BBS)
[LIKO-12 V1.0.0] An open-source fantasy computer made in LÖVE (LÖVE Forums)
TIC-80 (GitHub)
UFO 50 (Wikipedia)
Picotron (Lexaloffle)