Adam: Czy mógłbyś powiedzieć kilka słów o sobie i o
swojej przygodzie z 8-bitowym Atari – kiedy się zaczęła?
Mariusz: Nazywam się Mariusz Wojcieszek. Przygodę z Atari
rozpocząłem, gdy byłem piękny i młody, gdzieś w drugiej połowie lat
osiemdziesiątych, na Atari 800XL kumpla. Potem był
River
Raid,
Bruce Lee,
Montezuma’s Revenge,
Quasimodo,
Goonies. Po jakimś czasie udało mi się
wybłagać u rodziców zakup mojego Atari 800XE. Potem po ograniu gier
wpadłem na pomysł, że fajnie byłoby się dowiedzieć jak i dlaczego
działają. Zacząłem uczyć się asemblera, kupiłem
Quick
Assembler (pierwsze profesjonalne IDE w mojej karierze
programisty) i jakoś poszło. Trochę się nauczyłem, choć nic z
tamtych czasów nie przetrwało. Oprócz pasji – w dorosłym życiu
zostałem zawodowym programistą, a potem kierownikiem projektów.
Adam: Co było impulsem do rozpoczęcia serii konwersji?
Czemu z Commodore'a 64 – tę maszynę też nieźle znasz?
Mariusz: Impulsem do rozpoczęcia konwersji była chęć
zrobienia czegoś fajnego na moim ulubionym komputerze. Wcześniej
dość aktywnie udzielałem się w projekcie MAME, ale później zacząłem
się rozglądać się za nowym hobby :). Atari było idealne, bo mogłem
odświeżyć wspomnienia, a z drugiej strony wykorzystać wiedzę nabytą
przy rozgryzaniu różnych systemów w MAME – przy nich C64 to dość
prosta maszyna. Konwersje dlatego, że nie czuję się jako projektant
swoich własnych gier, a przepisywanie od podstaw innych gier jest
bardzo czasochłonne. Jako że na hobby nie mogę poświęcać jakoś dużo
czasu, to szukałem czegoś, co da się przygotować i zakończyć
rozsądnie szybko, zanim projekt się znudzi. I wyszło na to, że
najszybszym sposobem na przygotowanie działającej gry na Atari jest
przepisanie gry z C64 :)
Adam: Zapytałem o C64, bo są też inne opcje wyboru
źródłowej platformy, np. komputer BBC Micro, na którym nie ma
sprajtów hardware'owych – jak pewnie wiesz, w ostatnich latach
skonwertowano z niego na Atari m.in. gry „Alien 8”, „Ransack”,
„Perplexity” (jest też niedokończony „Last Ninja 2”).
Mariusz: W grach z BBC Micro specjalizuje się kilka osób, ja
chciałem spróbować czegoś innego.

The
Great Escape (obrazek z wersji ATR)
Adam: I spróbowałeś: „The Great Escape”, „Fairlight”,
„Bobby Bearing”, „Total Eclipse”. Wybór gier do konwertowania i ich
kolejność były czysto przypadkowe, czy też np. zacząłeś od swoich
faworytów?
Mariusz: Szukałem takich gier, których konwersja jest
możliwa i wykonalna w rozsądnym czasie. Jak się okazało, najlepsze
do tego celu są te, które same były portami z innych platform
(najczęściej ZX Spectrum) – takie gry zazwyczaj nie wykorzystują w
pełni możliwości C64, zadowalając się tym, co potrzebowały na
Spectrum, czyli procesor i tryb ekranu oparty na bitmapie. Przy
wyborze kierowałem się również kryterium jakości danych gier – a
Great Escape oraz
Fairlight to wg użytkowników
portalu World of Spectrum dwie najlepsze gry na tę platformę
(
link).
Bobby Bearing mi się po prostu spodobał
(lubię gry z widokiem izometrycznym). Co do
Total Eclipse,
to czytałem dyskusje na AtariAge o tym, że fajnie byłoby zrobić tę
grę na Atari, że na Atari byłaby szybsza i wyglądałaby lepiej, więc
stwierdziłem, że sprawdzę, czy tak będzie rzeczywiście :) Przy czym
uznałem, że nie będę zmieniał wyglądu, a zajmę się prędkością.
Adam: A jakie jeszcze klasyczne gry chciałbyś zobaczyć na
Atari?
Mariusz: Co do gier z C64, to przede wszystkim mój ulubiony
Rick Dangerous – ale ten już jest w produkcji i nie będę
robił konkurencji. Dalej
Flimbo’s Quest – ale ten jak
wiadomo jest niewykonalny na Atari, więc się nie zabieram. Trzecia
gra, której zazdrościłem innym 8-bitowcom, to był
Gunfright,
ale nie został wydany na platformy z procesorem 6502 (tylko na
Z80), więc za to się nie biorę.

