Dynablaster Revenge - ein Multiplayer Bomberman Spiel

Mi, 3. März 2021, Lioh Möller, Toxo, Prof. P

Einige von euch erinnern sich wahrscheinlich noch an das beliebte Spiel Bomberman, welches auch unter dem Namen Dynablaster vertrieben wurde. Jeder Spieler steuert einen Roboter über ein quadratisches Spielfeld und versucht durch das geschickte Ablegen von Bomben seine Mitspieler zu besiegen. Neben unzerstörbaren Wänden befinden sich auf dem Spielfeld auch Kisten, unter denen mit etwas Glück allerlei Hilfsmittel zu ergattern sind.

Mit Dynablaster Revenge hat die bekannte Demogruppe Haujobb bereits vor einigen Jahren einen würdigen Nachfolger erschaffen, welcher immer noch aktiv weiterentwickelt wird und im Quelltext verfügbar ist.

Die Installation ist denkbar einfach und wird im Folgenden am Beispiel von Ubuntu 20.04 erläutert. Die Paketnamen können je nach Distribution abweichen.

Zunächst müssen die für das Übersetzen des Quellcodes benötigten Abhängigkeiten installiert werden:

sudo apt install build-essential qt5-default libasound2-dev libsdl2-dev

Unter Manjaro (Xfce und Plasma) lassen sich diese mittels folgenden Befehl installieren:

sudo pacman -S fakeroot gcc make unzip

Daraufhin kann der Quellcode vom Git-Repository des Projektes heruntergeladen werden. Im einfachsten Falle wählt man dazu den Punkt Code / Download Zip. Alternativ lässt sich natürlich auch das Repository clonen.

In diesem Beispiel gehen wir davon aus, dass Dynablaster als Zip-Archiv in das Verzeichnis ~/Downloads heruntergeladen wurde und das Spiel in ein Verzeichnis Namens Games im Homeverzeichnis entpackt und installiert werden soll. Alle Befehle werden als regulärer Benutzer ausgeführt.

mkdir ~/Games
unzip ~/Downloads/dynablaster_revenge-master.zip -d ~/Games/
cd ~/Games/dynablaster_revenge-master/client/

Im Anschluss kann das Spiel compiliert werden:

qmake
make

Nach dem erfolgreichen Übersetzen der Quellen lässt es sich durch den Aufruf von ./dynablaster bereits starten. Um es einfacher zu gestalten, kann ein entsprechender Starter erstellt werden:

mkdir -p ~/.local/share/applications/

Dort erstellt man mithilfe von nano ~/.local/share/applications/dynablaster_revenge.desktop eine .desktop Datei mit folgendem Inhalt:

[Desktop Entry]
Version=1.0
Type=Application
Name=Dynablaster Revenge
Icon=dynablaster_revenge-256.png
Exec=sh -c "cd $HOME/Games/dynablaster_revenge-master/client/ && $HOME/Games/dynablaster_revenge-master/client/dynablaster"
Comment=A Modern Bomberman Clone
Categories=Game
Terminal=false

Das Spiel bringt bereits ein passendes Icon mit, welches nur noch an die richtige Stelle kopiert werden muss:

mkdir ~/.icons
cp ~/Games/dynablaster_revenge-master/client/data/icons/dynablaster_revenge-256.png ~/.icons/

Damit ist die eigentliche Installation abgeschlossen und Dynablaster Revenge lässt sich über den Starter im Menü aufrufen.

Gameserver

Um das Spiel gemeinsam über das Internet spielen zu können, muss einer der Spieler einen sogenannten Gameserver betreiben. Es empfiehlt sich dazu einen dedizierten PC oder eine VM bereitzustellen. Bei der Nutzung in einer virtuellen Maschine muss darauf geachtet werden, dass der Netzwerkadapter im Modus Netzwerkbrücke konfiguriert wurde.

Der grafische Gameserver ist ebenfalls Teil des heruntergeladenen Archivs und kann mit folgendem Befehl compiliert werden:

cd ~/Games/dynablaster_revenge-master/server
qmake
make

Nach dem Start des Servers durch Eingabe von ./server, lauscht dieser auf localhost TCP Port 6300.

Daraufhin kann auf dem Router ein sogenanntes Portforwarding eingerichtet werden um den Server aus dem Internet erreichbar zu machen.

Bei einer FRITZ!Box geschieht dies über den Punkt Internet / Freigaben / Portfreigaben. Dort wählt man Gerät für Freigabe hinzufügen und wählt den PC oder die VM auf der Dynablaster läuft im PullDown Menü aus.

Alle weiteren Punkte in dieser Ansicht können belassen werden, allerdings muss am unteren Ende der Seite noch die eigentliche Portweiterleitung eingerichtet werden. Dies erfolgt über den Punkt Neue Freigabe.

Die Mitspieler müssen nun nur noch die öffentliche IP-Adresse derjenigen Person kennen, welche als Server fungieren soll. Diese wird in der FRITZ!Box im Bereich Internet / Online-Monitor unter IPv4-Adresse aufgeführt. Alternativ reicht ein Aufruf der Webseite http://ipv4.is von dem Rechner aus, auf dem der Server läuft.

Noch einfacher geht es, wenn man eine entsprechende DynDNS-Adresse erstellt. So ist der GNU/Linux Gameserver beispielsweise unter dynablaster.selfhost.co erreichbar, sofern eine Spielerunde stattfindet.

Beim Start des Spiels können daraufhin alle Spieler die öffentliche IP-Adresse oder den DynDNS-Namen im Feld IP Address eintragen. Über den Punkt Multi kann ein Spielfeld erstellt werden, an dem sich alle Mitspieler beteiligen können.

Das Spiel verfügt über einige Hotkeys welche im README genauer erläuter werden. So können zum Beispiel mit einem Druck auf die Enter-Taste Chat-Nachrichten ausgetauscht werden.

mueslee
Geschrieben von mueslee am 21. Juni 2021

Sehr guter Artikel! “Aktiv weiterentwickelt” ist übertrieben aber wir akzeptieren Pull Requests :)