Computerspiele

Quake 2

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?

Yamagi Quake 2 mit Neural Upscale Mod

Yamagi Quake 2 mit Neural Upscale Mod

Für ein originalgetreues Spielerlebnis der Singleplayer-Kampagne von Quake 2 aus dem Jahr 1997 verwende ich den Source Port Yamagi Quake II mit der grafischen Modifikation Quake 2 Neural Upscale.

Das Spiel

Grundsätzlich wird auch für den Source Port eine Originalversion des Spiels benötigt. Wer das Spiel nicht ohnehin bereits auf CDROM besitzt, kann es u.a. bei Steam oder GOG erwerben. Laut Internetforen ist bei den digitalen Versionen allerdings nicht immer der Soundtrack enthalten.

Die Modifikationen

Die Modifikation Quake 2 Nueral Upscale enthält mit Verfahren der künstlichen Intelligenz hochskalierte Versionen der Originalgrafiken, welche auf den heutigen hochauflösenden Monitoren optisch ansprechender sind als die Originalgrafiken.

Die Verzeichnisstruktur und Spieldateien

Es wird davon ausgegangen, dass sich die Original-(Windows/Steam/GOG)-Version von Quake 2 im Ordner ~/Quake2 befindet. Hier werden zusätzlich gemäß den nachfolgenden Anweisungen die Dateien der Modifikationen und die Audiodateien des Soundtracks abgelegt. Der Source Port wird über die Paketverwaltung des Betriebssystems ausserhalb dieses Verzeichnisbaums installiert. Die Ordnerstruktur sieht in etwa wie folgt aus:

~/Quake2                    Originalversion von Quake 2
├── baseq2                  Datendateien des Hauptspiels und Modifikationen
│   ├── music               Verzeichnis für Soundtrack des Hauptspiels
│   ├── players
│   │   ├── crakhor
│   │   ├── cyborg
│   │   ├── female
│   │   └── male
│   ├── save
│   │   ├── current
│   │   └── save0
│   └── video
├── ctf                     Erweiterung Capture the Flag (optional)
├── docs
│   └── quake2_manual
│       └── images
├── rogue                   Erweiterung Ground Zero (optional)
│   ├── docs
│   ├── music               Verzeichnis für Soundtrack der Erweiterung
│   └── video
└── xatrix                  Erweiterung The Reckoning (optional)
    ├── docs
    ├── music               Verzeichnis für Soundtrack der Erweiterung
    └── video

Installation von Yamagi Quake II unter Gentoo Linux

Eine (fast) aktuelle Version von Yamagi Quake II ist in der offiziellen Paketdatenbank von Gentoo Linux enthalten. Ich empfehle die Installation mit den folgenden USE-Flags:

linux ~ # ACCEPT_KEYWORDS="~amd64" USE="client ctf dedicated openal opengl rogue softrender vulkan xatrix" emerge games-fps/yamagi-quake2 -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.

user@linux ~ $ cp ~/Downloads/quake2-neural-upscale-models-2.0.1.pkz ~/Quake2/baseq2/
user@linux ~ $ cp ~/Downloads/quake2-neural-upscale-textures-2.0.1.pkz ~/Quake2/baseq2/

Installation der Musikdateien:

Der Soundtrack von Quake 2 und den beiden Erweiterungen befindet sich nur in Form von separaten Tonspuren auf den jeweiligen Original-CDs. Das hantieren mit CDs ist in der heutigen Zeit natürlich unpraktisch und die Source Ports haben dafür eine elegante Lösung parat: sie können die Musik auch ohne CD abspielen, wenn die Tonspuren mit einem geeigneten Programm (z.B. K3b) ausgelesen und als Musikdateien im Ogg Vorbis-Format mit bestimmten Dateinamen in bestimmten Verzeichnissen abgelegt wurden:

  • Die Tonspuren von Quake 2 können mit den Dateinamen 02.ogg bis 12.ogg im Verzeichnis ~/Quake2/baseq2/music abgelegt werden.
  • Die Tonspuren von Ground Zero können mit den Dateinamen 02.ogg bis 11.ogg im Verzeichnis ~/Quake2/rogue/music abgelegt werden.
  • Die Tonspuren von The Reckoning können mit den Dateinamen 02.ogg bis 11.ogg im Verzeichnis ~/Quake2/xatrix/music abgelegt werden.

Starten von Yamagi Quake II

