Porty gry "Mercenary" by Kaz 2018-07-17 09:25:05

Kolega Enjo napisał:

"Mercenary" była najważniejszą grą mojego dzieciństwa. Fascynowało mnie odzwierciedlenie trójwymiarowej rzeczywistości na ekranie komputera do tego stopnia, że jako około 6-letnie dziecko, jeżdżąc na rowerze w parku, wyobrażałem sobie, że drzewa i ławki, które mijam, są skonstruowane z wektorów tak jak w "Mercenary". W odróżnieniu od późniejszych gier 3D, "Mercenary" dostarczała jednocześnie poczucia wolności – nieograniczony czas gry, życia, paliwo, przestrzeń planety i przepastne podziemne korytarze, skonstruowane tak, żeby się w nich zgubić (nie mówiąc o dodatku "Mercenary: The Second City"). Uwielbiałem również przygodówki. Nie było więc lepszego połączenia tych cech niż w "Mercenary".

Później, jako student Automatyki i Robotyki na Politechnice Śląskiej w Gliwicach, nauczyłem się programować w języku Pascal. Była to jedyna przydatna wiedza wyciągnięta ze studiów, nie wspominając o tym, że w ciągu 3,5-letnich studiów inżynierskich z programowania samych sterowników PLC miałem w sumie 45 MINUT zajęć… Żeby w takim razie nie zwariować z nadmiaru spamowej, nikomu niepotrzebnej wiedzy, zacząłem programować hobbystycznie w C++. Przeróbka wieloplatformowa oryginalnego klonu "MDDClone", czyli "MDDClone-SDL" była jednym z moich ówczesnych projektów. Żadnego z moich projektów nie żałuję. Dzięki tym doświadczeniom programistą jestem do dziś, mam zapewnioną przyszłość zawodową oraz finansową, choć studia ledwo udało mi się ukończyć. Aktualnie zawodowo zajmuję się programowaniem automatycznie jeżdżących pojazdów, a po godzinach automatyzuję handel na Foreksie z wykorzystaniem sztucznej inteligencji. Życiorysu koniec. Teraz do sedna!

Mój artykuł na AtariOnline.pl dotyczy trzech portów serii gier "Mercenary" z komputerów 8- i 16-bitowych na PC i Mac’a – a właściwie systemy operacyjne Windows i *nix. Jest posortowana odwrotnie chronologicznie, od najnowszego do najstarszego. Panuje opinia, że seria "Mercenary", ze względu na możliwość chodzenia, jak również kierowania wieloma pojazdami, zainspirowała takie gry jak "GTA", czy "Battlefield" (a wcześniej np. "Hunter" dla Atari ST - Kaz). Ciekawa jest też, na tamte czasy, możliwość ukończenia każdej z części na różne sposoby.

Mercenary na małym Atari:



Mercenary na dużym Atari:



Mercenary II (Damocles) na dużym Atari:



Mercenary III na dużym Atari:





Mercenary Reloaded

W czerwcu 2018 roku kolega z Niemiec, Andreas Eversberg, wydał wersję pre-finalną portu "Mercenary II (Damocles)" i "Mercenary III: The Dion Crisis" o nazwie "Mercenary Reloaded". Port działa na Windowsie i Linuksie, być może również na innych *nixach. Do wyświetlenia obrazu używa OpenGL-a, a do sterowania i odtwarzania dźwięku, biblioteki SDL2. Port obsługuje VR.

Widok z oryginału gry:


Widok z portu gry:


Teaser na YouTube:


Trzon gry to tak naprawdę emulator Amigi z załadowanym obrazem gry. Pod procedury wyświetlania grafiki, odtwarzania dźwięku i sterowania podszywają się procedury natywne wspomnianych wyżej bibliotek. Czy nie uważacie, że to ogólnie bardzo dobry sposób na odświeżanie starych przebojów? Dokładny opis techniczny znajduje się na ostatnich stronach instrukcji portu (manual.pdf), dostępnego na tej podstronie, skąd również można pobrać binarkę Windowsową. W celu kompilacji pod Linuksem pobieramy źródła stąd i postępujemy zgodnie z instrukcjami, podanymi w pliku readme.txt. Po udanej kompilacji binarki zostaną stworzone w katalogu src/mercenary.

Te części "Mercenary" wprowadzają możliwość lotu po całym układzie planetarnym, lecz (jedynie) część II odbiera wolność czasową – musimy zdążyć odnaleźć jedno z rozwiązań, nim tytułowa kometa Damocles uderzy w planetę Eris. Nie występują również podziemne korytarze. Można za to wchodzić do budynków i jeździć windami. W części III pojawiają się dodatkowo taksówki, promy kosmiczne i NPC-e.

