Kiedy w 2017 roku narodził się pomysł „Grawitacji”, pierwszego w Polsce game jamu 8-bit, organizatorzy ze zdziwieniem zauważyli, że 1/3 zapisanych uczestników deklaruje tworzenie gier na konsolę PICO-8. Po krótkiej dyskusji zdecydowano się dopuścić tę platformę do jamu, choć PICO-8 nie jest ani maszyną 8-bitową, ani konsolą. Właściwie to konsola PICO-8… nie istnieje, ale taki drobiazg nie przeszkadza tysiącom osób na całym świecie tworzyć na nią gier.
Mówiąc najkrócej, PICO-8 to emulator konsoli, która nigdy nie istniała fizycznie. Joseph White, jej twórca, nazywa ją „fantasy console”, co można przetłumaczyć jako „fikcyjna konsola” („wirtualna” kojarzyłoby się błędnie z usługą Nintendo, za pośrednictwem której można uruchamiać stare gry na 3DS i Wii). Joseph wymyślił specyfikację techniczną zbliżoną do możliwości prawdziwych konsol i komputerów z lat osiemdziesiątych, po czym zakodował zarówno emulator, jak i komplet narzędzi umożliwiających tworzenie gier.
White jest mieszkającym w Tokio twórcą gier niezależnych i właścicielem studia Lexaloffle. Na pomysł „zbudowania” fikcyjnej konsoli z zestawem narzędzi wpadł w 2003, gdy na potrzeby swojego studia tworzył zintegrowany edytor do grafiki, sprite’ów, dźwięków oraz zapisywania kompletu danych w jednym pliku. Krótko potem rozpoczął prace nad swoją pierwszą fikcyjną konsolą LEX500, by następnie – w 2010 – stworzyć Voxatron, konsolę pozwalającą na robienie gier opartych na voxelach (trójwymiarowych pikselach). Ta platforma rozwijana jest obok PICO-8 do dziś, choć nie cieszy się tak wielką popularnością.
Fikcyjna, czyli jaka?
PICO-8 pod względem możliwości stoi okrakiem między maszynami 8- i 16-bitowymi z lat osiemdziesiątych. Rozdzielczość „ekranu” to jedynie 128×128 pikseli, co stawia konsolę niżej niż większość 8-bitowców, ale już paletą 16 kolorów wyświetlanych jednocześnie i swobodnie na ekranie nie pogardziłby żaden fan Atari 800, a 128 sprite’ów (ruchomych obiektów) to już pełen wypas dla każdego twórcy gier retro (NES z 1985 miał ich 64).
Pomysł kwadratowego pola gry wydaje się szalony w epoce monitorów panoramicznych, ale ta grafika nadaje PICO-8 bardzo nietypowy i rozpoznawalny feeling, różny od wszystkich maszyn retro. Oprawę muzyczno-dźwiękową zapewnia czterokanałowy generator, którego obsługa nie powinna sprawić kłopotu muzykowi tworzącemu na Amigę czy Atari ST.
Jedynym elementem, na który twórca PICO-8 nie nałożył praktycznie żadnych ograniczeń, jest procesor. Tu możemy poszaleć, dysponując mocą obliczeniową setki razy większą niż programiści tworzący gry 30 lat temu. Ograniczona jest „tylko” długość kodu, który maksymalnie może mieć około 8000 słów.
Mnie jednak najbardziej spodobał się pomysł „fikcyjnych kartridżów” z grami. Mają one pojemność do 32 kB (mieści się tam wszystko: kod, grafika, animacje, muzyka) i są dystrybuowane w postaci… plików PNG. Czyli ściągamy z internetu zwykły obrazek, przypominający szary kartridż NES z kolorową etykietą, a po wczytaniu go do konsoli mamy załadowaną grę. Wszystkie dane są przechowywane w metadanych pliku png.
Jak zacząć?
Jeśli chcesz jedynie pograć w gry na PICO-8, możesz to zrobić za darmo, w przeglądarce. Na stronie domowej projektu dostępne są setki kartridżów, wszystkie freeware. I jeśli lubisz gry retro, a dość siermiężny pixel art cię nie zraża, to idę o zakład, że po wejściu na stronę tylko na 5 minut po godzinie zrobisz sobie kawę i wrócisz do testowania kolejnych gier. Wiele z nich to świetne, arkadowe i przygodowe produkcje z wysokim współczynnikiem one-more-time. Gry w przeglądarce odpala się jednym kliknięciem, a obsługuje strzałkami i klawiszami Z i X.
Aby spróbować swoich sił w tworzeniu na PICO-8, musisz wydać 15 dolarów (to znacznie mniej niż dzisiejsza cena większości sprzętów retro) na konsolę z wbudowanym zestawem narzędzi. W komplecie dostajemy edytory: kodu, sprite’ów, map, dźwięków i muzyki. Oczywiście wszystkie te narzędzia działają w konsoli, czyli w rozdzielczości 128×128 w 16 kolorach! Szczególnie w przypadku edycji kodu może to być ekstremalne przeżycie dla osób wychowanych na Eclipsie czy Visual Studio, więc autor udostępnił możliwość kodowania w zewnętrznym edytorze i importu kodu. Z drugiej strony proces tworzenia jest też elementem obcowania z konsolą, więc może nie warto z tego rezygnować?
Skoro już jesteśmy przy kodzie, to na PICO-8 można programować wyłącznie w ograniczonej odmianie skryptowego języka Lua. Uwielbiam ten język i uważam to za świetny wybór. Jest elastyczny i niezmiernie przypomina mi stary dobry BASIC. Nie wymaga deklarowania zmiennych, a różne typy danych można mieszać nawet w ramach jednej tablicy. Lua jest też intuicyjny i łatwy w nauce, więc w zestawie z PICO-8 może być świetnym startem dla początkującego programisty.
Czy na PICO-8 można zrobić poważną grę? Zdecydowanie tak. Wprawdzie prawie wszystkie produkcje są darmowe (choć licencja tego nie narzuca), ale na przykład platformówka Celeste zadebiutowała najpierw na PICO-8, a niedawno została wydana w rozbudowanej wersji na Steam, XBOX i Switcha i cieszy się ogromnym powodzeniem.
PICO-8 można uruchomić w środowiskach Windows, Linux, Mac i Raspberry Pi, a gry również online przez HTML5. Były już jednak próby nadania fikcyjnej konsoli konkretnej, fizycznej postaci. Najbardziej znany jest projekt PocketCHIP – sprzedawana za $65 konstrukcja z ekranem 480×272, klawiaturą i wbudowanym PICO-8. Niestety, całość wygląda bardzo „homebrew”, a i jakość klawiatury nie rzuca na kolana. Joseph White odnosi się jednak do takich projektów bardzo ciepło, więc niewykluczone, że fani konsoli dostaną w przyszłości w swoje ręce porządny kawałek hardware’u, który będą mogli wpakować do kieszeni.
Po co to komu?
Taka była pierwsza moja myśl, gdy pobieżnie zapoznałem się z PICO-8. Jestem fanem 8-bitowego Atari, na które co roku powstają dziesiątki nowych gier. Podobnie jest na C64, ZX Spectrum, NES i chyba wszystkie inne platformy retro. Po co, pomyślałem, tworzyć nowy, fikcyjny sprzęt, gdy można zostać częścią demosceny i robić produkcje na fizycznie istniejące, kultowe maszyny? Zapytałem o to uczestników wspomnianego wcześniej game jamu i usłyszałem: bariera wejścia. I mieli rację. Byłem kiedyś świadkiem, jak Sos Sosowski próbował w ciągu godzinnej prezentacji nauczyć publikę kodowania w assemblerze na C64.
Miny uczestników bezcenne. Niestety, aby stworzyć sensowną produkcję na dowolny komputer czy konsolę retro, trzeba poznać specyfikację kilkunastu chipów, mapę pamięci, skompletować często niewygodne i egzotyczne narzędzia. No i wypadałoby znać assembler konkretnego mikroprocesora.
Tymczasem PICO-8 używa wysokopoziomowego języka skryptowego Lua, wszystkie narzędzia do tworzenia kodu, grafiki i muzyki ma wbudowane, a prostą grę średnio doświadczony programista może stworzyć w ciągu pierwszych kilku godzin, albo i szybciej. No dobra, ale skoro ma być łatwo i przyjemnie, to czemu nie wybrać GameMakera czy innego Unity i robić gry na PC, zamiast męczyć się z rozdzielczością 128×128?
Maciej „Mantis” Kozłowski, tworzący gry niezależne fan PICO-8, powiedział mi:
„Najbardziej podobają mi się w tej konsoli ograniczenia. Fakt, że są tak często napotykane, powoduje, że musisz być kreatywny przy tworzeniu”.
I tu tkwi chyba tajemnica sukcesu „fantasy console”. Demoscena zawsze skupiała się na przełamywaniu ograniczeń zarówno tych artystycznych, jak i tych technicznych. Joseph White, fan gier retro, doskonale o tym wiedział, projektując konsolę przyjazną twórcy, a jednocześnie bardzo go ograniczającą.
A gdyby ktoś doszedł do wniosku, że 32 kB pojemności kartridża na kod i dane to za dużo? Proszę bardzo, można się ograniczyć jeszcze mocniej. Na stronie PICO-8 Tweet Jam znajdziemy nieustający konkurs na dema PICO-8, których kod mieści się w 280 znakach. Niektóre produkcje to prawdziwe perełki.
Najbardziej podoba mi się w PICO-8 wyraźnie wyczuwalny duch gier niezależnych i demosceny. Pamiętam, że kiedy 25 lat temu po raz pierwszy włączyłem swoje Atari 65XE, przywitał mnie napis „READY” i mrugający kursor BASIC-a. I nie wierzę, że był choć jeden posiadacz tego komputera, który ograniczył się do grania i nie wpisał choć raz kilku linijek kodu w BASIC-u. Stare komputery zachęcały do tworzenia. PICO-8 również wita nas mrugającym kursorem i jednym naciśnięciem klawisza przenosi do narzędzi, które umożliwiają tworzenie swoich własnych gier lub modyfikowanie dowolnych innych (niemal wszystkie gry na PICO są dostępne z kodem źródłowym jako freeware). Jakże to odmienne od obecnych standardów konsolowych! Tam co chwila walą nas po oczach zakazy i ostrzeżenia: nie otwieraj, nie dekompiluj, nie przerabiaj, nie dociekaj. Najlepiej tylko płać i graj. Tu, w świecie PICO-8, komunikat mógłby brzmieć: „Twórz, baw się dobrze i dziel się z innymi”! I może właśnie dlatego nazywają ją „fantasy console”…
Artykuł ukazał się w Pixelu #38, którego nakład został już wyczerpany. Zapraszamy jednak do sklepu Pixela po inne wydania magazynu w druku oraz po cyfrowe wersje.