Um Yamagi Quake 2 zu starten, muss lediglich in das Verzeichnis ~/Quake2 gewechselt werden und dort das systemweit installierte Programm yquake2 aufgerufen werden. Die im Verzeichnis baseq2 abgelegten Modifikationen werden automatisch geladen. Parameter sind lediglich für die Auswahl der Erweiterungen erforderlich.

1. Start des Hauptspiels:

user@linux ~ $ cd ~/Quake2
user@linux ~/Quake2 $ yquake2

2. Start der Erweiterung Ground Zero:

user@linux ~ $ cd ~/Quake2
user@linux ~/Quake2 $ yquake2 +set game rogue

3. Start der Erweiterung The Reckoning:

user@linux ~ $ cd ~/Quake2
user@linux ~/Quake2 $ yquake2 +set game xatrix

Computerspiele

Heretic

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?

Heretic (1994)

Heretic (GZDoom) m. Neural Texture Pack

Den Fantasy-Doom-Clone Heretic aus dem Jahr 1994 spiele ich mit dem Source Port GZDoom. Für ein aufgewertetes, aber immer noch weitgehend originalgetreues Spielerlebnis kombiniere ich diesen mit der grafischen Modifikation Heretic Neural Texture Pack und den musikalischen Modifikationen Dwars's Heretic HQ SFX Pack sowie dem Heretic SC-55 Music Pack oder alternativ dem Heretic Music Cover by Xeotroid.

Das Spiele

Grundsätzlich wird auch für den Source Port eine Originalversion des Spiels benötigt. Diese kann u.a. bei GOG.COM erworben werden.

Die Modifikationen

Die Modifikation Heretic Neural Texture Pack enthält mit Verfahren der künstlichen Intelligenz hochskalierte Versionen der Originalgrafiken, welche auf den heutigen hochauflösenden Monitoren optisch ansprechender sind als die Originalgrafiken.

Dwars's Heretic HQ SFX Pack enthält originalgetreue Neuaufnahmen der Soundeffekte in hoher Tonqualität. In mühevoller Kleinarbeit wurden entweder die Originalquellen der Soundeffekte ermittelt oder annähernd gleichklingende Samples abgemischt.

Das Heretic SC-55 Music Pack enthält 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. Alternativ ist das Heretic Music Cover by Xeotroid für den Soundtrack empfehlenswert.

Die Verzeichnisstruktur und Dateien für den Source Port

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

~/Heretic
├── dos                             ORIGINAL DOS-VERSION VON HERETIC
│   ├── HERETIC.WAD                 Datendatei von Heretic
│   └── ...
└── mods
    ├── audio                       MODIFIKATIONEN AUDIO:
    │   ├── sfxogg.wad              Dwars's Heretic HQ SFX Pack
    │   ├── heretic_sc55_ogg.zip    Heretic SC-55 Music Pack
    │   └── HereticPK3.pk3          Heretic Music Cover by Xeotroid
    │
    └── graphics                    MODIFIKATIONEN GRAFIK:
        └── heretic_gz.pk3          Heretic Neural Texture Pack

Aufbau der Verzeichnisstruktur und Ablage der Original-Spieldaten

Zuerst werden die Verzeichnisse angelegt:

user@linux ~ $ mkdir -p ~/Heretic/{dos,mods/audio,mods/graphics}

Anschließend werden die Dateien des DOS-Originalspiels in den Ordner ~/Heretic/dos kopiert. Für den Source Port ist die WAD-Datei HERETIC.WAD ausreichend.

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

Download der Modifikationen

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

  • Heretic Neural Texture Pack (Version 4.0.1 für GZ): heretic_gz.pk3
  • Dwars's Heretic HQ SFX Pack (OGG-Version for GZDoom, 06/28/21): sfxogg.wad
  • Heretic SC-55 Music Pack (OGG Pack): heretic_sc55_ogg.zip
  • Heretic Music Cover by Xeotroid (Game Covers -> Heretic -> For ZDoom-based ports): HereticPK3.pk3

Installation der Modifikationen

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

user@linux ~ $ cp ~/Downloads/heretic_gz.pk3 ~/Heretic/mods/graphics/
user@linux ~ $ cp ~/Downloads/{sfxogg.wad,heretic_sc55_ogg.zip,HereticPK3.pk3} ~/Heretic/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:

Heretic mit SC-55 Music Pack:

