Aktualności Forum Graffiti Publicystyka Teleport
  • Rozmowa z Pawłem Matuszem - programistą gry "Cytadela"

01.06.2009 18:39, autor artykułu: Benedykt Dziubałtowski
odsłon: 6643, powiększ obrazki, wersja do wydruku,

Paweł Matusz Dziękuję bardzo za chęć bycia zwywiadowanym. W końcu jesteś osobą, która w zeszłym tysiącleciu zrobiła coś wielkiego na nasz ulubiony komputer. Proszę na wstępie, abyś powiedział coś o sobie.

Ano dawno to było - jak ja odpowiem na pytania, już pamięć panie nie ta, może lepiej użyć Google... :). A tak serio to nazywam się Paweł Matusz, kiedyś na scenie udzielałem się jako Kane. Niedawno skończyłem 21 lat (no dobrze, hexalnie), obecnie mieszkam pod Londynem z żoną i dwójką dzieci. Z grami już niewiele mam wspólnego poza tym, ze od święta lubię pograć sobie w jakiegoś MMORPG.

Twoja pierwsza Amiga to? I dlaczego akurat Amiga 500 :)?

Oczywiście że A500! Z dodatkową stacją dyskietek i obowiązkowym Action Replay 3 - bez tego nie wyobrażam sobie debugowania. Dlaczego? No cóż, to dość banalne... Przedtem miałem Atari 65XL, kolega na początku liceum dostał Amigę. Gdy ją zobaczyłem, to od razu się zakochałem i nie odpuściłem rodzicom, aż w końcu też dostałem wymarzoną Amigę pod choinkę. Niestety dodatki i kolejną A1200 już sam musiałem sobie sfinansować. Teraz została mi jeszcze ta pierwsza A500, ale muszę przyznać że jest gdzieś na strychu i jak chce wrócić do Amigi to używam WinUAE.

Kiedy zainteresowałeś się programowaniem? Czy nadal jesteś programistą?

Programować zacząłem gdzieś w 8. klasie szkoły podstawowej, około 1989 roku, po tym jak znudziło mi się granie na "małym" Atari, które wtedy miałem. Oczywiście Basic szybko mnie zirytował i przerzuciłem się na assembler, którego nauczyłem się sam z kursów w Bajtku i ze wspaniałej książki Wojciecha Zientary (jeszcze pamiętam to nazwisko). Dokupiłem Turbo2000, QMEG-a i już mogłem coś podłubać. Potem zacząłem jeździć na giełdę do Zaka w Gdyni (mieszkałem wtedy w Trójmieście), gdzie poznałem parę osób ze sceny i zacząłem robić demka. Na początku liceum przesiadłem się na Amigę i przez parę lat udzielałem się na scenie amigowej jako Kane w grupie Suspect, równolegle robiąc "Cytadelę". Po wydaniu "Cytadeli" w 1995 roku próbowałem przesiąść się na PC, no ale szczególnie wtedy, w czasach 486, szybko się rozczarowałem - jednak do Amigi już nie powróciłem...

Od paru lat nie zajmuje się już zawodowo programowaniem, choć w domu lubię sobie coś od czasu do czasu podłubać. Ech szkoda, że przeminęła już epoka assemblera... Obecnie pracuję w szeroko rozumianej telekomunikacji, zajmuję się projektowaniem i standaryzacją - UMTS i LTE mają w sobie trochę moich pomysłów :).

Cytadela Kto założył grupę Arrakis?

Chyba chodzi Ci o Virtual Design. Jak wspomniałem, Arrakis to był nasz &*%$* wydawca, z którym współpraca skończyła się nieprzyjemnie w sądzie, ponieważ przestaliśmy otrzymywać to, co nam się zgodnie z umową należało. Szczerze mówiąc, ta finansowa szarpanina wraz z upadkiem Commodore w 1994 roku przyczyniły się do tego, że po "Cytadeli" daliśmy sobie spokój z grami na Amigę. A w planach była kolejna cześć gry, "Twierdza", która gdyby nie to, ukazałaby się pewnie rok później.

