Każdy z nas jakoś zaczynał swoją przygodę z komputerami. Dla jednych były to współczesne PC-ty lub produkty z logiem nadgryzionego jabłka. Dla innych – nieco starszych – PC-ty starszej generacji, pracujące pod kontrolą Windowsa XP albo może nawet i DOS-a. Być może była to poczciwa Amiga, na którą wielu w czasach jej świetności spoglądało z pożądaniem i zazdrością wobec kolegów posiadających takie cudenko. Część z nas jednak, pierwsze kroki w cyfrowym świecie stawiała jeszcze z pomocą komputerów 8-bitowych. W Polsce spotykaliśmy głównie 3 przedstawicieli tego gatunku. Atari, Komodę (czyli Commodore 64) oraz ZX Spectrum. Z wypiekami na twarzy podłączaliśmy je do błyskającego kineskopem telewizora, wgrywaliśmy gry z kaset i przeżywaliśmy wspaniałe przygody w tętniącym pixelami świecie.
Z punktu widzenia dzisiejszego gracza gry z tamtego okresu można by pewnie określić jednym słowem – „tragedia”. Kilka pixeli na ekranie definiowało naszego bohatera, który podążał przez kolejne ekrany, lub komnaty – również reprezentowane przez małą grupkę kwadratowych plamek. Działała jednak wyobraźnia i pomimo bardzo wysokiego stopnia trudności, jaki serwowały ówczesne gry, dostarczały one wielu niezapomnianych do dzisiaj emocji.
8-bitowce zaopatrzone były również w pewną wspaniałą rzecz. Był nią interpreter języka BASIC. Pozwalał on na stawianie pierwszych nieśmiałych kroków w świecie programowania. Jakież ogromne wrażenie robiło odpalenie pierwszego, samodzielnie napisanego programu w basic-u. Oto my – stoimy niemal w tym samym rzędzie co autorzy gier, w które tak namiętnie grywamy. To oczywiście stwierdzenie mocno na wyrost, ale w głowie kilku- czy kilkunasto-latka trochę tak to wyglądało. Oto mamy moc, która pozwala nam zrobić z naszym komputerem niemalże wszystko.
BASIC był językiem prostym. Szybko można było zrozumieć co to jest zmienna, jak działają pętle i instrukcje warunkowe. Łatwo prosto i czytelnie. Żadnych obiektów, żadnych wzorców projektowych, żadnych skomplikowanych zasad. Żadnych maszyn wirtualnych, serwerów albo środowisk uruchomieniowych. Po włączeniu zasilania natychmiast pojawiał się wesoło mrugający kursor interpretera zachęcający do wprowadzania programu, który potem można było zapisać na kasecie lub dyskietce. Jaka to była radość – mój własny program na kasecie.
Później pojawiała się ochota na zrozumienie, jak to jest że gry wyświetlają grafikę, jak to jest że animowana postać na ekranie może być sterowana za pomocą klawiszy lub joysticka. Jak to jest, że w tle gra muzyka lub pojawiają się efekty dźwiękowe. Ciekawość prowadziła wprost do kodu źródłowego gier – a tam – zwykle czekał już Assembler. Programowanie w tamtym czasie było tak bardzo „bliskie metalu”. Grzebiąc w kodzie gier można było metodą prób i błędów osiągnąć całkiem ciekawe efekty. Trzymając w dłoni podręcznik opisujący assemblera zaś, przeżyć swoje pierwsze „aha … to tak to jest zrobione”.
W Polsce pojawiła się też prasa poświęcona mikrokomputerom. Niezapomniany Bajtek czy Mikroklan. Często pojawiały się tam listingi programów lub gier, które należało pieczołowicie wklepać i cieszyć się z działającego programu lub gry. Częściej jednak szmat czasu należało poświęcić na znalezienie błędu, który powstał podczas przepisywania kodu. Była to jednak nieodzowna część klimatu tamtych czasów.
Moja przygoda z komputerami zaczęła się właśnie od ZX Spectrum. Genialnego urządzenia wytwarzanego przez Sinclair Research w latach 80-tych. Małe gabaryty, 48kB pamięci, kolorowa grafika i wbudowany głośniczek. Kasety z grami przegrywało się od kolegów lub kupowało na straganach – piractwo nie było wtedy prawnie zabronione. I to właśnie Sinclair Basic był językiem, w którym napisałem pierwszy w życiu program.
Kilka dni temu – po wielu latach – odkopałem moje Spectrum+. Nadal działa w 100%. Odpaliłem pierwszą grę – i okazało się, że nadal jest tak samo fajna jak była 30 lat temu. Brakuje mi jednak skill-a. Palce już zapomniały jak trafić w odpowiednie klawisze, żeby Manic Minner nie zginął już na pierwszej planszy i nie pojawił się znienawidzony napis „Game over”. Kursor basic-owego interpretera nadal ochoczo mruga zachęcając do programowania. Czas się cofnął.
Gry i programy z 8-bitowców możemy oczywiście odpalić na emulatorach, które dają nam namiastkę zabawy z tamtych lat. Pojawiła się również moda na retro. Ostatnimi czasy mamy wysyp różnego rodzaju urządzen dla fanów old-schoolowego grania. Mamy NES-a mini, SNES-a mini, Playstation Classic i nawet C64 mini. Ja sam czekam z niecierpliwością na reedycję ZX Spectrum pod nazwą ZX Spectrum Next.
Fajnie też wrócić do czasów, kiedy programowanie było prostsze i dawało prawdziwą kontrolę nad sprzętem. Dzisiaj kod dla 8-bitowców możemy wygodnie przygotować na laptopie, odpalić w emulatorze, zdebuggować, postawić breakpointy. To wszystko było kiedyś niemal nieosiągalne. Kod należało najpierw bardzo dobrze przemyśleć, potem najlepiej zapisać na kartce i przeanalizować jeszcze raz a dopiero na koniec wprowadzić za pomocą klawiatury. Każdy bajt pamięci był na wagę złota. Każda linijka kodu musiała krótko i zwięźle realizować swoje zadanie. Dzisiaj działamy na dużo wyższym poziomie abstrakcji, ale kto wie, czy ówczesne metody programowania nie były jednak lepsze ?
Wracam do mojego Spectrum. Jednostajny dźwięk z magnetofonu obwieszcza, że kolejna gra się „wgrała”. Można zacząć zabawę :).
Tutaj ten post miał się skończyc. Ale dosłownie w momencie gdy pisałem tego posta pojawił się na Netflix-ie nowy odcinek Black Mirror – Bandersnatch osadzony w realiach gamedev-u dla ZX Spectrum. Jeszcze go nie oglądałem. Ciekawe, czy sprowokuje on przynajmniej część osób do wygrzebania ze strychu swojej starej maszynki albo chociaż odpalenia emulatora, by poczuć jak to było.
Nie jestem na bieżąco ze Spectrum, ale na Commodore 64 nie ma miesiąca bez nowej gry. I to nie takiej w Basic-u.
Na Spectrum jest to samo. Np. niedawno wydane Old Tower rozwala. Nawet na gumiaku scroll jest tak płynny, że aż trudno uwierzyć.
Ehhh.. nostalgia, cyklowanie ramek pod scrolle, zarwane noce przed deadlinem CP, cover art czy otwieranie przesyłek przez panie na poczcie (celem kasacji znaczków pocztowych).
Zawsze miło powspominać stare czasy 🙂
gwoli ścisłości Zx Spectrum był również w wersji 16 kB
To prawda, wersja podstawowa miała 16kB. Ten, z którym miałem jako pierwszym do czynienia był już wersją z 48kB. Później w domu pojawił się Spectrum+, który również miał 48kB.