Moje gry – muzyka

W komentarzach wpisu dotyczącego „uwolnienia” moich pierwszych trzech gier pojawił się wątek muzyki występującej w tychże grach. Jak to określił niedawno mój znajomy, były to czasy, gdy muzyka w grach była „taka niezobowiązująca”. Sam fakt, że komputer wydobywał z siebie jakieś dźwięki był wtedy wciąż sporym wydarzeniem, a naturalna, zdigitalizowana muza to na początku lat 90. odgrywana poprzez prymitywne kart dźwiękowe (Sound Blaster, AdLib), prymitywne przetworniki cyfrowo-analogowe (Covox) czy jeszcze prymitywniejszy głośniczek, który mógł być sterowanie jedynie impulsami o zmiennej szerokości, to już był wypas maksymalny. Muzyka nie musiała i najczęściej nie miała zbyt wiele wspólnego z treścią i akcją gry. Takie czasy.

Bardzo byliśmy dumni z tego, że byliśmy w stanie już w naszych pierwszych grach odtwarzać bardzo realistyczne efekty dźwiękowe i muzykę, zamiast bipów z głośnika, czy syntetycznych efektów z syntezatorów FM ówczesnych kart dźwiękowych. Przetworników typu Covox razem z „Electro Body” pewnie sprzedaliśmy pewnie kilka setek, a dźwięk w naszych grach z Covoxem to był dopiero świetny stosunek jakości do ceny.

Technicznie odtwarzanie było rozwiązaniem dość programistycznie prymitywnym – przerwanie o częstotliwości trochę ponad 8 tysięcy razy na sekundę (albo prawie 17 tysięcy w przypadku głośniczka) wysyłało jeden bajt próbki – 8 bitów – na przetwornik DAC karty Sound Blaster lub port drukarki w przypadku Covoxa lub, po pewnych przekształceniach, na porty karty AdLib (nie miała DACa, ale dało się jakoś 4 bity wyciągnąć z tego syntezatora FM) albo jednobitowo port głośnika. Szczerze mówić, w przypadku tych ostatnich dwóch urządzeń to nie wiem jak to dokładnie działało – bazowałem na kodzie pozyskanym poprzez inżynierię wsteczną z innych gier. Rozumiałem co robi i jak działa, ale nie miałem pojęcia dlaczego właśnie trzeba to robić tak. Ważne, że działało. Muzyka była digitalizowana z magnetofonu za pośrednictwem oryginalnej karty Sound Blaster 1.0, a potem chyba Sound Blaster 16, choć wciąż docelowo przechowywana była i odtwarzana 8-bitową rozdzielczością.