Wracając do pytania, Virtual Design założyły cztery osoby. Poza mną (programowanie) byli to graficy Artur "ArtB" Bardowski i Radek "Czeczot" Czeczotka oraz muzyk Artur "Kalosz" Opala. Pracowaliśmy już wcześniej razem nad demkami na Amigę i grupę VD stworzyliśmy, żeby robić gry. Fajne to były czasy, gdy można było taką gierkę zrobić chałupniczo w kilka osób, choć tak naprawdę w rożnym stopniu przy produkcji i testowaniu udzielał się cały sztab znajomych, wystarczy popatrzeć w creditsy w grze.

Cytadela Czy przed "Cytadelą" stworzyłeś coś na Amigę?

Tak, kilka demek, gdy udzielałem się w grupie Suspect. Nawet raz wygraliśmy copy party w Żywcu w 1992 roku :). Poza tym zrobiłem jeszcze grę logiczną "Blix", która nigdy nie wyszła. Po "Cytadeli" udzielałem się jeszcze trochę jako konsultant przy tworzeniu polskiej gry "Tridonis", która została w końcu wydana tylko na PC, choć istnieje też niemal ukończona wersja na Amigę! "Tridonis" na Amigę zrobił VD w nieco innym niż oryginalnym składzie.

Wróćmy do "Cytadeli". W jakim języku programowania jest napisana gra?

W całości w jedynym słusznym - assemblerze! Zresztą w tamtych czasach tego typu gra nie mogła powstać w niczym innym, bo wymagała pełnej optymalizacji na dany sprzęt. Pamiętam godziny liczenia cykli zegara, przestawiania instrukcji miejscami, walki z wciśnięciem kodu do cache.

Gra na początku robi kilka testów. Sprawdza czy jest koprocesor, pamięć itp. Zawsze mnie zastanawiało czy gra faktycznie korzysta z koprocesora, czy tylko stwierdza jego obecność?

Nie korzysta, choć oryginalnie miała. Ze względu na metodę wyświetlania grafiki okazało się to w końcu nieopłacalne, choć sprawdzenie, czy jest FPU pozostało. Są za to osobne scieżki w kluczowych częściach kodu (wyświetlających obraz 3D) zoptymalizowane na różne wersje procesora, obecność cache, ilość i rodzaj dostępnej pamięci...

Dlaczego gra nie działa na Amigach wyposażonych w procesor 68010?

Szczerze? Nie mam pojęcia. Powinna.

Cytadela Opowiedz szerzej o kodowaniu intra. Tryb HAM, full 3D + dźwięk i to wszystko płynnie na Amidze 7 MHz. Jak tego dokonałeś? Używałeś sztuczek programistycznych? Z jaką szybkością (FPS) odtwarzana jest animacja?

Brawa przede wszystkim dla grafika! Intro to dzieło Artura "ArtB" Bardowskiego. Teraz czasy i możliwości się zmieniły, ale muszę przyznać, że wtedy sam się nim zachwycałem :). O intro była zresztą batalia z wydawcą, bo cała gra zajmuje 5 dyskietek z czego intro i outro ponad 3, co oczywiście podniosło koszt produkcji - ale warto było. Dla tych co nie wiedzą - gra zawiera świetnie wyrenderowane outro. Podejrzewam, że widziało je mniej osób niż widziało intro :).

Co do kodowania, to dane zostały nieco "zoptymalizowane", żeby zajmowały mniej miejsca i dało się je sprawnie wyświetlać. Parę sekwencji jest kilkakrotnie w kodzie zapętlonych lub odtwarzanych od tyłu (np. naciśniecie i zwolnienie guzika) ;). FPS... różnie, w zależności od sceny, niektóre były specjalnie zwolnione ;).

Opowiedz nieco szerzej jak udało Ci się to zrobić, aby taka animacja płynnie była wyświetlana na pełnym ekranie. Zastosowałeś jakiś własny format animacji? Jak zsynchronizowałeś dźwięk z obrazem?

Animacja jest skonwertowana na "domorobny" format z kompresją. Pozwalał na regulację FPS, zapętlenia itp. Synchronizacja z dźwiękiem jest... amatorska, czyli głównie "czasowa" ze sporadycznymi znacznikami - na szybszych Amigach (albo pod WinUAE) potrafi się ciut rozjechać.