Fairlight
(wersja robocza)
Adam: Możesz coś powiedzieć o planach na przyszłość? Uda
się w tym roku skończyć drugą grę?
Mariusz: Chciałbym dokończyć rozpoczęte gry, ale tutaj
trochę zależę od muzyków. Trudno mi w związku z tym deklarować
konkretne terminy.
Adam: Czyżby przy tych projektach wąskim gardłem byli
muzycy?
Mariusz: Nie, to nie jest tak. W tej chwili rzeczywiście
czekam na muzykę by skończyć
Fairlight, ale z drugiej strony
często zdarza się, że sam nie mogę pracować nad konwersją, bo nie
mam na to czasu, więc inni czekają na mnie.
Co do następnych gier, to ostatnio przyglądałem się kodowi gry
Saboteur i wygląda na to, że gra powinna być w miarę łatwa
do przeniesienia na Atari.
Adam: To też głośna gra, fajnie. Pamiętam ją jeszcze z ZX
Spectrum, grałem w nią lata temu na kółku komputerowym :) Wersja na
C64 nie wykorzystuje za bardzo sprajtów, tak?
Mariusz: Tak,
Saboteur w ogóle nie korzysta ze
sprajtów. Co ciekawe,
Total Eclipse trochę korzysta ze
sprajtów, więc będę musiał coś przygotować.
Adam: A ten wątek na AtariAge o grach na Commodore'a
bez sprajtów hardware'owych, założony na Twoją prośbę – nie miał
być rodzajem drogowskazu na kolejne miesiące?
Mariusz: Wątek miał na celu dowiedzenie się jakie to gry – w
tej chwili wygląda na to, że jest takich dość sporo, natomiast nie
planuję przenoszenia gier, które mi się nie podobają, np.
Karnov. Z ciekawostek, to trafiłem ostatnio na
Prison
Riot, które w zasadzie jest kopią
Joe Blade, ale w
związku z tym, że
Joe Blade lubiłem, to ta gra mi się
spodobała.

Bobby
Bearing (wersja robocza)
Adam: Czy masz wrażenie, że każda kolejna konwersja jest
łatwiejsza od poprzedniej, robi się ją szybciej? Po czterech grach
może zbyt wcześnie na takie uogólnianie, ale można się domyślać, że
nabrałeś już pewnej biegłości.
Mariusz: I tak, i nie.
Fairlight i
Bobby
Bearing są dość proste po
Great Escape, natomiast
Total Eclipse bardziej skomplikowane – trzeba było
dowiedzieć się jak się robi grafikę 3D i szybkie obliczenia
(mnożenie i dzielenie) na procesorze 6502, zaimplementować sprajty
oraz przygotować obsługę zapisu stanu gry (obydwie rzeczy jeszcze
przede mną). Ale podstawy, to jest analiza kodu C64 i zbiór
procedur (np. obsługa joysticka i klawiatury C64, inicjalizacja
Atari itp.) są już gotowe i można je wykorzystywać w kolejnych
projektach.
Adam: A możesz ujawnić, jakie są składy zespołów (poza
Tobą i jak rozumiem José Pereirą, który opracowuje grafikę z
oryginałów) przy „Fairlight” i „Bobby Bearing”?
Mariusz: Do
Fairlighta muzykę i efekty dźwiękowe robi
Bartłomiej „Wieczór” Wieczorkowski, natomiast do
Bobby
Bearing Marek „Poison” Pesout. Do
Total Eclipse dopiero
będę szukał muzyka (potrzebne będą również efekty dźwiękowe).
Adam: Wracając do „The Great Escape”: wspomniałeś przy
okazji publikowania wersji finalnej, że poza optymalizacją kodu
wykorzystałeś hardware'owe możliwości Atari – co miałeś na
myśli?
Mariusz: W
Great Escape gra rysuje wszystko do
własnego bufora i aby pokazać na ekranie, przepisuje do pamięci
ekranu. Bufor jest zorganizowany liniowo, więc tak samo
zorganizowałem go na Atari, przyśpieszając procedurę kopiowania.
Dodatkowo podczas scrolla gra kopiuje bufor do pamięci ekranu
aplikując scroll o 4 pixele (4 bity) – na C64 każdy bajt był osobno
rolowany i przepisywany, co trwało bardzo długo (najdłużej
działająca procedura w grze) i kod był bardzo długi (programista
rozwinął prawie całość procedury by choć trochę ją przyśpieszyć).
Atari ma dwa obszary pamięci ekranu, jeden używany gdy gra nie
potrzebuje scrolla, drugi wtedy gdy scroll jest nakładany – w tym
drugim przypadku przy kopiowaniu bajty nie są rolowane natomiast
używany jest scroll sprzętowy. Dzięki temu (oraz paru innym
optymalizacjom) scroll jest bardzo szybki.
Adam: Czy planujesz opublikowanie finalnego kodu
źródłowego swojej konwersji?
Mariusz: Tak, kod źródłowy mam zamiar opublikować. Muszę
tylko zebrać wszystkie elementy i je uporządkować, trochę to
zajmuje.
Adam: Na koniec zapytam, czy są szanse, że pojawisz się
na którychś zlotach miłośników Atari, np. na największym, czyli
Silly Venture? :)
Mariusz: Co do zlotów – to czemu nie. Jak będzie czas i
możliwość, to chętnie.

Total
Eclipse (wersja robocza)
Adam: Dziękuję za rozmowę, gratuluję pierwszej ukończonej
gry na Atari, podziwiam dotychczasowy rozmach (cztery prawie gotowe
konwersje w mniej więcej pół roku) i trzymam kciuki za następne
kroki!
Mariusz: Dzięki.