W czasie, gdy tworzyliśmy „Electro Body”, taki gatunek muzyczny dominował w naszym życiu, stąd taki tytuł gry i muzyka w grze ((w USA przemianowana została na „Electro Man”, z przyczyn mi nie znanych). Została ona skomponowana przez Daniela Kleczyńskiego, muzyka takich legendarnych już formacji jak „No Smoking„, „Trumpet & Drums„, a ostatnio „Fading Colours” i wielu innych, mniej prominentnych formacjach. Z Danielem współpracowałem jeszcze przy kilku kolejnych grach, ale to inna opowieść.

Muza z gry bardzo się nam podobała, ale sposób jej reprodukcji na komputerze już mniej, więc gra „Electro Body” w pudełku zawierała kasetę z muzyką z gry. Niestety, nie zachowałem sobie ani kasety, ani zgranej wersji tej muzy i nawet nie pamiętam jak brzmiała. W grze zaś brzmiała tak:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

„Heartlight PC” to był w zasadzie solowy popis Janusza Pelca – ja pełniłem rolę wspierającego programisty silnika i współproducenta całości. Janusza zaprojektował grę (jeszcze na Atari), napisał wersję PC, stworzył grafikę, skomponował i nagrał muzykę. To była jedyna z naszych gier tego okresu, która obsługiwała 2 kanały dźwięku, czyli mogła odtwarzać muzykę i efekty dźwiękowe jednocześnie. Wcześniej nie umiałem tego oprogramować, a później chyba potrzebowaliśmy więcej mocy procesora na grafikę. W grze był jeden utwór, ale za to można było go słuchać cały czas, aż do znudzenia:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

W przypadku „Robbo” muzyka znów powróciła na ekran tytułowy, finalny i w przerwy pomiędzy rozgrywkami – w pozostałych były efekty specjalne oraz, irytujący niezmiernie po pewnym czasie, głos oznajmiający co tam robocik wykonał. Wtedy jednak byliśmy z tego głosu niezmiernie dumni. Aha, tutaj anegdota – próbowaliśmy pozyskać do tego głosu Jerzego Stuhra, ale odmówił, ponoć nie chcą babrać się tak niską sztuką, za jaką wtedy uchodziły gry komputerowe. W roli głosu więc wystąpili dziennikarze RMF (wtedy jeszcze chyba Radia Małopolska FUN).

Muzykę skomponował i nagrał Bogusław Pezda, wciąż członek znanej i popularnej industrialnej formacji „Agressiva 69„, a wcześniej wspominanej już „Trumpets & Drums”. Po latach muzyka z „Robbo” podoba mi się najbardziej – najlepiej wytrzymała próbę czasu, no i zdigitalizowana została chyba lepszą kartą, bo lepiej brzmi nawet w tych 8-bitach:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Jeszcze o technikaliach – sposób przechowywania i odtwarzania muzyki. Po zgraniu była ona cięta na segmenty (długości jednego lub dwóch taktów), a następnie ogrywana na podstawie listy odtwarzania, która po prostu opisywała kolejność odtwarzania tych segmentów. Dodatkowo można było odgrywać połówki i ćwiartki segmentu, co pozwalało na większą różnorodność przy zachowaniu minimalnej liczby segmentów i zajętości pamięci. Pamiętajmy, że kod gry i wszystkie jej dane (grafika, dźwięki i muzyka) musiały zmieścić się w około 512 kilobajtach pamięci. Tak, pół megabajta. Dzisiejsze konsole mają 1000 razy więcej pamięci, o pecetach nie wspominając.

Osadzone powyżej pliki MP3 zostały zgrane z emulatora DOSBox, ze specjalnie spreparowanych wersji gier. Dla potomnych i tych, którzy chcą sobie powspominać. Jak ja.

CC działa

Jakiś czas temu zakręciłem się i opublikowałem moje stare (vintage) gry na bardzo liberalnej licencji Creative Commons. Głównie chciałem, aby ludzi sobie mogli legalnie i bez wyrzutów sumienia (bo nie każdy ma tak nieczułe sumienie w tej kwestii, jak mam ja) w nie pograć. Licencja także pozwala na modyfikacje i adaptacje tych gier, choć nie ułatwiam nikomu tego zadania, bo nie opublikowałem kodów źródłowych.

Wczoraj dowiedziałem się, że ktoś jednak postarał się i wykonał grę Heartlight w wersji na przenośną konsolę PSP. I bardzo ładnie, cieszę się, że licencja CC działa i ludzie korzystają ze swobody przez nią oferowanej.

Moje gry dla każdego

Pierwsze 3 gry, których byłem współtwórcą, właśnie zostały udostępnione każdemu, kto zechce w nie zagrać. Moje własne „vintage games”, a wśród nich „Electro Body”, która czasem bywa zwana też „kultową”.

Gry zostały umieszczone w serwisie Classic DOS Games, w dziale Epic MegaGames. Gry są w wersjach angielskich, udostępnione na licencji Creative Commons BY SA 2.5

Na Epic Puzzle Pack składają się następujące gry:

  • Electro Man (anglojęzyczne Electro Body)
  • Heartlight PC
  • Adventures of Robbo (czyli Robbo)

Aby w nie pograć, trzeba zainstalować znakomity emulator DOSa, czyli DOSBoxa. Można też uruchomić je bezpośrednio w przeglądarce, online, dzięki emulatorowi na bazie języka Java (tu wersja online Electro Mana).

Trochę informacji „zza sceny”. Zainspirował mnie twórca serwisu Classic DOS Games, zapytując o wersje sharerware Robbo, która nigdy oficjalnie została opublikowana. Przeszukałem swoje archiwa i nie znalazłem takowej wersji, choć pamiętałem, że była przygotowywana. Sprawdziłem więc źródła, a te potwierdziły, że rzeczywiście istnieje taka wersja, wystarczy ją skompilować. Niestety, z niewiadomych powodów, firma Borland nie uznała za stosowne udostępnić kompilatora sprzed 12 lat, choć mają swoje „muzeum” starych produktów. Musiałem posiłkować się wersją nielegalną, którą ściągnąłem sobie z jakiejś strony (takie nieoficjalne „muzeum” egzotycznych już obecnie kompilatorów). Wszystko się udało, stworzyłem od nowa Robbo w wersji shareware i wypuściłem w świat.

A skoro już udało się tyle, to czemu nie pójść za ciosem i nie wypuścić wszystkich gier składających się na Epic Puzzle Pack w pełnych wersjach, dla każdego do pogrania i wspominania dawnych czasów? Skontaktowałem się z polskim właścicielem praw autorskich, który uzyskał zgodę pozostałych współautorów, to było łatwe. Pozostał Epic, obecnie wielka i znacząca firma w biznesie gier. Na szczęście Mark Rein wciąż mnie pamięta i po paru dniach miałem zgodę z tamtej strony. Potem jeden wieczór zabawy z kompilacją wszystkich gier, drobne zmiany w tekstach odzwierciedlające sposób licencjonowania i gry były gotowe. Pozostało napisać jakieś skrótowe pliki README.TXT, w czym znów pomógł mi miły pan ze strony Classic DOS Games. Gry zostały zapakowane i opublikowane.