Cytadela Na jakim sprzęcie powstawało intro?

Co do technologii, to nie jestem w stanie za dużo powiedzieć, bo nie brałem w tym bezpośrednio udziału. Generalnie powstało w Lightwave efektem wielu tygodni robienia modeli i tekstur, renderowania, filmowania i dygitalizowania ujęć z postaciami i późniejszej obróbki - ręcznego nakładania postaci itp. Z tego co wiem, to powstawało na kilku różnych Amigach jednocześnie, niektórych mocniejszych (jak A3000+) pożyczonych do renderowania. Trzeba pamiętać, że w tamtym czasie większość Amig nie miała nawet twardego dysku, jechało się z dyskietek, poza tym nie było dostępnych profesjonalnych programów do obróbki wideo i trzeba było wiele rzeczy rzeźbić ręcznie klatka po klatce - masakra. Ale jakoś się Arturowi udało, wciąż jestem pełen podziwu.

W jakiej rozdzielczości odtwarzane jest intro "Cytadeli"?

Oryginalnie wyrenderowane zostało w HAM 320x256, ale przyciąłem je do 160x128 ze względu na zajmowane miejsce. W czasie odtwarzania jest rozciągane do 320x256. Przerywniki z tekstem są w Hi-RES (640x256).

Kto podkładał głosy?

To nie pytanie do mnie, ale do muzyka :). Wszystko jest w creditsach. Swoją drogą, ścieżka dźwiękowa jest zupełnie niezależnym od animacji modem i spędziłem wiele godzin, żeby wszystko zsynchronizować na rożnych modelach Amig... szczególnie, że intro ładuje się cały czas "w tle" w czasie jak się odtwarza, a i tak na niektórych Amigach (jak A3000 z dopalaczem, na której kiedyś sprawdzałem) dźwięk z obrazem się nieco rozjeżdża ;).

"4b2 do 2-1, kurs B sigma 2" - mówi miły kobiecy głos na samym początku. Do kogo należy? Można prosić zdjęcie i numer telefonu właścicielki?

Pamiętam tę sekwencję. Kiedyś mi się śniła po nocach, gdy starałem się zsynchronizować intro z dźwiękiem... Co do głosów, to nazwiska można znaleźć w creditsach, dalej trzeba drążyć samemu, ode mnie nic nie wydusisz ;).

Jak powstały dźwięki do gry? Odgłosy wybuchów, broni, potworów. Coś tam można poczytać w informacjach w grze o użyciu odkurzacza.

Dźwięki powstawały jak tylko się dało - ryczenie do mikrofonu, samplowanie wybuchów z jakiegoś filmu, chlapanie wodą, włączanie wspomnianego odkurzacza :). Sporo było przy tym zabawy.

Cytadela Dlaczego brak jest możliwości gry przez sieć? Choćby zwykły null-modem. W grach PC była to wówczas częsta praktyka.

Na Amigę chyba żaden z nas wtedy sprzętu takiego jak modem nie miał :). Poza tym nikt nigdy nie zgłosił zainteresowania grą np. przez RS232. A LAN party nie były jeszcze wówczas popularne, zwłaszcza na Amidze ;).

Gra działała bardzo wolno na Amidze 500. Do normalnego grania potrzebna była silniejsza konfiguracja. Dlaczego nie uwzględniłeś posiadaczy kart graficznych?

Odsetek posiadaczy kart graficznych był wtedy znikomy i po prostu nie opłacało się robić dla nich specjalnej wersji. Pewnie 98% Amig na rynku to były zwyczajne A500, A600 i A1200.

Czy tak naprawdę był sens wydawania tej gry na A500?

No cóż, grać się dało, choć ciężko, bo na małym okienku i/lub z wyłączonymi szczegółami. Tak naprawdę, aby się grą nacieszyć, potrzebna była minimum A1200 z dodatkową pamięcią Fast.

Pamiętasz jakieś skrajne reakcje fanatyków, którzy palili niemieckie książki na rynku w Gdyni i zachwycali się Waszym intrem?

