Slavia 2 Deluxe od kuchni

Minimoog

Dzisiaj gry na C64 pisze się z wykorzystaniem wielu ułatwień, środowisk programistycznych, a nawet różnych języków i wydaje się to być już bardzo naturalne. Tymczasem czy da się dziś inaczej, trochę „po dawnemu”? Da się! Ad fontes – mawiali starożytni. Do źródeł! Tak mógłbym właśnie streścić proces programowania Slavii 2 Deluxe. Slavia 2 Deluxe, która zajęła w RK GameDev Compo 6. miejsce, napisana jest w 100% w poczciwym Basicu. Dziś to niemodne, ale przecież nikt nie zabrania używać tego języka! Jako że arkana assemblera dopiero się przede mną otwierają, z czegóż innego mógłbym korzystać, jak nie z Basica? Piszę w nim od wielu już lat i żebyście, drodzy Czytelnicy, w pełni zrozumieli istotę Slavii 2 Deluxe, przytoczę odrobinę ze swojej historii w tej dziedzinie.

Slavia 2 Deluxe jest ukoronowaniem pewnego etapu i pewnej serii. Pierwszą grą, którą od zera napisałem w Basicu, gdy dopiero wchodziłem w jego świat, jest Slavia. Tekstówka z pogranicza RPG i strategii, osadzona w realiach prasłowiańskich, była bardzo prosta i – powiedzmy sobie szczerze – niedoskonała. Czego jednak wymagać od początkującego? Mimo to pochłonęła sporo mojego czasu i naprawdę wpoiła mi Basic do głowy. Zapoczątkowała też mini-serię gier opierających się o podobny koncept fabularny – wojnę w czasach dawnych Słowian. Niedługo bowiem po napisaniu Slavii rozpocząłem prace nad kolejną strategiczną tekstówką – Slavią 2.

Slavia 2, a tym samym i Slavia 2 Deluxe, ma swój początek w lipcu 2015. Wieczorami i właściwie też nocami pisałem pierwsze linie zupełnie nowego kodu. Po przeszło pół roku, tj. w styczniu 2016 r., zasadnicza część gry była gotowa. Później koledzy z zespołu (nazywamy się Slavia) pomogli mi przy testowaniu – przez specyfikę gry potrzeba do tego przynajmniej dwóch osób. Testy wniosły bardzo wiele do procesu produkcji, a trwały aż do kwietnia. Gdy nie wykazywały już żadnych błędów, cóż zostało innego, jak wypuścić grę w świat? Toteż już 25 kwietnia 2016 r. (w moje urodziny) grę można było pobrać za free z Internetu razem z pismem K&A Plus.

Jednakże produkt, który odłożyłem już na półkę i uznałem za skończony, czyli Slavia 2, skończonym nie był, a przynajmniej wiele można było w nim poprawić. Uświadomiłem to sobie, gdy ujrzałem ogłoszenie o RK GameDev Compo. Czemu by nie wziąć udziału? Na napisanie nowej gry było trochę za późno, musiałem więc rzeźbić w tym, co już miałem. Wybór nie był trudny – Slavia 2. Od kwietnia do września (tyle bowiem minęło czasu) nauczyłem się sporo nowych rzeczy z myślą o nowym projekcie. Zabrałem się więc prędko za prace nad ulepszaniem gry. Dodałem obsługę stacji dyskietek, tryb gry jednoosobowej, efekty dźwiękowe, poprawiłem interfejs, algorytm zadawania obrażeń. Dostarczyłem więc na konkurs wersję nową, o niebo lepszą. Slavię 2 Deluxe.

Dobra, była historia, a teraz – jak tworzyłem, skoro nie w sposób nowoczesny. Kod zapisywałem w Notatniku, linia za linią, po czym kopiowałem do emulatora Vice, żeby testować. Przyznaję się, to udogodnienie, jakim jest emulator Vice i wklejanie do niego kodu, umożliwiało mi efektywną pracę, choć jest współczesnym rozwiązaniem. Ale reszta była klasyczna. Czcionki narysowałem na kartce i bajt po bajcie, z kalkulatorem w dłoni, wyliczałem dane. Niektóre z rozwiązań technicznych zastosowanych w grze stworzyłem na prawdziwym C64, nie w emulatorze, poza tym na bieżąco sprawdzałem działanie wszystkich mechanizmów na hardwarze. Pamiętam, że gdy pisałem pierwszą Slavię, nie wiedziałem jeszcze, że można wklejać kod do Vice, więc musiałem wszystko przepisywać, a przez pewien czas wiele kodu napisałem po prostu na żywym C64. Potem czekał mnie wprawdzie mozolny proces konwersji danych z kasety na plik *.tap, ale za to programowało się przyjemniej niż zwykle. Grafiki w Slavii 2 Deluxe składają się ze znaków PETSCII, wszystko jest w trybie tekstowym. Poza tym obecnie gry tekstowe nie są czymś często praktykowanym, zatem sama forma Slavii 2 Deluxe, która jest przecież tekstówką, nawiązuje do tradycji. Aby pobawić się w wydawcę, narysowałem sobie nawet okładkę i naklejki na dyskietkę, którą oczywiście szybko wypełniłem swoją grą.

Ludzie nieczęsto się bawią w ten sposób. Nikt nie chce marnować czasu na ręczne liczenie danych czcionek czy sprajtów, albo programowanie na hardwarze. Ale ja to lubię. Lubię to, ponieważ sięgam wtedy do istoty retro, do korzeni. Przyjemnie jest cofnąć się trochę w czasie i dać prztyczka w nos współczesnemu światu, który pędzi do przodu i łatwo zapomina o tym, na czym jeszcze niedawno bazował.

Minimoog