Uwaga - tutaj będzie spojler! Nie czytać tego akapitu, jeżeli chcesz samodzielnie znaleźć alternatywne rozwiązanie gry. Dla rozbudzenia apetytu i oddania hołdu wyobraźni autorów oryginału, poza oczywistym rozwiązaniem wysadzenia komety, istnieje również możliwość wysadzenia w odpowiednim czasie niezamieszkałego księżyca, do którego kometa ma się wcześniej zbliżyć, przez co zakłócimy jej tor. W rezultacie kometa nie koliduje z planetą Eris.



MDDClone-SDL

W celach bardziej historycznych przytoczę poprzednie dwa porty. W marcu 2010 roku wydałem ostatnią, lecz nie finalną, wersję mojego portu "Mercenary: Escape from Targ", wraz z dodatkiem "The Second City" i tłumaczeniami na wiele języków, pod nazwą "MDDClone-SDL". Poza częściami II i III portowi brakuje właściwie jedynie intra i możliwości strzelania, odpada więc rozwiązanie militarne. Port ten również używa OpenGL-a i biblioteki SDL, lecz jest w pełni natywny. Niesie to za sobą następujące konsekwencje: mam pełną kontrolę nad wnętrznościami gry, więc mogę poprawić oryginalne bugi, a także mogłem dodać elementy brakujące w "Mercenary Reloaded", czyli np. tekstury. Jednakże nie mam przyzwolenia na udostępnienie źródeł portu, więc mogę dystrybuować tylko binarki (Windows, Linux, Mac, BSD). Port posiada też oryginalny renderer software’owy wraz z dodatkowym, opcjonalnym antyaliasingiem, a także uprzyjemnienia w postaci:


Miasto Targ z lotu ptaka:


Podziemny labirynt:


Oryginalny renderer software’owy, z dodatkowym anty-aliasingiem:







MDDClone

MDDClone-SDL bazuje na źródłach portu "MDDClone", który był pierwszy w kolejności i był portem wyłącznie windowsowym. Ostatnia wersja została wydana w styczniu 2007 roku. Port ten jest najbardziej kompletny ze wszystkich wersji, gdyż zawiera wszystkie trzy części serii "Mercenary". Cierpi jednak na przypadłość zwaną „bardzo niska rozdzielczość”, więc na obecnie dostępnych monitorach wygląda biednie. Teoretycznie jestem w stanie zwiększyć rozdzielność programowo do arbitralnych rozmiarów, ale jakoś czasu brak na hobby w dorosłym życiu. Autorem portu jest tajemniczy „MDDClone Author”.

Przykładowy screenshot:


Wszystkie te wersje "Mercenary" są skoncentrowane wokół fanpage’a prowadzonego przez francuskiego kolegę Simon’a Guyart’a. Fanpage zawiera solucje wszystkich części oraz dodatkowe informacje dotyczące samej gry i nie tylko – znajdziecie tam też wywiady z autorami. Na pierwszej stronie uderzy Was smutna wiadomość, że autor oryginału, Paul Woakes, odszedł do lepszego świata 15 lipca 2017 roku. Wcześniej, 21 sierpnia 2007 roku, odszedł również drugi szef firmy Novagen Bruce Jordan. RIP!
pabloz1974 2018-07-17 10:58:53

pierwszy !!! :)

Kaz 2018-07-17 14:51:33

Pabloz - ale pierwszy miłośnik Mecenary czy co? :)

Enjo 2018-07-17 18:12:54

To bylby drugi, jak juz :)

IRATA4 2018-07-17 21:44:42

Bez urazy ale ta gra jest masakrycznie nudna i pooowwooolllnnaaa ,klimat fajny jednakże jako dzieciak nie miałem do tego instrukcji i niewiele rozumiałem ,troszkę tułałem się po planszy bez celu ,podziwiałem kręcące się trójkąty i inne wektory ... ech ,no nie dla mnie ta gra ... co innego Hunter :-) i GTA choć w piątkę ani w czwórkę nie grałem -gra dla gówniarstwa ... chyba dziadzieje :-p .,jako dzieciak wyobrażałem sobie że jestem w grze a poruszam się na takiej bieżni zrobionej z kulek dzięki czemu można iść w dowolną stronę , wymyśliłem że bieżnia się lekko naddaje , że zakłada się na głowę kask virtualny i jesteśmy w grze - taką miałem wyobraźnie i takie bzdury opowiadałem w domu , że grałem w takie cuś - musiałem gdzieś się czegoś nasłuchać i trochę coś podchwycić gdyż Vx-1 miałem na głowie parę lat później ...

Anon 2018-07-17 22:50:06

Mam podobne odczucia, jak irata. Też nic z tej gry nie rozumiałem, natomiast technicznie bardzo mi imponowała. Heh, nawet Huntera dzisiaj sobie oglądałem w pracy na YouTube

Enjo 2018-07-18 06:26:23

