Archiwum → Gra na święta – Duke3D – Let’s Rock!
Zbliża się okres Świąt, więc będzie nieco więcej czasu na rozrywkę. Postanowiłem wykorzystać okazję do przedstawienia jednej z opcji wykorzystania tego czasu.
Osobiście nie znam żadnej osoby, która mając styczność z komputerami nigdy by nie grała. Przynajmniej w pasjansa. Chociaż nowych gier na rynku jest cała masa, nic tak nie cieszy jak powrót do tego co już znamy i do czego mamy jakiś sentyment. Dla mnie taką kultową grą jest Duke3d, który był na topie kiedy kończyłem studia. Cieszy fakt, że gra ma nadal grono fanów, którzy pomyśleli o tym, aby nadal można było w nią pograć. Kilka lat temu producent Duek3d udostępnił kody źródłowe, co zaowocowało rozwojem gry w większej rozdzielczości (kto dziś pamięta monitory o standardowej rozdzielczości ekranu 600×400?).
Dzięki programom określanym jako port do gry możemy grać w Duke3D w systemie Linux (Windows też). Teoretycznie można próbować grać w emulatorach typu DosBox, ale porty są o tyle lepsze, że są dedykowane konkretnej grze.
Zaczynamy od pobrania kilku niezbędnych plików. O ile nie posiadamy pełnej wersji gry, pobieramy wersję shareware (plik znajdziemy na stronie producenta). W zasadzie potrzebny nam jest tylko jeden plik o rozszerzeniu .GRP. Ponieważ Duke3D jest programem dla systemu operacyjnego DOS, aby go zainstalować musimy wykorzystać emulator. Najlepiej zrobić to z DosBox. Zakładam, że nie trzeba tu nic wyjaśniać (DosBox postaram się kiedyś opisać) i że każdy sam dojdzie do etapu w którym będzie miał plik DUKE3D.GRP.
Kiedy już mamy ten plik (zapisałem go u siebie w folderze /dane/duke3d/inst/), to najpierw jako root tworzymy nowy katalog wykonując w konsoli komendy:
su
mkdir -p /usr/share/games/duke3d
Potem kopiujemy plik grp do tego katalogu. Oto przykład komendy:
cp /dane/duke3d/inst/DUKE3D.GRP /usr/share/games/duke3d/duke3d.grp
Ważne jest (!) aby plik po skopiowaniu miał w nazwie małe litery. Instalując wersję shareware plik grp miał duże litery w nazwie, dlatego kopiując od razu zmieniłem ich wielkość.
W kolejnym kroku instalujemy port eDuke32 (testowałem wersje z pliku eduke32-2008.12.15-4.2.i386.rpm), którego najnowszą wersję pobierzemy ze strony http://ny00123.sitesled.com. Port wymaga kilku pakietów, jak na przykład SDL i SDL-Mixer. Jeżeli nie są zainstalowane, to trzeba je doinstalować poprzez YaST (w OpenSuse, bo w innych dystrybucjach będzie inaczej).
Po zainstalowaniu możemy uruchomić grę. W konsoli wpisujemy komendę eduke32. Przy pierwszym uruchomieniu w naszym folderze domowym zostanie utworzony zostanie katalog .eduke32, a dodatkowo pojawi się pytanie „Would you like to enable the on-disk texture cache?”, na które odpowiadamy „yes” (jest to zalecane dla pakietu HRP – High Resolution Pack, który opiszę poniżej).
Na początku będziemy mogli wybrać tryb uruchomienia, czyli na przykład wielkość okienka (o ile chcemy grać w osobnym okienku), lub opcję pełnoekranową (fullscrean).
Poniżej zrzut ekranu z gry w wersji shareware (bez ulepszania rozdzielczości).
Na tym w zasadzie mógłbym zakończyć opis, gdyby nie fakt że grupa zapaleńców pomyślała o dopasowaniu gry do większej rozdzielczości. Choć bez tego pakietu gra się całkiem przyjemnie, to dlaczego nie poprawić nieco gry i wykorzystać większy poziom szczegółowości (lepiej widoczne detale).
Najpierw pobieramy paczkę HRP (w testach wykorzystałem dn3d_hrp-27-04-2007.zip).
Pobrany plik musimy rozpakować do folderu „.eduke32″, o którym wspomniałem wcześniej (u mnie pełna ścieżka wygląda tak; „/home/rafal/.eduke32″). Wszystkie pliki z archiwum muszą się znaleźć w tym folderze w takiej strukturze jak zostało to archiwum utworzone. Nic więcej nie musimy robić.
Po rozpakowaniu uruchamiamy grę podobnie jak poprzednio. Jeżeli wszystko wykonaliśmy poprawnie, to na początku pojawi się informacja o tym, że jest to wersja High Resolution Pack.
Oto dwa przykładowe zrzuty ekranu dla pakietu z wersji o zwiększonej rozdzielczości. Najpierw scena w kinie przy projektorze, w której zdenerwowany zbyt długim oglądaniem filmu Duke mówi „What are you waiting for, Christmas?” (trzeba odpowiednio długo oglądać film, aby usłyszeć tę kwestię. W grze jest kilka tego typu wstawek).
Kolejna scenka to ten sam poziom. Zrobiona zaraz po wyjściu schodkami w dół z kina.
Wszystkie zrzuty najlepiej powiększyć klikając na nich. Być może nie widać na nich wielkiej różnicy z wersją standardową, ale jak uruchomimy to na komputerze to różnica jest od razu widoczna.
Na koniec jeszcze jedna uwaga związana ze szczególnym przypadkiem jaki miałem przy uruchomieniu gry w OpenSuse 11.0 (w 10.3 nie było tego problemu). Większości osób to nie dotyczy, ale może komuś się przyda. Jakiś czas temu całkowicie odinstalowałem PulseAudio, bo ciągle był z tym problem. Audio w moim systemie działa z wykorzystaniem ALSA. Po zmianie parametrów takich programów jak SKYPE czy XMMS wszystko działało normalnie. Gdy zainstalowałem eduke32, w momencie uruchamiania programu pojawiał się błąd:
Sound startup error: SDL Mixer initialization failed.
Najwyraźniej SDL mixer próbował działać z urządzeniem, którego nie mógł znaleźć. Dzięki pomocy ny00123 (poprzez chat) udało mi się uruchomić grę z dźwiękiem komendą:
SDL_AUDIODRIVER=”alsa” eduke32
Mam nadzieję, że w OpenSUSE 11.1 PulseAudio nie będzie stwarzał problemów i nie będę musiał go usuwać z systemu.
Wszystkim fanom Duke3D życzę miłej gry w czasie nadchodzących świąt (What are you waiting for, Christmas?
)
Tags: gry