Kto tego nie pamięta? Strajki, żądania związków zawodowych o wyświetlanie na telebimach w fabrykach w porze obiadu, zamieszki, gdy przepalił się projektor w centrum handlowym, kordony policyjne, ataki bojówek na dom "ArtB", gdy nie chciał dorobić kontynuacji, czołgi na ulicach, patrole powietrzne, dymisja prezesa TVP po przerwaniu promocyjnej emisji, reklama proszku do prania, pierwsze prototypy załogowego statku X16 robionego na licencji VD... No dobra chyba się zagalopowałem :).

Dlaczego gra jest na dyskach NDOS i nie ma programu instalacyjnego na dysk twardy? Było sporo gier NDOS, które jednak dawało się zainstalować, jak choćby "Figthin' Spirit", czy "Alien Breed: Tower Assasult".

Ależ da się! Ja mam obecnie zainstalowaną na dysku twardym wersje pod WinUAE. Były dwie wersje "Cytadeli" - pierwotna bez instalatora i późniejsza z instalatorem i poprawionymi niektórymi bugami. Instalator zrobiłem na żądanie wielu graczy, którzy przysyłali do nas ankiety z uwagami... O ile dobrze pamiętam, Arrakis umożliwiło nawet wymianę pierwszej dyskietki bez instalatora na taką z instalatorem. Problem w tym, że z dysku twardego gra nie startuje zbyt łatwo na niektórych konfiguracjach. Czasem nie udaje się skutecznie "odłączyć" systemu, który po prostu zajmuje za dużo pamięci Slow, żeby "Cytadela" mogła działać. Poza tym wszystkim pojawił się znacznie później odpowiedni slave pod WHDLoad (z którym nie mam nic wspólnego).

Cytadela Pamiętasz może, które błędy zostały poprawione w tej specjalnej wersji?

Głównie parę błędów związanych z "zapomnianymi" ścianami. Może coś jeszcze, ale trochę to dawno było...

Dlaczego w trakcie rozgrywki nie da się zapisać stanu gry? Na początku etapy nie są zbyt długie, ale później trzeba grać 40 minut, aby przejść etap.

Dobre pytanie ;). Playtesterzy zgłosili, że gra byłaby w takim przypadku za prosta. Zresztą zapis w trakcie rozgrywki nie był przewidziany od początku i jak rozważaliśmy tę opcję później, to już trudno byłoby mi zrzucać cały rozproszony po pamięci stan rozgrywki na dyskietkę, nie mówiąc o tym ile to by zajmowało i jaki miało wpływ na cały, dość skomplikowany kawał napisanego już kodu. Zdecydowaliśmy się więc na zapis tylko po ukończeniu każdego poziomu. Cóż mogę dodać... Pewnie zaważyło też moje wrodzone lenistwo :).

Czy istniał edytor poziomów czy też użyliście jakieś innej metody do ich projektowania?

Jest edytor poziomów, a jakże! Niezbyt user friendly, bo wymagał uruchamiania z Seki (edytora asemblera), ale ludzie układający poziomy jakoś to przeboleli :).

Recenzje w prasie zadowalały Cię?

"Gra roku" mówi samo za siebie :). A serio, to oczywiście recenzje były rożne, ale w większości pozytywne, więc byliśmy zadowoleni.

Co robiliście po premierze "Cytadeli"? Mam na myśli okres, kiedy zamieszki na ulicach ucichły, a ludzie przestali Was nosić na rękach. Kubeł zimnej wody i powrót do rzeczywistości, czy praca nad czymś innym?

Amiga umarła, skończyła się era pisania gier w pojedynkę albo w parę osób. Każdy z nas zajął się czymś innym: studia, praca, rodzina...

Czytając Twoje poprzednie wypowiedzi doszedłem do wniosku, że od strony finansowej nie byliście zadowoleni. Mimo wszystko zapytam jednak o Twoją opinię dotyczącą tego, czy w tamtych czasach dało się żyć z pisania gier na Amigę?

Dorobić - tak. Żyć - nie. Przynajmniej nie z takich gier, które wymagały tyle wysiłku i czasu. I nie ze sprzedaży wyłącznie na rynku polskim.