Jeden z autorów opowiadał, jak w kierunku Paula Woakes'a padały komentarze w stylu "Paul, więcej akcji!". Może tylko dlatego w ogóle w pierwszej części mamy strzelanie?
Ja też lubiłem gry akcji ale nawet bez instrukcji udało mi się opanować gre, tak jak każdy symulator lotu - wciskając w różnych momentach różne klawisze. Cierpliwość i wolny czas też wtedy miałem ale o ukończeniu gry bez zapisywania stanu oczywiście nie było mowy.

Enjo 2018-07-18 07:59:08

No i jeszcze jedna przyczyna wolnej rozgrywki jest to, ze wersja namale Atari jest wolna, na ST szybsza, a MDDClone-SDL jest 2x szybszy niz wersja ST (przez przypadek zdwukrotnilem taktowanie timera gry I tak zostalo :P )

RetroBorsuk 2018-07-18 08:31:33

Bardzo dobry wpis. Jakże się cieszę, że istnieją tacy zapaleńcy jak Ty, którzy piszą o swojej ulubionej grze, a na dodatek mają umiejętności aby stworzyć jej nowsze wersje czy usprawniać ją. Brawo Ty!

Co do Mercenary to jedna, z tych gier, które podziwiałem, ciekawiły mnie, intrygowały, oszałamiały wielkością świata - ale niestety nigdy w nie się nie wkręciłem. Doceniam ją, i bardzo, bardzo chciałbym w nią pograć, ale tyle jest ulubionych innych gatunków czy gier- że po prostu życia nie starczyło...

Bardzo fajny wpis. Polecam i pozdrawiam!

ZbyniuR 2018-07-18 16:14:15

@IRATA4

Odpowiedź do wątku o padach Segi Mega Drive (te bumerangowate) do Atari ST.
Wystarczy zamienić miejscami piny 5 i 7 i działają. :)

A pady od Sega Master System (te kanciaste) po prostu działają bo wszystkie piny są na miejscu.

the fender 2018-07-18 19:04:40

myślałem, że jest jeden Pin.

Enjo 2018-07-18 20:36:40

@RetroBorsuk:
Wielkie dzięki za miły komentarz, szczególnie że artykuły zjadasz na śniadanie. Umiejętności są, ale w pewnym momencie trzeba pomyśleć o "Chlebie Powszednim", a jako, że mój zawód = moje hobby, to nie wyrabiam się już fizycznie - mam bóle karku i przemęczone oczy. Dlatego musiałem to uciąć w roku 2010, ale obiecuję sobie, że do tego wrócę.

Co do samej gry, to pobranie jej i uruchomienie w żaden sposób nie zobowiązuje Cię do wkręcenia się w nią. Ja sam czasem ją sobie odpalę
i polatam trochę ponad miastem wyłącznie w celu odstresowania się. Nie myślę nawet o kończeniu jej. Na to też nie starczyłoby mi życia, a raczej tego, co z niego pozostało.

the annihilator of the moomins 2018-07-21 13:43:28

dobra robota.

Zupełnie jak YS Flight, tyle że na Atari ST! Brawo!

lenxy 2018-07-21 13:54:04

Świetny opis. Byłem trochę starszy (około 15 lat), kiedy pierwszy raz się zetknąłem z grą Mercenary. Mimo, że akcja wydaje się powolna, to sam pomysł i świat ukazany w grze był suuuper. Ciągle do niej wracałem i całymi godzinami zwiedzałem powierzchnię i korytarze. Nie miałem dokładnego opisu, więc nie do końca wiedziałem, co mam robić. Teraz, gdy mam dostęp do tylu pomocy, mam szansę po 30 latach ukończyć tę grę (podobnie jak 15 lat temu ukończyłem Starquake, gdy opracowałem program wyszukujący komórki pamięci odpowiedzialne za nieśmiertelność w grach).
Powodzenia w dalszej pracy i nowych wyzwaniach.

pirx 2018-07-21 22:57:10

PEPSI!!!

MDW2 2018-07-22 17:06:49

W latach 90 uruchomiłem Mecenary kilkanaście razy ale nigdy nie wyczaiłem o co w tej grze chodzi, co mam zrobić. :)

Enjo 2018-07-23 21:39:51

@prix, tak PEPSI :)

Prixowi chodzi o ten żart: www enderspace.de/mercenary/mddclone-sdl/img/k-2.jpg
Po odkryciu że Essential 12939 Supply, to od tyłu Pepsi, może stać się jasne, gdzie jest ten przedmiot potrzebny: w sali konferencyjnej na orbitalnym statku kolonijnym Paljaran:
www enderspace.de/mercenary/mddclone-sdl/img/ogl19.jpg

Enjo 2018-07-23 21:42:51

@lenxy: widzę, że też dałeś się wciągnąć. Była to unikatowa gra pod względem obszerności świata.
Gratuluję napisania programu pod nieśmiertelność.