Computerspiele

Doom

Nach mehr als 15 abstinenten Jahren habe ich das Hobby meiner Kindheit und Jugendzeit wiederentdeckt: Computerspiele. Neben aktuellen Titeln haben es mir vor allem die DOS- und Windows-Spiele der 1990er Jahre angetan. Doch wie spielt man diese auf moderner Hardware und unter Linux?

Ultimate Doom (1995)

GZDoom mit DHTP & Neural Upscale Pack

Für die Doom-Spiele der 1990er Jahre (Doom bzw. Ultimate Doom mit der semi-offiziellen Erweiterung Sigil; Doom II mit den Erweiterungen No Rest For The Living und Master Levels for Doom II; Final Doom) gibt es unzählige Source Ports und noch viel mehr grafische und musikalische Modifikationen und Erweiterungen, so dass die Auswahl und Zusammenstellung von Komponenten schon fast zur Qual wird. Im Gegenzug gibt es vermutlich für jeden Geschmack etwas passendes.

Für ein aufgewertetes, aber immer noch weitgehend originalgetreues Spielerlebnis im Singleplayer-Modus verwende ich für alle Spiele den Source Port GZDoom mit den grafischen Modifikationen Doom Neural Upscale 2X und Smooth weapons decorate Add On. Gelegentlich verwende ich zusätzlich das DOOM High Resolution Texture Project (DHTP). Musikalisch kommen das Hi-res Doom SFX pack und je nach Spiel der passende Soundtrack hinzu: IDKFA Soundtrack für Doom, die Roland SC-55 Music Packs für Doom II und Final Doom TNT Evilution sowie das Plutonia MIDI Pack für Final Doom Plutonia Experiment.

Extravagante aber weniger originalgetreue Spielerlebnisse bieten dagegen das ebenfalls auf GZDoom aufbauende und vorkonfigurierte Gesamtpaket Doom 4 Remake, die Mod-Zusammenstellung Projekt S.I.D.E. oder Mods wie Vanilla Doom 3D Models for Doom I & II und DOOM HD weapons and objects, Smooth Doom (siehe auch die Upscale Version) und Beautiful Doom. Für mich persönlich ist aber schon fast das DHTP zuviel des Guten und so zog es mich bisher immer wieder hin zu der oben vorgestellten Modkombination mit der Doom Neural Upscale 2X Mod, meist ohne DHTP.

Für den Mehrspieler-Modus über das Internet verwende ich den Source Port Zandronum mit leicht angepassten Versionen der oben genannten Modifikationen sowie dem Tool Doomseeker. Zandronum basiert auf dem gleichen ursprünglichen Programmcode wie GZDoom und wurde mit Fokus auf den Mehrspielermodus angepasst und weiterentwickelt, ist ansonsten aber nicht so aktuell und funktionsreich wie GZDoom. Anders als GZDoom verwendet Zandronum eine Client-Server-Netzwerkarchitekur an, d.h. es muss ein dedizierter Server aufgesetzt werden, mit dem sich die Spieler verbinden können. Dies ist für Netzwerkspiele komfortabler, sofern die Infrastruktur für einen dedizierten Server zur Verfügung steht. Bei GZDoom dagegen übernimmt ein Mitspieler die Rolle des Hosts.

Die Spiele

Grundsätzlich werden auch für die Source Ports die Datendateien (WAD-Dateien) der Originalspiele benötigt. Wenn diese nicht ohnehin bereits vorhanden sind, können die Spiele auf Plattformen wie Steam oder GOG käuflich erwerben werden. Lediglich die Erweiterung Sigil von John Romero kann kostenlos bezogen werden; nur der offizielle Soundtrack kostet 6,66 Euro.

Leider gibt es kein einzelnes Paket, dass alle der aufgeführten Spiele und Erweiterungen enthält. Immerhin enthält die Doom 3 BFG Edition auch die Datendateien für Ultimate Doom, Doom 2 und als einziges Paket auch die Erweiterung No Rest For The Living für Doom 2. Final Doom kann dagegen mit Doom II im Paket auf GOG.COM erworben werden und enthält außerdem die Master Levels für Doom II.

Die Modifikationen

Die Modifikationen Doom Neural Upscale 2X und Smooth weapons decorate Add ON enthalten mit Verfahren der künstlichen Intelligenz hochskalierte Versionen der Originalgrafiken, welche auf den heutigen hochauflösenden Monitoren optisch ansprechender sind als die Originalgrafiken. Doom Neural Upscale 2X ersetzt alle Grafiken von Doom, Doom 2, Final Doom, No Rest for the Living und enthält die Korrekturen aus dem Doom 2 Minor Sprite Fixing Project. Smooth Weapons ergänzt das Spiel zusätzlich um flüssigere Waffenanmiationen. Das Doom High Resolution Texture Project (DHTP) dagegen enthält hochauflösende, von Fans neu erstellte Texturen und ist daher naturgemäß weniger originalgetreu als das Upscale Pack.

Der Zandronum SW-Renderer HUD-Fix behebt Darstellungsfehler in Zandronum im HUD bei gleichzeitiger Verwendung von Software Renderer und Neural Upscale Pack bzw. DHTP. Die Mod kann mit dem Tool WadExt aus den Originalspieledaten selbst erstellt werden. Bei Verwendung einer Screensize ab 11 oder des OpenGL-Renderers von Zandronum sowie für GZDoom ist diese Mod nicht erforderlich und sollte auch nicht verwendet werden.

Das High resolution Doom sound effects pack enthält für 77 der 107 Doom-Soundeffekte originalgetreue Neuaufnahmen in hoher Tonqualität. In mühevoller Kleinarbeit wurden entweder die Originalquellen der Soundeffekte ermittelt oder annähernd gleichklingende Samples abgemischt.

IDFKA - Doom Soundtrack ist ein professioneller Remake des Doom 1 Soundtracks von Andrew Hulshult. Der Wiedererkennungswert der Originaltitel ist in meinen Augen so hoch, dass ich gerne den ebenfalls sehr guten und kultigen Original-MIDI-Soundtrack damit ersetzte. Andrew Hulshult hat schon für viele kommerizielle Shooter die Soundtracks erstellt, u.a. auch für die beiden Erweiterungen von Doom Eternal.

Die Roland SC-55 Music Packs für Doom II und Final Doom TNT Evilution enthalten Aufnahmen der Original-MIDI-Soundtracks von einem echten Roland MIDI Synthesizer im SC-55 Standardprofil. Der SC-55 war in den 90er Jahren bei Komponisten beliebt und die MIDI-Wiedergabe auf diesen Geräten entspricht daher am ehesten der Originalkomposition. Auch für Doom 1 gibt es als Alternative zum oben aufgeführten Remake ein Doom 1 Roland SC-55 Music Pack.

Das Plutonia MIDI Pack enthält einen von der DOOM-Community komponierten Soundtrack für Final Doom Plutonia Project, da das Originalspiel über keinen eigenen Soundtrack verfügt.

Die Verzeichnisstruktur und Dateien für die Source Ports

Alle für GZDoom bzw. Zandronum benötigten Datendateien sollen der Einfachheit halber unterhalb des Ordners ~/GZDoom abgelegt werden, so dass am Ende die folgende Ordner/Dateistrukur entsteht:

~/GZDoom
├── games                                       ORIG.DATENDATEIEN DER SPIELE:
│   ├── DOOM.WAD                                Doom oder Ultimate Doom
│   ├── SIGIL_v1_21.wad                         Sigil
│   ├── SIGIL_SHREDS.wad                        Sigil (Soundtrack; optional)
│   ├── DOOM2.WAD                               Doom 2
│   ├── NERVE.WAD                               No Rest for the Living
│   ├── master.wad                              Master Levels for Doom 2
│   ├── PLUTONIA.WAD                            Final Doom: Plutonia Project
│   └── TNT.WAD                                 Final Doom: TNT Evilution
└── mods
    ├── audio                                   MODIFIKATIONEN AUDIO:
    │   ├── pk_doom_sfx_20120224.wad            Doom highres. sound effects
    │   ├── IDKFAv2.wad                         Doom 1: A. Hulshult's Remake
    │   ├── doom2_sc55_ogg_v1.2.zip             Doom 2: Roland SC-55 Music 
    │   ├── plutmidi.wad                        F.Doom PP: Community Music
    │   └── tntevilution_sc55_ogg.zip           F.Doom TNT: Roland SC-55 Music
    │
    └── graphics                                MODIFIKATIONEN GRAFIK:
        ├── NeuralUpscale2x_v1.0-Base.pk3       Upscaled graphics (Base)
        ├── NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3   └ GZDoom Addon
        ├── NeuralUpscale2x_v1.0-Addon-Doom1.pk3       └ Doom 1 Addon
        ├── NeuralUpscale2x_v1.0-Addon-Doom2.pk3       └ Doom 2 Addon
        ├── NeuralUpscale2x_v1.0-Addon-Plutonia.pk3    └ F.Doom PP Addon
        ├── NeuralUpscale2x_v1.0-Addon-TNT.pk3         └ F.Doom TNT Addon
        ├── NeuralUpscale2x_Smooth_Weapons-Base.pk3 Smooth Weapons (Base)
        ├── NeuralUpscale2x_Smooth_Weapons-Addon-Doom2.pk3 └ Doom 2 Addon
        ├── DHTP-Base.pk3                       High Res. graphics (Base)
        ├── DHTP-Addon-Doom1.pk3                       └ Doom 1 Addon
        ├── DHTP-Addon-Doom2.pk3                       └ Doom 2 Addon
        ├── DHTP-Addon-Plutonia.pk3                    └ F.Doom PP Addon
        ├── DHTP-Addon-TNT.pk3                         └ F.Doom TNT Addon
        └── Zandronum-SWRenderer-HUD-Fix.pk3    Zandronum SW-Renderer HUD-Fix

Aufbau der Verzeichnisstruktur und Ablage der Original-Spieldaten

Zuerst werden die Verzeichnisse angelegt:

user@linux ~ $ mkdir -p ~/GZDoom/games ~/GZDoom/mods/audio ~/GZDoom/mods/graphics

Anschließend werden die Datendateien der Originalspiele in den Ordner ~/GZDoom/games kopiert. Die benötigten WAD-Dateien (Dateinamen siehe oben) findet man in den Installationsordnern der entsprechenden Spiele bzw. oben genannten Pakete von Steam oder GOG.

Eine Ausname stellen die Master Levels for Doom 2 dar: Sie werden nicht wie oben angegeben als einzelne Datei master.wad ausgeliefert, sondern in Form von 20 separaten WAD-Dateien. Damit die losen Master-Level im Menü von Doom 2 als separate Episode angezeigt werden, können sie mit dem Tool Unofficial Master Levels for Doom 2 Patch zu der Datei master.wad zusammengeführt werden. Das Tool steht als Windows-Binärdatei und im Quelltext zur Verfügung. Da für das Kompilieren eine alte QT-Version benötigt wird, empfehle ich die Verwendung der Windows-Binärdatei unter Wine oder in einer Windows-VM. Die zusammengeführte master.wad-Datei wird anschließend ebenfalls in den Ordner ~/GZDoom/games kopiert.

Die WAD-Datei SIGIL_v1_21.wad von Sigel kann auf der Sigel-Homepage kostenlos heruntergeladen werden. Der optionale Soundtrack kann dort als separate WAD-Datei SIGIL_SHREDS.wad käuflich erworben werden.

Installation von GZDoom unter Gentoo Linux

Die aktuelle Version von GZDoom ist in der offiziellen Paketdatenbank von Gentoo Linux enthalten. Ich empfehle die Installation mit den folgenden USE-Flags:

linux ~ # ACCEPT_KEYWORDS="~amd64" USE="gtk non-free openmp vulkan -debug gles2 -telemetry" emerge games-fps/gzdoom -pv

Installation von Doomseeker und Zandronum unter Gentoo Linux

Doomseeker, Zandronum sowie die benötigte Bibliothek fmod sind leider nicht in der offiziellen Paketdatenbank von Gentoo enthalten. In dem inoffiziellen Overlay haarp gibt es aber für alle drei Pakete games-util/doomseeker-1.3.2, games-fps/zandronum-3.0.1 und media-libs/fmod-4.38.02-r1 aktuelle Ebuilds.

Die in Zandronum enthaltene Bibliothek libgme kompiliert nicht und führt zu einem Abbruch der Installation mit obiger Zandronum-Ebuild. Die Verwendung der beiliegenden Version kann jedoch umgangen werden, indem die Bibliothek aus den offiziellen Gentoo-Paketdatenbank installiert wird. Dort ist sie unter dem Namen media-libs/game-music-emu enthalten und muss vor der Installation von Zandronum installiert werden.

Wenn die Ebuilds für Doomseeker, Zandronum und fmod korrekt im lokalen Overlay unter games-util/doomseeker, games-fps/zandronum bzw. media-libs/fmod abgelegt sind, kann die Installation wie folgt erfolgen:

linux ~ # ACCEPT_KEYWORDS="~amd64" USE="-fake-plugins -legacy-plugins" emerge games-util/doomseeker -pv
linux ~ # emerge media-libs/game-music-emu -pv
linux ~ # ACCEPT_KEYWORDS="~amd64" USE="dedicated gtk opengl system-sqlite timidity -system-dumb -system-geoip" emerge games-fps/zandronum -pv

Installation des Zandronum-Servers unter Gentoo Linux (optional)

Mit der oben beschriebenen Client-Installation wird durch das USE-Flag "dedicated" auch der dedizierte Zandronum-Server installiert. Soll aber z.B. auf einem Linux-Server ausschließlich der dedizierte Server ohne den Client mit seinen Abhängigkeiten installiert werden, kann die Installation wie folgt durchgeführt werden:

linux ~ # emerge media-libs/game-music-emu -pv
linux ~ # ACCEPT_KEYWORDS="~amd64" USE="-opengl dedicated -gtk -system-dumb -system-geoip system-sqlite -timidity" emerge games-fps/zandronum -pv

Download der Modifikationen

Die benötigten Dateien der Modifikationen können von folgenden Seiten bezogen werden:

Installation der Modifikationen

Es wird davon ausgegangen, dass sich alle heruntergeladenen Dateien im Ordner ~/Downloads befinden.

Doom Neural Upscale 2X Pack:

Das heruntergeladene Upscale-Pack funktioniert nur mit GZDoom, da Zandronum das sogenannte Lump Filtering nicht unterstützt. Daher erzeuge ich mit den folgenden Befehlen kombinierbare Teilpakete, die sowohl mit GZDoom als auch Zandronum genutzt werden können. Zwei mit Zandronum gänzlich inkompatible HUD-Grafiken (STBAR.png und STARMS.png) werden in ein separates Paket für die ausschließliche Verwendung mit GZDoom ausgelagert.

user@linux ~ $ unzip -o ~/Downloads/NeuralUpscale2x_v1.0.pk3 -d /tmp/nu2x
user@linux ~ $ cd /tmp/nu2x
user@linux ~/tmp/nu2x $ mkdir -p HIRES/HUD && mv FILTER/DOOM/HIRES/HUD/STBAR.png FILTER/DOOM/HIRES/HUD/STARMS.png HIRES/HUD/. && zip -r ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3 HIRES && rm -Rf HIRES
user@linux ~/tmp/nu2x $ mv FILTER/DOOM/HIRES . && zip -r ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Base.pk3 HIRES SOUNDS SPRITES stepfix.wad && rm -Rf HIRES SOUNDS SPRITES stepfix.wad
user@linux ~/tmp/nu2x $ mv FILTER/DOOM.DOOM1/HIRES . && zip -r ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Doom1.pk3 HIRES && rm -Rf HIRES
user@linux ~/tmp/nu2x $ mv FILTER/DOOM.DOOM2/HIRES . && zip -r ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Doom2.pk3 HIRES && rm -Rf HIRES
user@linux ~/tmp/nu2x $ mv FILTER/DOOM.DOOM2.PLUTONIA/HIRES . && zip -r ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Plutonia.pk3 HIRES && rm -Rf HIRES
user@linux ~/tmp/nu2x $ mv FILTER/DOOM.DOOM2.TNT/HIRES . && zip -r ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-TNT.pk3 HIRES && rm -Rf HIRES
user@linux ~/tmp/nu2x $ rm -Rf /tmp/nu2x

Smooth weapons decorate Add ON:

Das heruntergeladene Smooth Weapons Add On funktioniert nur mit GZDoom, da Zandronum das sogenannte Lump Filtering nicht unterstützt. Daher erzeuge ich mit den folgenden Befehlen kombinierbare Teilpakete, die sowohl mit GZDoom als auch Zandronum genutzt werden können.

user@linux ~ $ unzip -o ~/Downloads/NeuralUpscale2x_Smooth_Weapons.pk3 -d /tmp/nu2xsw
user@linux ~ $ cd /tmp/nu2xsw
user@linux ~/tmp/nu2xsw $ mv FILTER/DOOM.DOOM2/HIRES . && zip -r ~/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Addon-Doom2.pk3 HIRES && rm -Rf HIRES
user@linux ~/tmp/nu2xsw $ mv FILTER/DOOM/HIRES . && rm -Rf FILTER && zip -r ~/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Base.pk3 *
user@linux ~/tmp/nu2xsw $ rm -Rf /tmp/nu2xsw

Doom High Resolution Texture Pack (DHTP):

Im Folgenden wird der aktuelle Entwicklungsstand des Doom High Resolution Texture Packs heruntergeladen. Da das beiliegende Paketierungstool nur eine GZDoom-kompatible Version (Zandronum unterstützt das sogenannte Lump Filtering nicht) generieren kann, erzeuge ich mit den folgenden Befehlen kombinierbare Teilpakete, die sowohl mit GZDoom als auch Zandronum genutzt werden können.

user@linux ~ $ git clone https://github.com/KuriKai/DHTP.git /tmp/DHTP
user@linux ~ $ mkdir /tmp/DHTP/splitpack
user@linux ~ $ cd /tmp/DHTP/splitpack
user@linux ~/tmp/DHTP/splitpack $ for filename in "../docs/"*; do base_name=$(basename $filename); cat "../README.md" "$filename" "../credits.txt" > "README_$base_name"; done
user@linux ~/tmp/DHTP/splitpack $ mv ../textures/doom1 hires && zip -r ~/GZDoom/mods/graphics/DHTP-Addon-Doom1.pk3 . -i \*.PNG \*.png \*.txt && rm -Rf hires
user@linux ~/tmp/DHTP/splitpack $ mv ../textures/doom2 hires && zip -r ~/GZDoom/mods/graphics/DHTP-Addon-Doom2.pk3 . -i \*.PNG \*.png \*.txt && rm -Rf hires
user@linux ~/tmp/DHTP/splitpack $ mv ../textures/doom2-plut hires && zip -r ~/GZDoom/mods/graphics/DHTP-Addon-Plutonia.pk3 . -i \*.PNG \*.png \*.txt && rm -Rf hires
user@linux ~/tmp/DHTP/splitpack $ mv ../textures/doom2-tnt hires && zip -r ~/GZDoom/mods/graphics/DHTP-Addon-TNT.pk3 . -i \*.PNG \*.png \*.txt && rm -Rf hires
user@linux ~/tmp/DHTP/splitpack $ mv ../textures hires && mv ../flats/* hires/. && zip -r ~/GZDoom/mods/graphics/DHTP-Base.pk3 . -i \*.PNG \*.png \*.txt && rm -Rf hires README_*
user@linux ~/tmp/DHTP $ rm -Rf /tmp/DHTP

Zandronum SW-Renderer HUD-Fix:

Die hochskalierten Versionen der Grafiken floor7_2 und sttprcnt im Upscale-Pack sowie die hochauflösende Grafik floor7_2 im DHTP verursachen in Zandronum Darstellungsfehler in HUD und Rahmen bei Verwendung des Software Renderers und einer Screensize kleiner als 11. Daher wird im folgenden eine Mod mit den entsprechenden Originalgrafiken aus der DOOM.WAD erzeugt, mit welcher diese Änderungen aus Upscale Pack bzw. DHTP rückgängig gemacht werden können, indem diese Mod als letzte Datei, d.h. mit höchster Priorität, geladen wird. Hierzu wird die Windows-Binary des Tools WadExt mit Wine ausgeführt, da ich es hier auf die schnelle nicht kompilieren konnte. Bei einer Screensize ab 11 oder Verwendung des Zandronum-OpenGL-Renderers sowie für GZDoom ist diese Mod nicht erforderlich und sollte auch nicht verwendet werden.

user@linux ~ $ mkdir /tmp/zfix
user@linux ~ $ cd /tmp/zfix
user@linux ~/tmp/zfix $ unzip ~/Downloads/wadext_win32_2.1.zip
user@linux ~/tmp/zfix $ wine wadext.exe ~/GZDoom/games/DOOM.WAD
user@linux ~/tmp/zfix $ cd DOOM
user@linux ~/tmp/zfix/DOOM $ echo "gameinfo { BorderFlat = \"zdrmbrdr\" }" >ZMAPINFO
user@linux ~/tmp/zfix/DOOM $ cp FLATS/floor7_2.png FLATS/zdrmbrdr.png
user@linux ~/tmp/zfix/DOOM $ zip ~/GZDoom/mods/graphics/Zandronum-SWRenderer-HUD-Fix.pk3 ZMAPINFO FLATS/zdrmbrdr.png graphics/sttprcnt.png
user@linux ~/tmp/zfix/DOOM $ rm -Rf /tmp/zfix

The high resolution Doom sound effects pack:

user@linux ~ $ unzip ~/Downloads/pk_doom_sfx.zip -d ~/GZDoom/mods/audio/

IDKFA Remake of Doom 1 Soundtrack by Andrew Hulshult:

user@linux ~ $ unzip -j ~/Downloads/IDKFA_Soundtrack_Mod_v2.zip WAD/IDKFAv2.wad -d ~/GZDoom/mods/audio/

Roland SC-55 Music Pack für Doom II:

user@linux ~ $ cp ~/Downloads/doom2_sc55_ogg_v1.2.zip ~/GZDoom/mods/audio/

Roland SC-55 Music Pack für Final Doom (TNT Evilution):

user@linux ~ $ cp ~/Downloads/tntevilution_sc55_ogg.zip ~/GZDoom/mods/audio/

Final Doom Plutonia Project MIDI Pack:

user@linux ~ $ unzip ~/Downloads/plutmidi.zip plutmidi.wad -d ~/GZDoom/mods/audio/

Starten und Konfigurieren von GZDoom

Um GZDoom mit der gewünschten Kombination von Spiel(daten) und Modifikationen zu starten, gibt es zwei Möglichkeiten: Entweder werden die Informationen in Form von Kommandozeilenparametern bei Programmstart übergeben, oder sie werden in einer Konfigurationsdatei hinterlegt und können anschließend bei Programmstart über ein Popup ausgewählt werden. Für beide Varianten gilt, dass nach dem ersten Programmstart im Options-Menü Einstellungen vorgenommen werden sollten. Mehr dazu unten.

Hinweis: Falls GZDoom schon früher verwendet wurde, empfehle ich, die alte Konfigurationsdatei ~/.config/gzdoom/gzdoom.ini zu löschen, um bei der Konfiguration mit einer sauberen Ausgangslage zu beginnen.

1. Auswahl von Spiel(daten) und Modifikationen per Kommandozeile:

Doom bzw. Ultimate Doom und Sigel:

user@linux ~ $ gzdoom -iwad ~/GZDoom/games/DOOM.WAD -file ~/GZDoom/games/SIGIL_v1_21.wad ~/GZDoom/games/SIGIL_SHREDS.wad ~/GZDoom/mods/audio/pk_doom_sfx_20120224.wad ~/GZDoom/mods/audio/IDKFAv2.wad ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Base.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Doom1.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Base.pk3 ~/GZDoom/mods/graphics/DHTP-Base.pk3 ~/GZDoom/mods/graphics/DHTP-Addon-Doom1.pk3

Doom 2, No Rest for the Living und Master Levels for Doom 2:

user@linux ~ $ gzdoom -iwad ~/GZDoom/games/DOOM2.WAD -file ~/GZDoom/games/NERVE.WAD ~/GZDoom/games/master.wad ~/GZDoom/mods/audio/pk_doom_sfx_20120224.wad ~/GZDoom/mods/audio/doom2_sc55_ogg_v1.2.zip ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Base.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Doom2.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Base.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Addon-Doom2.pk3 ~/GZDoom/mods/graphics/DHTP-Base.pk3 ~/GZDoom/mods/graphics/DHTP-Addon-Doom2.pk3

Final Doom: TNT Evilution:

user@linux ~ $ gzdoom -iwad ~/GZDoom/games/TNT.WAD -file ~/GZDoom/mods/audio/pk_doom_sfx_20120224.wad ~/GZDoom/mods/audio/tntevilution_sc55_ogg.zip ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Base.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Doom2.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-TNT.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Base.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Addon-Doom2.pk3 ~/GZDoom/mods/graphics/DHTP-Base.pk3 ~/GZDoom/mods/graphics/DHTP-Addon-Doom2.pk3 ~/GZDoom/mods/graphics/DHTP-Addon-TNT.pk3

Final Doom: Plutonia Project:

user@linux ~ $ gzdoom -iwad ~/GZDoom/games/PLUTONIA.WAD -file ~/GZDoom/mods/audio/pk_doom_sfx_20120224.wad ~/GZDoom/mods/audio/plutmidi.wad ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Base.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Doom2.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Plutonia.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Base.pk3 ~/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Addon-Doom2.pk3 ~/GZDoom/mods/graphics/DHTP-Base.pk3 ~/GZDoom/mods/graphics/DHTP-Addon-Doom2.pk3 ~/GZDoom/mods/graphics/DHTP-Addon-Plutonia.pk3

Die obigen Aufrufe enthalten sowohl die Upscale-Packs als auch das DHTP High Resolution Pack. Aus der Aufrufreihenfolge ergibt sich die Priorität; da das DHTP zuletzt eingebunden wird, haben die dort enthaltenen Grafiken Vorrang gegenüber den Grafiken aus dem Upscale-Pack. Meistens spiele ich jedoch ohne DHTP: Dafür müssen lediglich die DHTP-Dateien ~/GZDoom/mods/graphics/DHTP-*.pk3 von der Kommandozeile entfernt werden.

2. Auswahl von Spiel(daten) und Modifikationen per Popup:

Mit dem ersten Aufruf von GZdoom (es reicht der Aufruf von "gzdoom" ohne Parameter) wird die Konfigurationsdatei ~/.config/gzdoom/gzdoom.ini mit Standardeinstellungen erzeugt. Nachdem eine initiale Konfigurationsdatei erzeugt wurde, kann diese mit einem Texteditor bearbeitet werden.

Die Konfigurationsdatei gliedert sich in verschiedene Abschnitte, die jeweils mit einem Bezeichner in eckigen Klammern beginnen. Die Einträge für einen Abschnitt müssen dann ohne Leerzeilen nacheinander folgen. In den folgenden Abschnitten sind die aufgeführten Einträge zu ergänzen. Dabei sollten bestehende Einträge nicht entfernt werden; der Lesbarkeit halber führe ich sie hier jedoch nicht auf.

[IWADSearch.Directories]
Path=$HOME/GZDoom/games

[doom.id.doom2.commercial.Autoload]
Path=$HOME/GZDoom/games/NERVE.WAD
Path=$HOME/GZDoom/games/master.wad
Path=$HOME/GZDoom/mods/audio/pk_doom_sfx_20120224.wad
Path=$HOME/GZDoom/mods/audio/doom2_sc55_ogg_v1.2.zip
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Base.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Doom2.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Base.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Addon-Doom2.pk3
Path=$HOME/GZDoom/mods/graphics/DHTP-Base.pk3
Path=$HOME/GZDoom/mods/graphics/DHTP-Addon-Doom2.pk3

[doom.id.doom2.plutonia.Autoload]
Path=$HOME/GZDoom/mods/audio/pk_doom_sfx_20120224.wad
Path=$HOME/GZDoom/mods/audio/plutmidi.wad
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Base.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Doom2.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Plutonia.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Base.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Addon-Doom2.pk3
Path=$HOME/GZDoom/mods/graphics/DHTP-Base.pk3
Path=$HOME/GZDoom/mods/graphics/DHTP-Addon-Doom2.pk3
Path=$HOME/GZDoom/mods/graphics/DHTP-Addon-Plutonia.pk3

[doom.id.doom2.tnt.Autoload]
Path=$HOME/GZDoom/mods/audio/pk_doom_sfx_20120224.wad
Path=$HOME/GZDoom/mods/audio/tntevilution_sc55_ogg.zip
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Base.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Doom2.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-TNT.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Base.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Addon-Doom2.pk3
Path=$HOME/GZDoom/mods/graphics/DHTP-Base.pk3
Path=$HOME/GZDoom/mods/graphics/DHTP-Addon-Doom2.pk3
Path=$HOME/GZDoom/mods/graphics/DHTP-Addon-TNT.pk3

[doom.id.doom1.Autoload]
Path=$HOME/GZDoom/games/SIGIL_v1_21.wad
Path=$HOME/GZDoom/games/SIGIL_SHREDS.wad
Path=$HOME/GZDoom/mods/audio/pk_doom_sfx_20120224.wad
Path=$HOME/GZDoom/mods/audio/IDKFAv2.wad
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Base.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_v1.0-Addon-Doom1.pk3
Path=$HOME/GZDoom/mods/graphics/NeuralUpscale2x_Smooth_Weapons-Base.pk3
Path=$HOME/GZDoom/mods/graphics/DHTP-Base.pk3
Path=$HOME/GZDoom/mods/graphics/DHTP-Addon-Doom1.pk3

Auch hier gilt: Wenn das DHTP nicht verwendet werden soll, die entsprechenden Einträge mit den Dateinamen "DHTP-*.pk3" aus den Abschnitten entfernen.

Anschließend kann GZDoom ohne weitere Kommandozeilenparameter gestartet werden:

user@linux ~ $ gzdoom

3. GZDoom nach dem ersten Start konfigurieren

Nach dem ersten Start sollten die Grafikoptionen über das Options-Menü angepasst werden. Hier gibt es unzählige Einstellungen, mit denen das Erscheinungsbild des Spiels angepasst werden kann. Ich persönlich bevorzuge einen scharfen, pixeligen Look gegenüber den weichgezeichneten, "verwaschenen" Texturen der GZDoom-Standardeinstellungen. Grundsätzlich nehme ich folgende Einstellungen vor:

  • Options > Full options menu > Set video mode
    • Preferred Rendering API: Legt die API fest, mit der das Bild ausgegeben wird. OpenGL; bei neueren Grafikkarten ggf. Vulkan. Bei meinem 10 Jahre alten Notebook liegt die Framerate dagegen nur mit "OpenGL ES" in einem akzeptablen Bereich. Im Zweifelsfall ausprobieren. Eine Änderung dieser Option wird erst nach einem Neustart von GZDoom aktiv. Mit dem Befehl "vid_fps 1" in der GZDoom-Konsole kann man die FPS einblenden.
    • Render Mode: Legt fest, wie das Bild berechnet wird. Hier schwanke ich je zwischen Hardware accelerated und dem True Color SW Renderer. Wenn es möglichst klassisch sein soll, wähle ich den True Color SW Renderer. Möchte ich moderne Features wie Blickwinkelberücksichtigung bei der Spritedarstellung, Kantenglättung oder 3D-Modelle wähle ich Hardware accelerated. Zahlreiche Optionen in den Menüs haben bei Wahl des Software Renderers keine Auswirkungen.
    • Choose Resolution Preset: Hier wähle ich die native Bildschirmauflösung des Monitors aus.
  • Options > Full options menu > Display options:
    • Hardware Renderer > Adjust sprite clipping: Hat Auswirkungen auf die Darstellung der Sprites. Ohne Clipping werden die Sprites je nach Perspektive beim Hardware-Renderer hart abgeschnitten; in meinen Augen unschön, daher wähle ich hier Always.
    • Hardware Renderer > Multisample: Hat Auswirkungen auf die Kantendarstellung. Je nach Rechenleistung ganz deaktiviert, 2x oder gerne auch etwas höher (8x oder 16x), da dies zu glatteren Kanten führt.
    • Texture options > Texture Filter mode: Aus meiner Sicht die wichtigste Einstellung, wenn der Render mode "Hardware accelerated" ausgewählt wurde. Sie legt fest, welcher Filter auf die Texturen angewendet wird. Als Standard ist hier "Linear" vorausgewählt, was zu der in meinen Augen unscharfen und verwaschenen Bilddarstellung führt. Ich mag es scharf und (ein wenig) pixelig; daher wähle ich hier im Zweifelsfall None. Allerdings ist auch None (nearest mipmap) empfehlenswert, da dies (nur) in weiter Entfernung zu etwas weicheren und damit ruhigeren Texturen führt.
    • Texture options > Anisotropic filter: Hat Auswirkungen auf die Schärfe von entfernten Texturen. Je nach Rechenleistung 4x oder auch höher (8x, 16x).
    • Screensize: 11, um platzsparend ohne breite HUD/Statusleiste zu spielen.

Starten und Konfigurieren von Doomseeker und Zandronum

Zandronum benutze ich ausschließlich für Multiplayer-Spiele und starte den Source Port nicht direkt, sondern über den komfortablen Server-Browser Doomseeker. Da im Mehrspielermodus die Server vorgeben, welche WADs zu verwenden sind oder optional verwendet werden können, müssen diese auch nicht explizit vorgegeben werden; lediglich die Pfade zu den Ordnern mit den WAD-Dateien müssen in Doomseeker hinterlegt werden. Zudem besitzt Doomseeker die Funktion, die für einen bestimmten Server benötigten WAD-Dateien (jenseits der kommerziellen Spieledaten, die immer vorhanden sein müssen) automatisch aus dem Internet zu laden.

Hinweis: Falls Doomseeker oder Zandronum schon früher verwendet wurden, empfehle ich, die alten Konfigurationsdateien ~/.config/doomseeker/*.ini sowie ~/.config/zandronum/zandronum.ini zu löschen, um bei der Konfiguration mit einer sauberen Ausgangslage zu beginnen.

Doomseeker kann wie folgt gestartet werden:

user@linux ~ $ doomseeker

Beim ersten Start von Doomseeker öffnet sich automatisch der Konfigurationsdialog. Hier ist im Abschnitt File Paths zusätzlich ein Eintrag für den Pfad "~/GZDoom" mit der Option "Recurse" vorzunehmen. Anschließend kann ein Server in der Liste ausgewählt werden und mit einem Doppelklick Zandronum mit Verbindung zu dem gewählten Server gestartet werden.

Nach dem ersten Start von Zandronum sollten auch hier analog zu GZDoom einige Einstellungen im Options-Menü vorgenommen werden. Es gilt im Wesentlichen das oben gesagte, allerdings sind die Optionen im Menü abweichend angeordnet. Ich empfehle dementsprechend die folgenden Einstellungen; Erläuterungen siehe oben bei GZDoom:

  • Options > Set Video Mode
    • Fullscreen: YES
    • Aspect Ratio: Seitenverhältnis des eigenen Monitors auswählen, falls unten die native Bildschirmauflösung des Monitors nicht aufgeführt ist.
    • Renderer: OpenGL; ggf. auch Software. Eine Änderung dieser Option wird erst nach einem Neustart von Zandronum aktiv. Hinweis: Bei Screensize kleiner 11 und Verwendung von Upscale Pack und/oder DHTP können die Darstellungsfehler in HUD und Rahmen durch Einbinden der erstellten Zandronum-SWRenderer-HUD-Fix.pk3 behoben werden.
    • Bildschirmauflösung: Auswahl der nativen Bildschirmauflösung des eigenen Monitors
  • Options > Display Options > OpenGL Options
    • Preferences > Adjust Sprite Clipping: Always
    • Multisample-Einstellungen lassen sich in Zandronum nicht über das Menü vornehmen. Hierzu muss der Kommandozeilenparameter "+gl_vid_multisample 2" (oder 0, 2, 4, 6, 8, ... analog GZDoom) an Zandronum übergeben werden. Dazu diesen Parameter in der Doomseeker-Konfiguration unter dem Abschitt Games > Zandronum > Custom parameters eintragen.
    • Texture Options > Texture Filter Mode: None (nearest mipmap) oder None
    • Texture Options > Anisotropic Filter: 4x oder höher
  • Options > Display Options > Screensize: 11, um platzsparend ohne breite HUD/Statusleiste zu spielen.
  • Options > HUD Options > Message Options > Text Scaling
    • Enable Text Scaling: ON
    • Use Screen Ratio: Yes
    • Text Size Scalar: Schriften auf eine lesbare Größe skalieren
  • Options > Player Setup: Name und ggf. weitere Einstellungen (z.B. Always run und Weapon setup) vornehmen.

Starten und Konfigurieren eines dedizierten Zandronum-Servers (optional)

Der Zandronum-Server kann grundsätzlich mit dem Programm zandronum-server gestartet werden und über eine Vielzahl von Servervariablen individuell konfiguriert werden. Die Einstellungen können per Kommandozeile und Konfigurationsdateien übergeben werden.

Um nicht für jede Kombination aus Spiel (z.B. Doom, Doom 2) und Spielmodus (Deathmatch, Cooperative) eine eigene komplexe Server-Konfigurationsdatei pflegen zu müssen, habe ich meine Konfiguration wie folgt aufgebaut:

  1. Konfigurationsparameter, die unabhängig von Spiel und Spielmodus für jeden Server gleich sein sollen, pflege ich in einer zentralen Konfigurationsdatei mit dem Namen general.conf und binde diese bei jedem Serveraufruf ein.
  2. Konfigurationsparameter, die den Spielmodus definieren und konfigurieren, werden separat je Modus in zwei weiteren Konfigurationsdateien coop.conf und deathmatch.conf gepflegt und dann alternativ bei dem Serveraufruf je nach gewünschtem Modus eingebunden.
  3. Konfigurationsparameter, die das Spiel (z.B. Auswahl der obligatorischen und optionalen WAD-Dateien) sowie die konkrete Serverinstanz (z.B. Servername, Port) betreffen, übergebe ich per Kommandozeilenparameter. Für die verschiedenen Server habe ich mir daher jeweilige Start-Skripte erstellt: doom1-coop.sh, doom1-deathmatch.sh, doom2-coop.sh, doom2-deathmatch.sh, fdoom-plutonia-coop.sh, fdoom-tnt-coop.sh.

Die Startskripte liegen im Ordner ~/zandronum, die drei Konfigurationsdateien im Ordner ~/zandronum/configs und Logdateien werden gemäß Konfiguration unter ~/zandronum/logs erstellt. Die WAD-Dateien werden wie oben unter ~/GZDoom erwartet.

Bei der Auswahl und Festlegung der obligatorischen (Parameter -file) und optionalen (Parameter -optfile) Modifikationen ist zu beachten:

  • Falls die Mod Smooth Weapons verwendet werden soll, muss sie aus technischen Gründen (enthalt decorate.dec) obligatorisch eingebunden werden.
  • Die Mod Smooth Weapons funktioniert nicht korrekt, wenn sie vor der Mod Neural Upscale Pack geladen wird. Wenn Smooth Weapons verwendet wird, sollte auch die Mod Neural Upscale als obligatorisch eingebunden werden - und zwar in der Reihenfolge vor Smooth Weapons. Hintergrund ist hier, dass Zandronum alle obligatorischen Mods immer vor allen optionalen Mods läd, auch wenn die Parameter der obligatorischen und optionalen Mods in einer bestimmten Reihenfolge angegeben wurden.
  • Das "GZDoom HUD Addon" der Neural Upscale Mod sollte nicht mit Zandronum verwendet werden, da es sowohl im OpenGL- als auch Software-Renderer zu Darstellungsfehlern im HUD führt
  • Der "Zandronum SW-Renderer Fix" sollte optional eingebunden werden. Er behebt Darstellungsfehler im HUD bei Wahl des Software-Renderers. Mit dem OpenGL-Renderer ist der Fix nicht erforderlich und nicht empfehlenswert, da er die Qualität der enthaltenen Grafiken reduziert.

Die Firewall des Servers muss eingehenden Datenverkehr für die in den Startskripten definierten Server-IPs und UDP-Ports erlauben. Außerdem muss ausgehender Datenverkehr vom Server zum Masterserver von Doomseeker (IP 45.56.67.39, UDP-Port 15300) erlaubt werden, damit der eigene Server bei Doomseeker zur Auswahl steht (sofern dieser Dienst genutzt werden soll).

Auch Interessant - Für später merken:

Computerspiele

Wolfenstein 3D

Nach mehr als 15 abstinenten Jahren habe ich das Hobby meiner Kindheit und Jugendzeit wiederentdeckt: Computerspiele. Neben aktuellen Titeln haben es mir vor allem die DOS- und Windows-Spiele der 1990er Jahre angetan. Doch wie spielt man diese auf moderner Hardware und unter Linux?

Wolfenstein 3D (1992)

LZWolf Source Port

Im Jahr 2019 wurde nach 25 Jahren die Beschlagnahmung und Indizierung von Wolfenstein 3D aufgehoben. Der First Person Shooter aus dem Jahr 1992 gilt als wegweisender Meilenstein der Videospielgeschichte.

Die meisten DOS-Spiele lassen sich im problemlos mit dem Emulator DOSBox spielen und Wolfenstein 3D ist da keine Ausnahme. Da der Quelltext freigegeben wurde, gibt es aber auch zahlreiche Source Ports von Hobbyprogrammierern, die das Spiel an moderne Hardware und Betriebssysteme angepasst haben.

Für Wolfenstein 3D verwende ich den Source Port LZWolf. Dieser unterstützt nicht nur das Hauptspiel sondern auch den Nachfolger Spear of Destiny, die beiden offiziellen Zusatzmissionen sowie weitere Spiele auf Basis der Wolf3D-Engine.

Auch für den Source Port wird das Originalspiel benötigt. Falls dieses noch nicht vorhanden ist, kann es z.B. auf GOG.COM erworben werden.

Der aktuelle Entwicklungsstand von LZWolf kann wie folgt heruntergeladen und kompiliert werden:

Im Folgenden wird davon ausgegangen, dass sich die DOS-Version von Wolfenstein 3D im Ordner ~/Wolf3D befindet. Auf Abhängigkeiten zu externen Bibliotheken wird an dieser Stelle nicht eingegangen.

user@linux ~/Wolf3D $ git clone https://bitbucket.org/linuxwolf6/lzwolf.git
user@linux ~/Wolf3D $ cd lzwolf
user@linux ~/Wolf3D/lzwolf $ cmake .
user@linux ~/Wolf3D/lzwolf $ make

LZWolf kann wie folgt gestartet werden:

user@linux ~/Wolf3D $ lzwolf/lzwolf

Alternativ können die Datendateien der unterstützten DOS-Spiele (*.WL6, *.SOD, *.SD1 bzw. *.SD2) in das lzwolf-Verzeichnis kopiert und lzwolf dort gestartet werden. Ein Popup fragt ab, welches der vorhandenen Spiele ausgeführt werden soll.

Falls das Spiel nicht startet ...

LZWolf ist sehr empfindlich, was die unterstützten Versionen der verschiedenen Spiele angeht und erwartet die jeweils letzte offizielle Version. Liegt diese nicht vor, startet das Spiel ggf. nicht, und nicht immer ist die Fehlermeldung aussagekräftig. In meinem Fall lautete sie "TILE8 is not a recognizable font". Abhilfe schafft das Programm Wolf3DEnginePatches, welches sämtliche unterstützte Spiele automatisch auf die jeweils letzte Version aktualisiert.

Der aktuelle Entwicklungsstand von Wolf3DEnginePatches kann wie folgt heruntergeladen und kompiliert werden:

user@linux ~/Wolf3D $ git clone https://bitbucket.org/ecwolf/wolf3denginepatches.git
user@linux ~/Wolf3D $ cd wolf3denginepatches
user@linux ~/Wolf3D/wolf3denginepatches $ cmake .
user@linux ~/Wolf3D/wolf3denginepatches $ make

Wolf3DEnginePatches kann wie folgt angewendet werden:

Im Gegensatz zu LZWolf erkennt das Patchutility die Spieldateien nur dann, wenn die Dateinamen in Kleinbuchstaben gespeichert sind. Daher müssen die Dateinamen ggf. zuerst umbenannt werden:

user@linux ~/Wolf3D $ for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done

Anschließend kann das Patchutility gestartet werden:

user@linux ~/Wolf3D $ wolf3denginepatches/wolf3dengpatch

Computerspiele

Gaming Bucket List: FPS

Dies ist eine Liste von Computerspielen des Genres First Person Shooter (FPS), die ich seit Wiederentdeckung meines früheren Hobbys gespielt habe oder in Zukunft vielleicht noch spielen möchte. Ich werde sie regelmäßig aktualisieren. (Stand: 13.06.2024).

DOOM

Doom
Doom: Ultimate Doom (Episode 4)
Doom: Sigil (Episode 5)
Doom: Sigil II (Episode 6)
Doom II: Hell on Earth
Doom II: No Rest for the Living
Doom II: Master Levels
Final Doom: TNT Evilution
Final Doom: Plutonia Experiment
Doom 64
Doom III
Doom III: Resurrection of Evil
Doom III: Lost Episode
Doom (2016)
Doom Eternal
Doom Eternal: Ancient Gods I
Doom Eternal: Ancient Gods II

WOLFENSTEIN

Wolfenstein 3D
Spear of Destiny
Spear of Destiny - Mission 2: Return to Danger
Spear of Destiny - Mission 3: Ultimate Challenge
Return to Castle Wolfenstein
Wolfenstein (2009)
Wolfenstein: The New Order
Wolfenstein: The Old Blood
Wolfenstein II: The New Colossus
Wolfenstein: Youngblood

DUKE NUKEM

Duke Nukem 3D
Duke Nukem 3D: Plutonium Pak (Episode 4)
Duke Nukem 3D: World Tour (Episode 5)
Duke Nukem 3D: Duke It Out in D.C.
Duke Nukem 3D: Duke Caribbean: Life's A Beach
Duke Nukem 3D: Duke: Nuclear Winter
Duke Nukem Forever
Duke Nukem Forever: The Doctor Who Cloned Me

OTHER BUILD ENGINE GAMES

Ion Fury
Ion Fury: Aftershock
Blood
Blood: Cryptic Passage
Blood: Plasma Pak
Blood: Death Wish
Shadow Warrior
Shadow Warrior: Twin Dragon
Shadow Warrior: Wanton Destruction
PowerSlave (Exhumed)
Redneck Rampage
Redneck Rampage: Suckin' Grits on Route 66
Redneck Rampage Rides Again
William Shatner's TekWar
Witchaven
Witchaven II: Blood Vengeance
NAM
World War II GI
Extreme Paintbrawl
Liquidator
Rock'n'Shaolin: Legend of the Seven Paladins 3D
Fate Demo

QUAKE

Quake
Quake: Mission Pack 1: Scourge of Armagon
Quake: Mission Pack 2: Dissolution of Eternity
Quake: Dimension of the Past
Quake: Dimension of the Machine
Quake: Arcane Dimensions
Quake II
Quake II: Mission Pack 1: The Reckoning (Xatrix)
Quake II: Mission Pack 2: Ground Zero (Rogue)

RAGE

Rage
Rage II

CALL OF DUTY

Call of Duty: Modern Warfare Remastered (2016)
Call of Duty: Modern Warfare 2 Campaign Remastered (2020)
Call of Duty: Modern Warfare 3 (2011)
Call Of Duty: Modern Warfare (2019)
Call Of Duty: Modern Warfare II (2022)
Call Of Duty: Modern Warfare III (2023)
Call Of Duty: Warzone (Verdansk, Caldera)
Call Of Duty: Warzone 2.0 (Al Mazrah, Vondel)
Call Of Duty: Warzone 3 (Urzikstan, Fortune's Keep)
Call Of Duty: Black Ops
Call Of Duty: Black Ops II
Call Of Duty: Black Ops III
Call Of Duty: Black Ops Cold War
Call Of Duty: Vanguard

HALF-LIFE

Black Mesa
Black Mesa: Blue Shift
Half Life 2
Half Life 2: Episode One
Half Life 2: Episode Two
Half Life 2: Lost Coast

OTHER GAMES

Rise of the Triads
Unreal
Metro Exodus
Heretic
Hexen
Prodeus
Shadow Warrior (2013)
Shadow Warrior 3
Dusk
Cyberpunk 2077
Ultrakill
Amid Evil
Atomic Heart

Computerspiele

Gaming Bucket List

Dies ist eine Liste von Computerspielen, die ich seit Wiederentdeckung meines früheren Hobbys gespielt habe oder in Zukunft vielleicht noch spielen möchte. Ich werde sie regelmäßig aktualisieren. (Stand: 30.11.2021).

ADVENTURE

The Secret of Monkey Island
Monkey Island 2: LeChuck’s Revenge
The Curse of Monkey Island

FIRST PERSON SHOOTER

Da mich dieses Genre momentan am meisten begeistert, gibt es eine sehr lange separate Bucket List für First Person Shooter.

JUMP 'N' RUN

Commander Keen - Episode 1: Marooned on Mars
Commander Keen - Episode 2: The Earth Explodes
Commander Keen - Episode 3: Keen Must Die
Night Hunter

ECHTZEIT-STRATEGIE

Command & Conquer (Remastered)

ROLLENSPIEL

Diablo II
Neverwinter Nights

Computerspiele

Altes Hobby neu entdeckt

Nach mehr als 15 abstinenten Jahren habe ich vor zwei Jahren das Hobby meiner Kindheit und Jugendzeit wiederentdeckt: Computerspiele.

Dank meinem technikbegeisterten Vater hatte ich, Jahrgang 1981, bereits im Laufe meiner Grundschulzeit Zugriff auf einen PC und auch bald einen eigenen Rechner zur Verfügung. Anfangs war ich noch auf die Schulfreunde mit einem Commodore C64 oder einem Nintendo Entertainment System (NES) und den vielen Spielen dieser Plattformen neidisch, aber spätestens mit dem Erscheinen von Commander Keen im Jahr 1991 wendete sich das Blatt und auch aus dem PC wurde eine richtige Spieleplattform. Die Sidescroller und Jump 'n' Runs von Apogee sowie die Adventures von Lucasfilm Games bzw. Lucasarts und Sierra Online prägten fortan meine Kindheit.

Commander Keen (1990)

Doom (1993)

Im Jugendalter drehte sich dann fast alles um die technisch bahnbrechenden Multiplayer-Shooter von id Software und 3D Realms: Doom, Quake, Duke Nukem 3D und deren zahlreiche Nachfolger und Nacheiferer. Doch auch Rollen- und Strategiespiele wie Diablo und Command & Conquer standen auf der Tagesordnung. Regelmäßig wurden im Freundeskreis die PCs an den Wochenenden hin- und hertransportiert, um (damals ohne Internet) diese Spiele gemeinsam über ein lokales Netzwerk spielen zu können. Auch mieteten wir mehrmals ein Dorfgemeinschaftshaus und brachten Ende der 90er Jahre bis zu 80 Spieler bei einer LAN-Party zusammen – damals noch eine echte Hausnummer.

Mit meinem selbstgewählten Umstieg von Windows auf Linux gegen Ende der 90er Jahre reduzierte sich für mich die Auswahl an verfügbaren Spielen und auch mein Interesse am Spielen nahm ab. Zwar wurden einige der damals beliebten Shooter auch für Linux veröffentlicht, aber ich beschäftigte mich mehr und mehr mit dem für mich neuen Betriebssystem Linux sowie den zugrundeliegenden Anwendungen, Protokollen und Technologien des aufkeimenden Internets. Ich fand es zunehmend spannender, unter Linux einen Mail-, DNS- oder Webserver zu konfigurieren und das Zusammenspiel dieser Komponenten zu verstehen, als unter Windows ein neues Spiel auszuprobieren.

Mit dem Beginn meines Studiums der Wirtschaftsinformatik im Jahr 2001 nahm mein Interesse und die für Computerspiele zur Verfügung stehende Zeit immer weiter ab. Zum einen hatte ich neben dem Studium einen interessanten Job bei einem Internetdienstleister. Zum anderen setzte ich mich zusätzlich zu den Studieninhalten weiterhin intensiv mit Linux und unixoiden Betriebssystemen, Internettechnologien, Open Source und Programmierung auseinander und entdecke neues Interesse für asiatische Filme, Kulturen, Sprachen, das Reisen und die Fotografie. Entsprechend verbrachte ich meine Freizeit hauptsächlich mit diesen Themen und Aktivitäten. Soweit ich mich erinnern kann, war Neverwinter Nights aus dem Jahr 2002 wegen der Verfügbarkeit einer Linuxversion eines der letzten Spiele, das ich noch zeitnah nach Erscheinen gespielt hatte. Durch Berufseinstieg im Jahr 2009, Heirat im Folgejahr und Geburt des ersten Kindes im Jahr 2016 nahm zudem auf natürliche Weise meine persönliche Freizeit immer weiter ab und das Thema Computerspiele kam mir gar nicht mehr in den Sinn. Und so beschäftigte ich mich etwa 15 Jahre lang fast gar nicht mehr mit diesem Thema und bekam auch von der Evolution der Spieletechnolgien, Spielegenres und Spielewelten nicht viel mit.

Erst Mitte 2018 wurde mein Interesse an Computerspielen durch vermehrte Berichte über das Thema Cloud Gaming und das Streamen von Spielen wieder geweckt. Dabei galt mein Interesse zunächst der neuen Technologie und nicht den Spielen bzw. dem Spielen selbst. Um sie auszuprobieren, schloss ich ein Probeabo bei Shadow.tech ab, einem Anbieter von Cloud-basierten Gaming-PCs. Über eine latenzoptimierte Remote-Desktop-Anwendung erhielt ich Zugriff auf einen potenten Windows-PC mit leistungsstarker Grafikkarte und konnte dort beliebige Software und Spiele installieren. Doch ich hatte und kannte keine aktuellen Spiele, die einen solchen Cloud-PC auch nur annähernd hätten ausreizen können. Daher meldete ich mich erstmals bei Steam an, der weltweit größten digitalen Onlinevertriebsplattform für Computerspiele.

Neuauflage von Doom aus dem Jahr 2016 (Bildquelle)

Auf Steam entdeckte ich für 5 Euro im Angebot die Neuauflage von Doom aus dem Jahr 2016, welche mir zum Ausprobieren der Cloud-Technologie geeignet erschien. Nach den ersten Spielrunden beeindruckte mich jedoch nicht nur die Technologie, welche es mir ermöglichte, ein relativ aktuelles und leistungshungriges Spiel mit meinem 10 Jahre alten Notebook zu spielen. Auch das Spiel selbst mit seinem schnellen Gameplay und der beeindruckenden Grafik zog mich in seinen Bann. Noch bevor ich Doom durchgespielt hatte und der Probemonat von Shadow.tech vorüber war, stand für mich fest, dass ich mehr von diesen beeindruckenden neuen Spielewelten sehen und erfahren möchte.

Wenig Freude bereitete mir der Gedanke, für das Spielen von Linux zurück auf Windows umsteigen zu müssen – um so überraschter war ich über die Erkenntnis, dass dies heute nicht mehr notwendig ist! Durch das Auseinandersetzen mit Steam stieß ich auf die integrierte Kompatibilitätsschicht Proton, welche als Weiterentwicklung bzw. Erweiterung von WINE die Ausführung von Windows-Spielen unter Linux ermöglicht. Während vor 20 Jahren mit WINE und etwas Glück gerade einmal Microsoft Word unter Linux zum Laufen gebracht werden konnte, funktionieren heute viele topaktuelle Windows-Spieletitel ohne merklichen Performanceverlust bereits wenige Tage oder Wochen nach Veröffentlichung über Proton auch unter Linux.

Der Kauf eines neuen Rechners war ohnehin bereits beschlossene Sache, aber aus dem geplanten Business-Notebook wurde nun ein Gaming-PC. Nach 10 Jahren hatte mein altes Notebook auch als Arbeitstier längst ausgedient. Nach den guten Erfahrungen mit meinem Dell Latitude E6400 sollte es ursprünglich wieder ein Business-Notebook von Dell oder ggf. auch von Lenovo werden. Da diese jedoch nur begrenzt spieletauglich sind und die monatlichen Abopreise für einen zusätzliches Cloud-Gaming-Abo damals noch recht hoch waren, entschied ich mich Ende 2019 kurzerhand gegen ein neues Notebook und für den Zusammenbau eines individuellen Gaming-PCs.

Individueller Gaming-PC mit AMD Ryzen 3700X und Radeon 5700XT

Ein spannender Seiteneffekt dieses Vorhabens war, dass ich mich nach vielen Jahren wieder einmal mit Hardwarekomponenten auseinandersetzen musste und viel über die aktuellen Prozessor- und Grafikkartengenerationen lernen konnte. Letztendlich richtete ich mich bei der Hardwareauswahl dann aber weitgehend nach den Empfehlungen der c't-Redaktion für den "optimalen PC". Bei der Grafikkarte hörte ich auf die vielen Stimmen aus der Linux-Gaming-Community und entschied ich mich aufgrund der guten quelloffenen Linux-Treiber erstmals für ein Radeon-Modell von AMD anstatt für eine Geforce-Karte von Nvidia. Das Spielen aktueller Titel unter Linux funktioniert damit tatsächlich perfekt!

Seit der Anschaffung meines neuen Computers im Dezember 2019 habe ich nun schon einige Spiele durchgespielt: Sowohl aktuelle Titel als auch alte Klassiker aus meiner Jugendzeit. Das Gameplay, die Spielewelten und Grafiken von aktuellen Titeln wie Metro Exodus und Doom Eternal sind extrem beeindruckend. Aber auch viele der oben bereits erwähnten Klassiker machen mit den richtigen Modifikationen auch heute noch sehr viel Spass.

Duke Nukem 3D (DOS-Version von 1996)

eDuke32 Source Port mit High Res. Pack

Erstaunlicherweise gibt es noch immer große und aktive Fangemeinden für das ursprüngliche Doom von 1993 und die anderen genannten Spiele. Dies lässt sich wohl damit erklären, dass diese Spiele zu ihrer Zeit zum einen tatsächlich bahnbrechend waren und damit bis heute einen Kultstatus innehalten. Zum anderen aber auch aufgrund der Tatsache, dass sie von Haus aus auf Erweiterbarkeit durch Fans ausgelegt waren und mit der Zeit auch die Quelltexte von vielen dieser Spiele von den Entwicklern unter Open-Source-Lizenzen freigegeben wurden. Dies animierte Hobbyprogrammierer, viele dieser Spiele mit modernen Grafiken auszustatten (sogenannte High Resolution Packs oder Upscale Packs) und auf moderne Betriebssysteme und Hardware zu portieren (sogenannte Source Ports).

Ein berufstätiger Vater, der mit 40 Jahren Computerspiele spielt? Beim Verfassen dieses Textes höre ich innerlich schon die Stimmen der Kritiker. Leider gibt es immer noch Menschen, in deren Augen Computerspiele nur etwas für kleine Kinder und insbesondere für kleine Jungs sind. Einmal abgesehen davon, dass vermutlich genau diese Menschen mindestens die gleiche Zeit mit passiver Berieselung vor dem Fernseher verbringen wie Spieler meines Alters aktive und kommunikative Spielzeit vor dem Computer, sind Computerspiele schon längst kein Kinderkram mehr.

Computerspiele gab und gibt es schon immer für jedes Alter und jeden Geschmack. Die Spieleindustrie ist nach dem Fernsehen inzwischen die weltweit größte Unterhaltungsindustrie – größer als Musik- und Filmindustrie zusammen. Spieleproduktionen können mittlerweile mehr als 100 Millionen US-Dollar kosten, und auch die Zusammensetzung der Spieler selbst hat sich in den letzten 10 bis 20 Jahren verändert: So liegt der Frauenanteil inzwischen bei ca. 46% und das weltweite Durchschnittsalter von Spielern bei etwa 33 Jahren – in Deutschland sogar bei ca. 37,5 Jahren, tendenz steigend. Selbst die rennomierte Unternehmensberatung Accenture beschäftigt sich mit dem Thema Gaming und titelte jüngst: Gaming: The next super platform.

Was mir persönlich in den vergangenen Monaten neben dem eigentlichen Spielen sehr viel Freude bereitet hat, war der damit einhergehend wieder auflebende regelmäßige Kontakt zu alten Schulfreunden. Denn auch sie, allesamt Anfang oder Mitte vierzig, haben – und auch das hat mich zunächst überrascht – mit dem Spielen entweder nie ganz aufgehört oder ebenfalls wieder neu angefangen. Und so rückte bei gemeinsamen Mehrspielerpartien mit simultanem Audiochat das eigentliche Spiel aufgrund der interessanten Gespräche ein manches mal sogar ganz in den Hintergrund.

In meinem Blog möchte ich zukünftig neben Reisefotos auch meine Erfahrungen zum Thema Gaming und Linux festhalten und teilen. Auch wenn beides thematisch weit auseinander liegt, möchte ich keine zwei separaten Blogs führen und wünsche mir Verständnis meiner Leser, die sich für das Thema Computerspiele nicht interessieren. All zu häufig werde ich über dieses Thema vermutlich ohnehin nichts zu berichten haben, denn ich plane weder Spiele- noch Hardwarerezensionen– dafür gibt es bereits zahlreiche gute und etablierte Quellen wie Quake Haus, GmanLives, GamingOnLinux, Phoronix sowie die Twitter-Accounts der vielen prominenten Spieleentwickler. Vielmehr möchte ich in Notizen festhalten, wie ich bestimmte Spiele (bei mir unter Gentoo Linux) installiert und eingerichtet habe. Gerade bei den älteren Klassikern war dies oft mit erheblicher Recherche und Ausprobiererei verbunden, und diese Informationen möchte ich nicht ein zweites Mal zusammentragen müssen. Und vielleicht helfen sie auch anderen Interessierten.

Für Stammleser möchte ich an dieser Stelle abschließend anmerken, dass ich zwar noch viele unveröffentlichte Reisefotos auf der Festplatte liegen habe, mir in den letzten Monaten aber ehrlicherweise die Motivation fehlte, diese für das Blog zu sortieren und zu veröffentlichen. Hinzu kommt, dass der Fokos meiner Fotos der letzten Jahre mehr meinen Kindern als Orten und Sehenswürdigkeiten galt. Und diese Kinderfotos möchte ich zur Wahrung der Persönlichkeitsrechte und Privatsphäre meiner Kinder hier nicht massenhaft öffentlich zugänglich machen.