Na swoim koncie mam kilka przeprowadzonych wywiadów. Nie raz słyszałem, że wydawca "kantował" z pieniędzmi za grę. Czy to naprawdę była norma w tamtych czasach?

Mam nadzieję, że nie. Niestety dla nas ta część przygody nie wyglądała zbyt różowo... Ale poza tym warto było!

Jak wyglądała "masowa produkcja" "Cytadeli"?

O ile wiem, to była manufaktura - wynajęci ludzie siedzieli i całymi dniami kopiowali dyskietki i pakowali do pudełek :).

Ile kopii zostało sprzedanych?

Około 2500 w Polsce. Nie wiemy ile zagranicą, bo jedyne co widzieliśmy, to recenzje w angielskiej, "amigowej" prasie.

Czy są wersje językowe inne niż polska?

Jest jeszcze wersja angielska i niemiecka. W niemieckiej jest dodatkowo zmieniona grafika, bo ktoś nas wystraszył że prawo zakazywało tam wtedy sprzedaży gier, w których strzela się do ludzi. Ile w tym było prawdy do dzisiaj nie wiem, ale przygotowaliśmy specjalną wersję, w której ludzi zastąpiły cyborgi albo roboty :).

Po jakim czasie pojawiła się złamana wersja?

O ile dobrze pamiętam, po 3-4 miesiącach od rozpoczęcia sprzedaży... A tak się napracowałem nad zabezpieczeniami, nawet nie dało się gry kontynuować po przerwaniu jej Action Replayem (robił się czarny ekran) :). Ale Polak potrafi... Nawet swoje cracktro wcisnęli. Nie wiem gdzie, bo na pierwszej dyskietce nie było już wolnych sektorów! Staraliśmy się namierzyć gościa, który to zrobił, ale bezskutecznie :).

Posiadasz złamaną wersję?

Tak... Przyznam się ze wstydem, że czasem używam jej na WinUAE jak nie chce mi się szukać i wpisywać kodów :).

Nie myśleliście o wersji na PC?

Myśleliśmy, ale wymagałoby to przepisania całej gry kompletnie od nowa, a na PC i tak minęliśmy już "okno rynkowe" na tego typu produkcje. Wtedy królowały już bardziej zaawansowane gry 3D. Niemniej jednak powstaje port na Windows, Linuksa i MAC OS - cytadela.sourceforge.net - ale ja, poza dostarczeniem oryginalnych źródeł, grafiki i muzyki, nie jestem w to zaangażowany (brak czasu). Brawa dla Tomka Kaźmierczaka, od którego wyszła inicjatywa i który to ciągnie!

Twoja żona/dziewczyna widziała "Cytadelę"? Jakie były reakcje?

Of kors. Żona grzecznie obejrzała i na tym skończyło się zainteresowanie... No ale doskonale rozumiem, że nie każdy musi widzieć piękno będące rezultatem miesięcy ślęczenia przed zielonym monitorem :). Swoją drogą, kodowałem na zielonym monitorze Neptun, liczyłem na to, że graficy dobrze dobiorą kolory ;). A monitor był tak dziadowski, że czasem nie mogłem odróżnić 8 od B, co było przyczyną paru błędów ;).

Grając w Dooma 3 lub Quake 4 nie da się oprzeć wrażeniu, że ludzie z ID Software garściami czerpali pomysły z "Cytadeli". Osobiście nie mam dostępu do kodów źródłowych tych gier, ale czy nie wydaje Ci się, że obie te gry pracują na lekko zmodyfikowanym engine "Cytadeli"?

Oczywiście! Dałem chłopakom trochę kodu od serca, a co tam będę tylko dla siebie trzymał :). Swoją drogą, kod mogę udostępnić wszelkim chętnym.

Czy chciałbyś coś powiedzieć na zakończenie?

Chyba już wystarczy :). Pozdrawiam wszystkich, którzy jeszcze pamiętają "Cytadelę"! Jakby ktoś chciał się skontaktować ze mną bezpośrednio, to (nieregularnie) odbieram pocztę z kane(małpa)konto.pl.

    
komentarzy: 3ostatni: 06.06.2009 12:00
Na stronie SCENA.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem