Jagged Alliance 2 Stracciatella

Bild des Benutzers meldrian

Jagged Alliance 2 Stracciatella ist ein Communityprojekt, das sich aus der früheren Herausgabe des Quellcodes von Jagged Alliance 2 gebildet hat. Ziel des Projekts ist es Jagged Alliance 2 auf einer breiten Masse an Plattformen ausführ- und spielbar zu machen, die Stabilität des Kernspiels zu erhöhen, bestehende Fehler der Grundversion auszumerzen und einen stabilen Unterbau für die zukünftige Entwicklung weiterer Modifikationen zu schaffen.

Um Jagged Alliance 2 unter Verwendung der angepassten Laufzeitumgebung spielen zu können sind weiterhin die Spieldateien der originalen Windows- oder Linux-Version erforderlich, da diese aus rechtlichen Gründen nicht im Projekt enthalten sein dürfen. Die hier beschriebene freie Portierung basiert auf dem beigelegten Quellcode, der in späteren Verkaufsboxen mitgeliefert wurde. Um aus der Portierung und den Datendateien ein lauffähiges Spiel zu machen sind einige Schritte notwendig. Es wird allerdings auch ein AppImage auf der Projekt-Webseite angeboten.

Um an die Spieledateien zu kommen, könnt ihr entweder die Installation je nach Version entweder per Dosbox, Wine oder über Steam oder bei GOG über Innoextract für den Windows-Installer ausführen.

Spieledateien

Steam

Jagged Alliance 2: Wildfire liefert euch als DLC die Classic-Version mit. Beides sind Wine-Ports. Aber diese könnt ihr mit dieser Version die notwendigen Dateien für Stracciatella erhalten. Startet das AppImage und wählt im Konfigurationsprogramm das Unterverzeichnis eurer SteamLibrary SteamLibrary/steamapps/common/ja2_wildfire/JA2Classic/ aus. Damit lässt sich das Spiel problemlos und ohne große Umbauaktion starten.

GOG

Ladet euch das Windows-Setup von der GOG-Seite oder über einen Launcher eurer Wahl herunter und entpackt es mit InnoExtract:

innoextract -L -d /tmp/ja2 -e setup_jagged_alliance_2_1.12_\(17794\).exe

Wählt dann im Launcher das Verzeichnis /tmp/ja2/app/ aus und startet das Spiel.

DVD-ROM

Zuerst solltet Ihr euch die Quelldateien des Ports von der Homepage (Veröffentliche Versionen auf GitHub) herunterladen und entpacken. Ob ihr diese Schritte auf der GUI eures Linux durchführt oder bereits im Terminal arbeitet bleibt euch und euren Fähigkeiten überlassen.

Anschließend sollte man die config.template in config.default umbenennen

mv config.template config.default

und die Sprache in der eure Spieldaten vorliegen entsprechend einkommentieren, also das # davor entfernen. Öffnet dazu besagte Datei im Terminal via vim, nano, etc. oder eben grafisch via mousepad o.ä.
Falls ihr Die Daten der deutschen Version besitzt wäre die durchzuführende Anpassung entsprechend #LNG := GERMAN zu LNG := GERMAN (Hinweis: das # wurde entfernt).

Sind diese Schritte durchgeführt, kann man die freie Laufzeitumgebung kompilieren lassen.

make

Ist dieser Vorgang fehlerfrei durchgelaufen, ist man bereits fast fertig.
Die Data Files der verbreiteteren Windowsversion liegen leider in Großbuchstabenformat vor und das soeben via make gebaute Binary kann diese richtigen Daten so nicht finden. Um das zu beheben gibt es einen kleinen Helfer im vom Projekt mitgelieferten Makefile.

make lowercase

Leider hat sich ein kleiner Fehler in das Makefile eingeschlichen und die Data Files zum Umbenennen werden unter /Data vermutet und nicht im lokalen Verzeichnis.
Um das zu beheben geht man im Makefile ganz nach unten auf Zeile 523 und ändert dies

"$(SGPDATADIR)"/Data/*.[Ss][Ll][Ff] "$(SGPDATADIR)"/Data/TILECACHE/*.[Jj][Ss][Dd] "$(SGPDATADIR)"/Data/TILECACHE/*.[Ss][Tt][Ii]; \

in dieses hier ab:

"$(SGPDATADIR)"Data/*.[Ss][Ll][Ff] "$(SGPDATADIR)"Data/TILECACHE/*.[Jj][Ss][Dd] "$(SGPDATADIR)"Data/TILECACHE/*.[Ss][Tt][Ii]; \

Nun werden die Data Files im ja2-Ordner vermutet und man kann diese dort direkt von der Windows Version einfügen und mit

make lowercase

so umwandeln, dass der SDL-Port die Daten auch findet.
Damit der SDL-Port später die Daten findet, muss man noch ein paar Kleinigkeiten ergänzen. Einen Order im Home-Verzeichnis anlegen und den Pfad zu den Daten beschreiben. Hierbei ist es jedoch wichtig nur den Überordner zu den Daten zu beschreiben, beispielsweise also ja2-0.12.1 für die spätere Data Location ja2-0.12.1/Data. Auf dem Terminal wie folgt:

mkdir ~.ja2
echo "data_dir =/mnt/games/ja2-0.12.1" >> ~.ja2/ja2.ini

Sobald die Daten nun aus der Windows bzw. Linux-Version extrahiert und mit make lowercase bearbeitet wurden, kann man das Spiel starten.

./ja2

Windows-Version

Installiert das Spiel mit Wine ganz normal und patcht es auf die Version 1.07 hoch bzw. die Gold Version auf 1.12.
Achtet nachfolgend darauf, die für euch zutreffenden Pfade zu verwenden (nicht copy und paste). Kopiert den Data Order nach bspw. /mnt/games/ja2-0.12.1 und lasst make lowercase drüber laufen.

cp -R /Pfad/zum/wine/JA2/Data /mnt/games/ja2-0.12.1
cd /mnt/games/ja2-0.12.1
make lowercase

Der Daten Ordner liegt nun hier:

/mnt/games/ja2-0.12.1/Data

So nun ist der Port startbereit. Die Wine-Installation kann man anschließend wieder löschen.

JA2 UB Funktionen in JA2 Stracciatella

Eine sehr hilfreiche Änderung des Erweiterungspakets Jagged Alliance 2 - Unfinished Business war die Möglichkeit die Sichtweite eines Söldners einblenden zu lassen sowie ein zusätzlicher grafischer Indikator, um zu sehen, wie gut man gegenüber des Feindes in Deckung ist. Stracciatella besitzt zwar die Möglichkeit zur Nutzung dieses Features (Tasten ENDE & ENTF), benötigt aber die Datei "Highl3.sti" von Jagged Alliance 2 - Unfinished Business oder aus der Jagged Alliance 2 GOLD Edition um mehr als nur eine graue Platzhaltegrafik anzeigen zu können.

Die benötigte Datei liegt im Spielverzeichnis genannter Versionen unter "/Data/tilesets/0" und muss, damit Stracciatella diese nutzen kann, unter dem gleichen Pfad im Stracciatella-Datenverzeichnis zu finden sein.
An einem Beispiel festgemacht, nutzt man zum Spielen von Stracciatella die Daten der Steamversion von JA2-Classic (also JA2-Wildfire, dort ist dieses enthalten), muss die Datei "Highl3.sti" nach "/home/user/.steam/steam/steamapps/common/ja2_wildfire/JA2Classic/Game/Data/tilesets/0" kopiert werden. Fortan ist die Funktion im Spiel nutzbar und man erhält durch farbige Markierungen eine verbesserte taktische Übersicht.

Besonderheiten von JA2 Stracciatella

Stracciatella sorgt nicht nur dafür dass Jagged Alliance 2 plattformübergreifend gespielt werden kann. Es gibt dem Spieler Möglichkeiten an die Hand aktiv das Spielgeschehen zu verändern. So werden, im Gegensatz zum Originalspiel, viele Eigenschaften von Spielelementen über .JSON-Dateien verfügbar gemacht und können vom Spieler angepasst werden. Einige der interessantesten Funktionen hat die Datei "game.json" inne, unter anderem die Funktion "drop_everything", was getötete Gegner dazu veranlasst ihr gesamtes Inventar zu verlieren statt nur einen zufälligen Gegenstand (oder sogar überhaupt nichts). Auch lässt sich das anfängliche Budget in dieser Datei verringern oder vergrößern. Gleiches gilt für die zu vergebenen Punkte beim B.S.E. Persönlichkeitstest. Der Wert "ms_per_game_cycle" kann verringert werden, um schnellere Schusswechsel und Bewegungen nicht-sichtbarer Gegner zu erhalten, was den Spielablauf beschleunigt.

Trivia

  • Der Quellcode des Spiels wurde ab einem gewissen Zeitpunkt den Verkaufsboxen beigelegt. Daraus entwickelte sich dann Ja2-Stracciatella.
  • Auf der "History"-Seite der Projekthomepage finden sich zahlreiche Titel und Mods aus dem Jagged Alliance Universum. (Link)
Screenshots und Videos
Mastodon