user@linux ~ $ gzdoom -iwad ~/Heretic/dos/HERETIC.WAD -file ~/Heretic/mods/graphics/heretic_gz.pk3 -file ~/Heretic/mods/audio/sfxogg.wad -file ~/Heretic/mods/audio/heretic_sc55_ogg.zip

Heretic mit Music Cover by Xeotroid:

user@linux ~ $ gzdoom -iwad ~/Heretic/dos/HERETIC.WAD -file ~/Heretic/mods/graphics/heretic_gz.pk3 -file ~/Heretic/mods/audio/sfxogg.wad -file ~/Heretic/mods/audio/HereticPK3.pk3

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

Analog zu den Angaben in meinem Beitrag zu Doom.

3. GZDoom nach dem ersten Start konfigurieren

Analog zu den Angaben in meinem Beitrag zu Doom.

Computerspiele

Blood

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?

Blood (1997)

NBlood mit Upscale Pack

Für die Singleplayer-Kampagnen des DOS-Spiels Blood aus dem Jahr 1997 verwende ich den Source Port NBlood mit der Modifikation Blood Upscale Pack, welche optional mit dem Blood Voxel Pack kombiniert werden kann.

Der Source Port NBlood

Mit NBlood lässt sich Blood nativ unter Linux mit heutigen Bildschirmauflösungen und wahlweise einem Software- oder OpenGL-Renderer spielen

Mit Stand vom 19.11.2021 unterstützt der NBlood-Hauptentwicklungszweig (master) allerdings noch nicht das Feature "indexed hightiles" (u.a. Definition von "T_INDEXED" in der Datei source/build/src/defs.cpp). Dieses wird benötigt, wenn das aktuelle Upscale-Paket (Version 2.1) verwendet werden soll und ist im Entwicklungszweig "upscale" enthalten (commit).

Der NBlood-Entwicklungszweig "upscale" kann wie folgt heruntergeladen und kompiliert werden:

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

user@linux ~/Blood $ git clone https://github.com/nukeykt/NBlood.git
user@linux ~/Blood $ cd NBlood
user@linux ~/Blood/NBlood $ git checkout upscale
user@linux ~/Blood/NBlood $ make

Soll das Upscale-Paket nicht verwendet werden oder wurde die "indexed hightiles" Funktionalität in den Hauptzweig aufgenommen, kann auf den Befehl "git checkout upscale" verzichtet werden.

Die Installation des Gentoo-Pakets aus dem inoffiziellen Overlay jorgicio (enthält nicht die "indexed hightiles" Funktionalität) ist unabhängig von dessen Verwendung vor dem Kompilieren der GIT-Version empfehlenswert, da so automatisch alle benötigen Bibliotheken installiert werden:

linux ~ # ACCEPT_KEYWORDS="~amd64" USE="flac fluidsynth gtk opengl pulseaudio server timidity vorbis vpx xmp tools" emerge nblood -pv

Zuletzt von mir verwendete Revision: dfbee4aa6c233af062147d9cb873b217b322201d

Die Mods Blood Upscale Pack und Blood Voxel Pack

Das Upscale Pack enthält mit Verfahren der künstlichen Intelligenz hochskalierte Versionen der Originalgrafiken, welche auf den heutigen hochauflösenden Monitoren optisch ansprechender sind als die Originalgrafiken. Es enthält außerdem eine ebenfalls hochskalierte Version der Modifikation Smoothblood, welche das Spiel um flüssigere Waffenanmiationen ergänzt.

Das Voxel Pack ersetzt die 2D-Sprites einiger Objekte durch 3D-Modelle. Leider sind die Texturen dieser 3D-Modelle nicht analog zu den Grafiken des Upscale Packs hochskaliert und die betroffenen Objekte wirken in der Spielewelt daher pixeliger als die im Upscale-Pack enthaltenen Grafiken. Hier muss man abwägen, was besser gefällt: auf die restliche Optik abgestimmte 2D-Sprites mit feineren Pixeln oder 3D-Modelle mit etwas gröberen Pixeln.

Die Mods können wie folgt heruntergeladen werden:

Die Mods können wie folgt installiert werden:

Im Folgenden wird davon ausgegangen, dass die heruntergeladenen Dateien im Ordner ~/Downloads gespeichert wurden.

Upscale Pack:

user@linux ~ $ mkdir -p ~/Blood/mods/blood-upscale-pack-v2.1
user@linux ~ $ unzip ~/Downloads/bloodupscalepack.zip -d ~/Blood/mods/blood-upscale-pack-v2.1/

Voxel Pack:

user@linux ~ $ mkdir -p ~/Blood/mods/blood-voxel-pack-v0.95
user@linux ~ $ cp ~/Downloads/voxels_blood_v095.zip ~/Blood/mods/blood-voxel-pack-v0.95/.

NBlood kann mit den installierten Mods wie folgt gestartet werden:

Reguläre Kampagne und Plasma Pak:

user@linux ~/Blood $ NBlood/nblood -g mods/blood-upscale-pack-v2.1/autoload/base-component.zip -g mods/blood-upscale-pack-v2.1/autoload/smoothblood_upscale.zip -g mods/blood-voxel-pack-v0.95/voxels_blood_v095.zip -h mods/blood-upscale-pack-v2.1/blood.def

Offizielle Erweiterung Cryptic Passage:

user@linux ~/Blood $ NBlood/nblood -ini CRYPTIC.INI -g mods/blood-upscale-pack-v2.1/autoload/base-component.zip -g mods/blood-upscale-pack-v2.1/autoload/smoothblood_upscale.zip -g mods/blood-voxel-pack-v0.95/voxels_blood_v095.zip -h mods/blood-upscale-pack-v2.1/blood.def

Der gewünschte Renderer (Software oder OpenGL) kann gemeinsam mit der Bildschirmauflösung über das Popup bei Programmstart ausgewählt werden.

Soll das Voxel-Pack nicht verwendet werden, ist es ausreichend, den Kommandozeilenparameter "-g mods/blood-voxel-pack-v0.95/voxels_blood_v095.zip" wegzulassen.

Anmerkung: Die Definitionsdatei blood.def aus dem Upscale-Pack sieht bereits die Integration des Voxel-Packs vor und enthält bereits dessen Definitionen. Daher ist es nicht erforderlich, die dem Voxel-Pack beiliegende Definitionsdatei zusätzlich zu laden.

Multiplayer

Ob Multiplayerspiele mit NBlood möglich sind, habe ich bislang weder recherchiert noch ausprobiert. Ggf. ist hier ein anderer Source Port erforderlich oder es muss auf die ursprüngliche DOS-Version mit DOSBox zurückgegriffen werden.

Computerspiele

Shadow Warrior

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?

Shadow Warrior (1997)

VoidSW mit HRP und Upscale Pack

Für die Single-Player-Kampagnen des DOS-Spiels Shadow Warrior aus dem Jahr 1997 verwende ich den Source Port VoidSW mit der Modifikation Shadow Warrior Upscale Pack v1.1. Alternativ bzw. ergänzend denke ich über den Einsatz ausgewählter Bestandteile der Mod HRP Shadow Warrior nach.

DOS-Version von Shadow Warrior

Auch für den Source Port muss eine Originalversion des Spiels vorhanden sein. Falls dies nicht der Fall ist, kann die DOS-Version von Shadow Warrior kostenlos über GOG.COM bezogen werden. Hierzu den "Linux-Installer" des Spiels herunterladen (Datei gog_shadow_warrior_classic_complete_2.0.0.4.sh) und im Ordner ~/Downloads speichern. Die Installation kann wie folgt erfolgen:

1. Linux-Installer ausführbar machen, aufrufen und das Gesamtpaket im Vorgabeverzeichnis (~/GOG Games/Shadow Warrior Classic Complete) installieren:

user@linux ~/Downloads $ chmod 755 gog_shadow_warrior_classic_complete_2.0.0.4.sh
user@linux ~/Downloads $ ./gog_shadow_warrior_classic_complete_2.0.0.4.sh

2. Dateien der DOS-Version aus der GOG-Installation in den Ordner ~/ShadowWarrior kopieren:

user@linux ~/Downloads $ cp -R ~/GOG\ Games/Shadow\ Warrior\ Classic\ Complete/data ~/ShadowWarrior

3. Korrekte benannte Symlinks zu den Audiodateien anlegen, damit der Soundtrack in VoidSW abgespielt wird:

user@linux ~/Downloads $ cd ~/ShadowWarrior
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track02.ogg track02.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track03.ogg track03.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track04.ogg track04.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track05.ogg track05.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track06.ogg track06.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track07.ogg track07.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track08.ogg track08.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track09.ogg track09.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track10.ogg track10.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track11.ogg track11.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track12.ogg track12.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track13.ogg track13.ogg
user@linux ~/ShadowWarrior $ ln -s MUSIC/Track14.ogg track14.ogg

Die Modifikationen Shadow Warrior Upscale Pack und HRP Shadow Warrior

Das Upscale Pack enthält mit Verfahren der künstlichen Intelligenz hochskalierte Versionen der Originalgrafiken, welche auf den heutigen hochauflösenden Monitoren optisch ansprechender sind als die Originalgrafiken. Das HRP enthält hochauflösende, von Fans neu erstellte Grafiken und 3D-Modelle.

Leider enthält das Shadow Warrior Upscale Pack noch keine hochskalierten Texturen, sondern nur hochskalierte Sprites. Diese gefallen mir dafür in einigen Fällen deutlich besser als die hochauflösenden Versionen im HRP. Insbesondere im Fall der Monster gefallen mir die Sprites deutlich besser als die 3D-Modelle des HRPs, welche zudem noch unvollständig animiert und damit aus meiner Sich auch insgesamt unbrauchbar sind. Bei Zerstörung eines Monsters mit dem Schwert springt nämlich die Anzeige zwischen 3D-Modell und Sprite hin- und her. Auch sind die Grafiken im HRP naturgemäß nicht immer originalgetreu und beispielsweise sieht der Himmel im ersten Level der ersten Episode schon deutlich anders als im Original und im Upscale Pack aus. Dies muss nicht stören, ist aber Geschmackssache.

Da im HRP die einzelnen Bestandteile (z.B. Texturen, Monster-Modelle, Voxels, Schriften, etc.) gut strukturiert und mit jeweils separaten Definitionsdateien versehen sind, kann es nicht nur vollumfänglich verwendet werden, sondern relativ einfach auch eine eigene Auswahl von bestimmten Bestandteilen getroffen werden. Beispielsweise bietet es sich an, das Upscale Pack mit den Texturen des HRPs zu kombinieren. Dazu unten mehr.

Der Source Port VoidSW

Mit VoidSW lässt sich Shadow Warrior nativ unter Linux mit heutigen Bildschirmauflösungen und wahlweise einem Software- oder OpenGL-Renderer spielen. Es ist Bestandteil des eDuke32-Projektes, einem Source Port für Duke Nukem 3D.

Mit Stand vom 20.11.2021 unterstützt der VoidSW-Hauptentwicklungszweig (master) noch nicht das Feature "indexed hightiles" (u.a. Definition von T_INDEXED in source/build/src/defs.cpp). Dieses ist im Entwicklungszweig "upscale" enthalten und wird benötigt, wenn das Upscale-Paket zusammen mit dem klassischen Software-Renderer verwendet werden soll.

Der VoidSW-Entwicklungszweig "upscale" kann wie folgt heruntergeladen und kompiliert werden:

Im Folgenden wird davon ausgegangen, dass sich die DOS-Version von Shadow Warrior im Ordner ~/ShadowWarrior befindet. Auf Abhängigkeiten zu externen Bibliotheken wird an dieser Stelle nicht näher eingegangen.

user@linux ~/ShadowWarrior $ git clone https://voidpoint.io/terminx/eduke32.git voidsw
user@linux ~/ShadowWarrior $ cd voidsw
user@linux ~/ShadowWarrior/voidsw $ git checkout upscale
user@linux ~/ShadowWarrior/voidsw $ make sw

Das HRP funktioniert nur mit dem OpenGL-Renderer vollständig.

Soll das Upscale-Paket oder der Software-Renderer nicht verwendet werden, oder wurde die "indexed hightiles" Funktionalität in den Hauptzweig aufgenommen, kann auf den Befehl "git checkout upscale" verzichtet werden und der Hauptzweig verwendet werden. Alternativ könnte dann auch die (ggf. nicht so aktuelle) Version von VoidSW aus dem Gentoo-Repository verwendet werden (Paket: games-fps/eduke32) - sie enthält die "indexed hightiles" Funktionalität ebenfalls noch nicht.

Die Installation des Gentoo-Pakets (enthält nicht die "indexed hightiles" Funktionalität) ist unabhängig von dessen Verwendung vor dem Kompilieren der GIT-Version empfehlenswert, da so automatisch alle benötigen Bibliotheken installiert werden:

linux ~ # ACCEPT_KEYWORDS="~amd64" USE=" fluidsynth gtk opengl png server timidity tools voidsw vpx xmp -duke3d -hrp -offensive -opl -psx -sc-55 -sdk -voxels" emerge eduke32 -pv

Zuletzt von mir verwendete Revision: 3a30f5a7a68c175e534b2476be737fffbe2d08db

Issue 208: Mausbewegungen sind sehr langsam

Im Hauptentwicklungszweig (master) sind mit Stand vom 20.11.2021 die Mausbewegungen in VoidSW sehr langsam. Dieser Regressionsfehler wurde durch 2 Commits verursacht und mit Issue 208 berichtet. Der Upscale-Entwicklungszweig ist derzeit nicht so stark besprochen, da dort nur einer von den beiden verursachenden Commits enthalten ist. Bis zur zentralen Fehlerbehebung kann der eine Commit (upscale-Zweig) bzw. können die beiden Commits (master-Zweig) lokal rückgängig gemacht werden, indem vor dem Ausführen des Befehls "make sw" die folgenden Befehle ausgeführt werden:

user@linux ~/ShadowWarrior/voidsw $ wget https://voidpoint.io/terminx/eduke32/-/commit/08d6271dfe4efbe84f4baf46bd324cd624aca6a5.diff
user@linux ~/ShadowWarrior/voidsw $ patch -R -p1 < 08d6271dfe4efbe84f4baf46bd324cd624aca6a5.diff
user@linux ~/ShadowWarrior/voidsw $ wget https://voidpoint.io/terminx/eduke32/-/commit/b51b553460b711b6965dda2e18e37b696312e191.diff
user@linux ~/ShadowWarrior/voidsw $ patch -R -p1 < b51b553460b711b6965dda2e18e37b696312e191.diff

Die Mods können wie folgt heruntergeladen werden:

  • Shadow Warrior Upscale Pack Version 1.1: swupscale.zip
  • HRP Shadow Warrior: Download der aktuellsten Version (Rev 21) aus dem SVN-Repository http://svn.eduke32.com/sw_hrp/ (siehe unten)

Die Mods können wie folgt installiert werden:

Upscale Pack:

Im Folgenden wird davon ausgegangen, dass die heruntergeladene Datei im Ordner ~/Downloads gespeichert wurde.

user@linux ~ $ mkdir -p ~/ShadowWarrior/mods/shadow-warrior-upscale-pack-v1.1
user@linux ~ $ cp ~/Downloads/swupscale.zip ~/ShadowWarrior/mods/shadow-warrior-upscale-pack-v1.1/.

High Resolution Pack (HRP):

Es wird eine zusätzliche, optionale Definitionsdatei für das gesamte HRP ohne 3D-Monster erzeugt.

user@linux ~ $ mkdir -p ~/ShadowWarrior/mods/shadow-warrior-hrp-svn
user@linux ~ $ cd ~/ShadowWarrior/mods/shadow-warrior-hrp-svn
user@linux /ShadowWarrior/mods/shadow-warrior-hrp-svn $ svn checkout http://svn.eduke32.com/sw_hrp
user@linux /ShadowWarrior/mods/shadow-warrior-hrp-svn $ grep -v "monsters" sw_hrp/highres/sw_hrp.def > sw_hrp/highres/sw_hrp_nomonsters.def
user@linux ~ $ cd sw_hrp
user@linux ~/ShadowWarrior/mods/shadow-warrior-hrp-svn/sw_hrp $ zip -r ../sw_hrp.zip *

VoidSW kann mit den installierten Mods wie folgt gestartet werden:

Software-Renderer mit Upscale-Pack

Voraussetzung: VoidSW-Version mit Unterstürzung für "indexed hightiles" (siehe oben)

Kampagne des Hauptspiels:

user@linux ~/ShadowWarrior $ voidsw/voidsw -gmods/shadow-warrior-upscale-pack-v1.1/swupscale.zip -mhswindexed.def

Kampagne der Erweiterung Wanton Destruction:

user@linux ~/ShadowWarrior $ voidsw/voidsw -addon1 -gmods/shadow-warrior-upscale-pack-v1.1/swupscale.zip -mhwdindexed.def

Kampagne der Erweiterung Twin Dragon:

user@linux ~/ShadowWarrior $ voidsw/voidsw -j`pwd`/dragon/ -addon2 -gmods/shadow-warrior-upscale-pack-v1.1/swupscale.zip -mhtdindexed.def

Der Software-Renderer muss gemeinsam mit der Bildschirmauflösung über das Popup bei Programmstart ausgewählt werden.

OpenGL-Renderer mit Upscale-Pack und HRP (ohne Monster)

Kampagne des Hauptspiels:

user@linux ~/ShadowWarrior $ voidsw/voidsw -gmods/shadow-warrior-upscale-pack-v1.1/swupscale.zip -hswupscale.def -gmods/shadow-warrior-hrp-svn/sw_hrp.zip -mhhighres/sw_hrp_nomonsters.def

Kampagne der Erweiterung Wanton Destruction:

user@linux ~/ShadowWarrior $ voidsw/voidsw -addon1 -gmods/shadow-warrior-upscale-pack-v1.1/swupscale.zip -hwdupscale.def -gmods/shadow-warrior-hrp-svn/sw_hrp.zip -mhhighres/sw_hrp_nomonsters.def

Kampagne der Erweiterung Twin Dragon:

user@linux ~/ShadowWarrior $ voidsw/voidsw -j`pwd`/dragon/ -addon2 -gmods/shadow-warrior-upscale-pack-v1.1/swupscale.zip -htdupscale.def -gmods/shadow-warrior-hrp-svn/sw_hrp.zip -mhhighres/sw_hrp_nomonsters.def

Der OpenGL-Renderer muss gemeinsam mit der Bildschirmauflösung über das Popup bei Programmstart ausgewählt werden.

Zu beachten ist, dass viele Texturen der Erweiterungen im HRP nicht enthalten sind; es werden stattdessen die Originaltexturen angezeigt.

Der obige Aufruf sieht vor, dass Inhalte im HRP vorrang gegenüber Inhalten im Upscale-Paket haben. Dies erfolgt, indem mit dem Parameter "-h" die Definitionsdatei des Upscale-Pakets als Hauptdefinitionsdatei geladen wird und mit dem Parameter "-mh" die Definitionsdatei des HRPs als Moduldefinitionsdatei geladen wird. Die Reihenfolge kann auf Wunsch auch getauscht werden.

Falls das HRP nicht verwendet werden soll, kann der Parameter "-mhhighres/sw_hrp_nomonsters.def" weglassen werden.

Falls nur bestimmte Bestandteile und nicht das vollständige HRP verwendet werden soll, kann der Parameter "-mhhighres/sw_hrp_nomonsters.def" durch beliebig viele Parameter entsprechend der nachfolgenden Tabelle ersetzt werden. Sollen beispielsweise nur die Texturen, Schilder und Knöpfe aus dem HRP verwendet werden, bietet sich stattdessen eine Kombination der Parameter "-mhhighres/textures.def -mhhighres/sprites/signs.def -mhhighres/sprites/switches.def" an.

ParameterHRP-Bestandteil
-mhhighres/sw_hrp.defVollständiges HRP
-mhhighres/sw_hrp_nomonsters.defVollständiges HRP außer 3D-Modelle der Monster
-mhhighres/screen/fonts.defOberfläche: Schriften
-mhhighres/screen/menu.deOberfläche: Menü
-mhhighres/screen/hud.defOberfläche: HUD
-mhhighres/skyboxes/skyboxes.defHimmel/Hintergründe
-mhhighres/sprites/decals.defSprites: Blutspuren
-mhhighres/sprites/effects.defSprites: Effekte
-mhhighres/sprites/monsters.def3D-Modelle: Monster
-mhhighres/sprites/pickups.defSprites und 3D-Modelle: Aufnehmbare Gegenstände
-mhhighres/sprites/props.defSprites und 3D-Modelle: Requisiten
-mhhighres/sprites/signs.defSprites: Schilder
-mhhighres/sprites/switches.defSprites: Schalter
-mhhighres/sprites/voxels.def3D-Modelle: Requisiten
-mhhighres/sprites/projectiles.defSprites: Projektile
-mhhighres/textures.defTexturen

Multiplayer

Ob Multiplayerspiele mit VoidSW möglich sind, habe ich bislang weder recherchiert noch getestet. Ggf. ist hier ein anderer Source Port erforderlich oder es muss auf die ursprüngliche DOS-Version mit DOSBox zurückgegriffen werden.

Auch Interessant - Für später merken: