Navigation
Jagged Alliance „Stracciatella“
Jagged Alliance „Stracciatella“, abgekürzt JA2S ist die letzte und soweit ich weiß auch noch die einzige aktive Version von Jagged Alliance 2 an der gearbeitet wird. Das Projekt gibt es schon lange (seit 2016), doch sehr lange musste man den Quelltext selbst übersetzen, was die meisten Fans die Nicht-Entwickler sind ausschloss.
Seit 2022 gibt es einen GUI Installer der unter Windows funktioniert. Ebenso Portierungen für Linux und ARM-Systeme wie den Raspberry Pi. Im Folgenden gehe ich nur auf die Windows Version ein.
Den Namen „ Stracciatella“ gaben die Entwickler dem Projekt weil Jagged Alliance 2 schon intern Namen von Eissorten hatte, die letzte Version von Jagged Alliance 2 hatte den Codenamen „Vanilla“.
Der für die meisten Anwender wichtigste Punkt ist, das Jagged Alliance 2 und einige Mods nun nativ unter modernen Windows Versionen funktionieren. Es gab in der Vergangenheit immer mehr Probleme. Sie beruhen letztendlich darauf, das Jagged Alliance für Windows 95-98 entwickelt wurde, das praktisch keine Sicherheitsmechanismen und Benutzerrechte kannte und Windows mit jeder neuen Version mehr und mehr durch Rechteverwaltung das Spielen unmöglich machte. Ich selbst habe seit Jahren aus dem Grund Jagged Alliance nur noch in einer virtuellen Maschine (Oracle VM VirtualBox) gespielt.
Anders als beim Mod 1.13 benötigt man alle Datendateien von Jagged Alliance 2, am besten kopiert man sich die ganze CD auf eine Festplatte, ist heute vom Platz her ja kein Problem mehr. Der Download enthält nur neue EXE-Dateien des Spiels.
Sie finden das Ende 2022 noch aktive Projekt auf seiner Community Seite.
Download und Installation
Nach dem Download des Installers steht schon die erste Hürde an. Microsoft will nur signierte Apps ausführen lassen. Dafür muss man diese an Microsoft senden und natürlich für die Überprüfung zahlen. Das macht es kleinen Softwareentwicklern, dazu gehört auch der Autor, das Leben schwer. Wenn der Installer zum ersten Mal ausgeführt wird erhaltet ihr diese Box:
Klickt auf „Weitere Informationen“ und die Schaltfläche „Trotzdem Ausführen“ erscheint, die ihr anklicken könnt. Es kommt dann noch eine Abfrage von Admin-Rechten, wie von dem einen oder anderen Spiel schon bekannt.
Nach dem Durchlaufen des Installers kommt der neue GUI Launcher. Ihr müsste vor dem ersten Starten angeben wo sich euer Jagged Alliance befindet wie in diesem Fenster gezeigt. Wenn ihr den Pfad austauscht könnte ihr auch andere Versionen von Ja 2 starten
Beim zweiten Starten merkt man das Windows solche „unsignierten“ Apps benachteiligt man kann nicht im Startmenü „Ja“ eintippen und hoffen, dass dann das Programm auftaucht, stattdessen muss man bis Buchstaben „J“ in der Leiste scrollen und von dort aus aufrufen. Ich rate dazu, weil auch vom Installer kein Desktop Icon angelegt wird, dort zuerst „Dateispeicherort öffnen“ zu wählen, den Starter zu wählen, dann rechts klicken und „Verknüpfung erstellen“ wählen. Das wird scheitern, doch schlägt dann Windows vor eine Verknüpfung auf dem Desktop anzulegen und das ist ja genau das was wir wollen.
Derzeit funktioniert bei mir unter Stracciatella das originale Jagged Alliance, ebenso Deidranna lives! Nicht dagegen die Mods Jagged Alliance 1.1.3 und Urban Chaos. Auch der Ableger Unfinished Business lies sich nicht starten. Wahrscheinlich dürften alle Mods laufen, die nur Karten austauschen, nicht dagegen Mods, welche die Story umschreiben und Änderungen an der Ja2.exe vornehmen. Jagged Alliance Wildfire kann nach der Projekt-Homepage über einen Mod gestartet werden, aber nicht direkt über den Launcher.
Das ist neu
Jagged Alliance Stracciatella hat das Ziel das Spiel zu verbessern, aber nicht grundsätzliche neue Elemente einzuführen, wie eine neue Story oder neue Waffen und Ausrüstungsgegenstände. Das Spiel hat nun auch eine Unterstützung für Touch-Geräte wie Tabletts.
Die Engine unterstützt nun das Speichern und Laden von beliebig benannten Spielständen und einer beliebigen Anzahl von Spielständen. Der Ladebildschirm wurde mit Spielmodus-, Schwierigkeits- und Mod-Informationen sowie einer Bildlaufleiste erweitert.
Beim BSE Test gibt es Hinweise welche Auswirkung welche Antwort hat, also welche Fähigkeit oder Nachteil erworben wird. Er kann aber nur einmal durchlaufen werden. Bei mir waren trotz gewähnter deutschsprachiger Version die Texte auf englisch-
Es gibt eine Reihe von neuen Tastaturkürzeln:
scroll lock: Maus einfangen im Fenstermodus umschalten
alt-r: gehaltene Waffe nachladen
ctrl-shift-r: Nachladen der Waffen der gesamten Gruppe
ctrl-l: Spiel laden, wenn der Gegner/die Miliz an der Reihe ist
ctrl-n: Umschalten zwischen Tag- und Nachtausrüstung (Brille)
für die gesamte Gruppe
ctrl-q: Handgegenstände tauschen
shift-j: durch offenes Fenster klettern
f: Anzeige der prozentualen Trefferchancen für eine bestimmte
Kachel
Wenn man das Spiel im Debug Modus startet stehen weitere Tastenkombinationen zur Verfügung:
Taktischer Bildschirm:
F11 für Quest-Debug-Bildschirm
CTRL+f für die FPS-Anzeige
CTRL+z zum Umschalten des Z-Puffers
ALT+m für den Debug-Modus der Level-Knoten
ALT+n zum Abspielen von Zitaten des schwebenden Söldners
q für den Debug-Modus für Soldaten und Land
y für den Struktur-Debug-Modus
Um einen Bildschirm zu verlassen, drücken Sie q. Um durch
verschiedene Seiten zu blättern, verwenden Sie pageup und
pagedown.
Der Debugmodus wird aktiv wenn man das Spiel mit dem Parameter -Debug
startet, dies macht man am besten bei der Programmverknüpfung
Dead is Dead
Dead is Dead ist ein neuer Spielmodus für Spieler, die eine
noch größere Herausforderung suchen und denen Iron Man Modus
noch nicht ausreicht. Mit dem Modus "Dead is Dead" nimmt das
Spiel die Last des Speicherns und der Verwaltung von
Spielständen ab, damit Sie sich auf die wichtigen Dinge
konzentrieren können.
Sie wählen zu Beginn eines neuen Spiels einen Speicherplatz aus,
den das Spiel während des gesamten Durchgangs beibehält. Das
Spiel speichert auch, bevor Sie das Spiel verlassen, so dass Sie
sicher sein können, dass Sie immer dort weitermachen können, wo
Sie aufgehört haben.
Bei Dead is Dead gibt es kein Zurück mehr. Wenn Söldner sterben,
gibt es keine Möglichkeit, sie zurückzubringen. Wenn Sie einen
Fehler machen, gibt es keine Möglichkeit, ihn rückgängig zu
machen. Seien Sie also vorsichtig, gehen Sie auf Nummer sicher
und bereiten Sie sich darauf vor, frustriert zu sein.
Bildschirmauflösung
Im GUI Starter kann man verschiedene Auflösungen auswählen. Dabei sollte man aber wissen, das sich an der Grafikengine von Jagged Alliance nichts geändert hat. Sprich: eine Figur, ein Gebäude oder ein Item haben eine feste Größe in Pixeln. Ändert man die Auflösung, so werden diese dinge automatisch kleiner, da Jagged Alliance nach wie vor als Vollfenster-Anwendueng (also ohne Menüleiste) startet.
Jagged Alliance 1.05 stammt von 1999. Das Betriebssystem damals war Windows 98, Bildschirme hatten eine Diagonale von 15 bis 17 Zoll, aber auch kleinere waren noch üblich. So beschränkte man die Auflösung damals auf 640 x 480 Punkte. Jagged Alliance 1.13 hat zwei weitere Optionen nämlich 800 x 600 und 1024 x 768 und zusätzlich ob die Anwendung wie damals als Vollbildanwendung startet oder in einem Fenster. Stracciatella geht hoch bis Full-HD Auflösung, also 1.920 x 1.080.
Die Elemente aus denen das Spiel besteht also die Spielfiguren, Schaltflächen Porträts, aber auch die Landschaftselemente werden nicht vergrößert. Ebenso wenig der Einführungsbildschirm, der Bildschirm mit Computer und Karte. Sie alle bleiben fest in einer Auflösung von 640 x 480. Das einzige was größer wird, ist die Landschaft im Taktikbildschirm, schon die Porträts der Söldner darunter bleiben auf der alten Größe. Der Screenshot zeigt in etwa was das bewirkt. Hier betrug die Auflösung 1.600 x 900 Pixel. Der schwarze Rand füllt bis zur physikalischen Auflösung (hier 1.920 x 1.080 Pixel) auf. Nur bei der Originalauflösung (640 x 480) füllt das Spiel die ganze Höhe (die Breite meistens nicht weil heute Bildschirme mit einem Seitenverhältnis von 16 zu 9 oder 10 üblich sind, damals aber 4 zu 3).
Aufgrund der Tatsache macht eigentlich nur die Standardauflösung 640 x 480 und die physikalische Auflösung ihres Monitors Sinn. Höhere Auflösungen sollten daher im Fenstermodus starten. Das erlaubt auch ein einfacheres Wechseln zwischen dem Spiel und anderen Anwendungen.
MODS
Anstatt Savegames direkt zu verändern hat man nun den neuen Weg gefunden, dies über Konfigurationsdateien zu machen. Einige Mods sind schon mit dabei und können vor dem Start aktiviert werden, andere findet man im Github Projekt. Verwendet werden JSON Dateien die man in einem Texteditor bearbeiten kann. Die JavaScript Object Notation (JSON ist ein kompaktes Datenformat in einer einfach lesbaren Textform für den Datenaustausch zwischen Anwendungen. JSON ist von Programmiersprachen unabhängig. Die für das Spiel in jedem Falle benötigte JA2.JSON sieht z.B. bei mir so aus:
{
"game_dir": "E:\\ja2\\Ja 2
1.05",
"save_game_dir":
"C:\\Users\\Admin\\Documents\\JA2\\SavedGames",
"mods": ["imp-quiz-honest-answers","from-russia-with-love","generous-rebels"],
"res": "640x480",
"brightness": -1.0,
"resversion": "GERMAN",
"fullscreen": false,
"scaling": "PERFECT",
"debug": false,
"nosound": false
}
Die zweite wichtige Datei ist Game.json, die standardmäßig im Programmverzeichnis steckt und daher vom Anwender nicht veränderbar ist. Man sollte die Datei mit einem Editor öffnen dann aber in den Pfad der Ja2.json (Reiter Play) abspeichern. In ihr kann man vieles verändern. Die Textdatei ist sehr gut dokumentiert.
Hier das Listung der game.json ohne Veränderungen:
{
// game.json
// The settings in this file have
an influence on the game in general.
//
--------------------------------------------------
// New hotkeys and input
// vanilla setting for all hotkeys:
false
//
--------------------------------------------------
// Press 'ctrl+i' to show sector
inventory of selected sector in strategic view.
// Press 'j' to jump over fences,
climb on rooftops etc.
// Press 'ctrl+n' to swap the
squad's head gear from night mode (NV or UV Goggles) to day mode
(sun goggles) and back.
// Press 'alt+r' to reload
// Press 'ctrl+q' to swap hand
items
// Press 'shift+j' to climb through
open window
"extra_hotkeys": true,
// Press d in realtime mode to
manually start turn based mode.
// vanilla setting: false
"can_enter_turnbased": false,
// Enables middle mouse button to
trigger a look into cursor direction
// vanilla setting: false
"middle_mouse_look": true,
//
--------------------------------------------------
// System settings
//
--------------------------------------------------
// Automatically draw a shadow for
all items in a merc's inventory.
// vanilla setting: true
"draw_item_shadow": true,
// Number of milliseconds for one
game cycle.
// 25 ms gives approx. 40 cycles
per second (and 40 frames per second, since the screen is
updated on every cycle).
// Decreasing this value will
increase the speed of the game (enemy movement, bullets speed,
etc).
// Stracciatella standard value: 25
"ms_per_game_cycle": 25,
// Number of milliseconds for one
game time slice.
// Decreasing this value will speed
up UI transitions and soldier animations.
// Stracciatella standard value: 10
"ms_per_time_slice": 10,
//
--------------------------------------------------
// Gameplay settings
//
--------------------------------------------------
// Amount of money the player
starts the game with on each difficulty.
// vanilla values:
45000/35000/30000 (easy/medium/hard)
"starting_cash_easy": 45000,
"starting_cash_medium": 35000,
"starting_cash_hard": 30000,
// Will enemies drop ALL of their
equipment when they die?
// vanilla setting: false
"drop_everything": false,
// Will dropped items always be
visible to the player, regardless of distance?
// vanilla setting: false
"all_drops_visible": false,
// Everyone will be able to
interrupt multiple times in the same turn. Vanilla behaviour is
that if you skipped reacting to the first interrupt
// (say your buddies took care of
it), you'd still get skipped for any further interrupts.
Annoying in ambushes or when sneaking.
// vanilla setting: false
"multiple_interrupts": false,
// Minimal status in % for each gun
in the hand of enemy soldiers. Note that this value has no
influence on enemy behaviour (CtH, jams).
// vanilla value: 0
"enemy_weapon_minimal_status": 0,
// Maxiumum number of soldiers in
one squad.
// Larger squad sizes requires the
wider screen to display all members. For a squad size of n, the
screen must be at
// least (640 + (n-6)*83) pixels
wide. For example, squad size of 8 requires the screen to be at
least 806px wide.
// vanilla value: 6
"squad_size": 6,
// Enable improvements over vanilla
game's tactical AI
"ai": {
// Make the AI a bit smarter and
let it target heads and legs sometimes.
// Aiming: will choose other body
parts when appropriate and random choice was selected.
// Prone: when already facing its
focus, lay down if nothing else.
// vanilla values: false, false, 0
,0
"better_aiming_choice": false,
"go_prone_more_often": false,
"threshold_cth_head": 67,
"threshold_cth_legs": 67,
// AI is capable of knowing and
avoid of an ambush on seeing corpses of friendlies, but
// it was not enabled in the
original game due to a bug
// vanilla value: false
"avoid_ambushes": false,
// Enemy guards on rooftop are
disallowed to climb down
// vanilla value: false
"stay_on_rooftop": false
},
// How much variation should there
be in elite soldier xp level?
// vanilla_setting: 6, 10
"enemy_elite_minimum_level": 6,
"enemy_elite_maximum_level": 10,
// Enables extra GUI features.
Currently includes:
// Progress Bars for the Mercs
stats in tactical Mode.
// vanilla_setting: false
"gui_extras": true,
// Skips the "cannot sleep" popup
when driving or when the merc is already rested.
// vanilla setting: false
"skip_sleep_explanation": false,
// Enables extra attachments:
boosters and break lights on leggings, goggles on helmets.
// vanilla setting: false
"extra_attachments": false,
// Packages at Drassen airport
never get stolen, no need to bribe Pablo.
// vanilla_setting: false
"pablo_wont_steal": false,
// Min/max chance to hit and
headshot damage multiplier.
// vanilla_setting: 1, 99, 1.5, 0.5
"chance_to_hit_minimum": 1,
"chance_to_hit_maximum": 99,
"tactical_head_damage_multiplier":
1.5,
"tactical_legs_damage_multiplier":
0.5,
// Aim bonus per spent AP and for
using scopes
// vanilla setting (%): 10, 20, 20
"aim_bonus_per_std_ap": 10,
"aim_bonus_sniperscope": 20,
"aim_bonus_laserscope": 20,
// Range bonuses and penalties. 10
per 1 tile.
// vanilla setting: 0, 100
"range_penalty_silencer": 0,
"range_bonus_barrel_extender": 100,
// Always show mouse cursor during
tactical view (if false, no mourse cursor is shown when moving
in real-time mode, selecting a merc, etc)
// vanilla setting: false
"always_show_cursor_in_tactical":
false,
// Show chance-to-hit next to mouse
cursor when preparing an attack
// vanilla setting: false
"show_hit_chance": false,
// Scales the loading time of
websites on the laptop. Lower value means faster loading.
Setting this to 0.0 removes the loading entirely.
// vanilla setting: 1.0
"website_loading_time_scale": 1.0,
// IMP creation tweaks
"imp": {
// IMP attribute point defaults:
// Warning: Setting min attribute
points to a value less than 15 allows
// the creation of a character with
less than 15 health. This
// is a dying character!
// Zero attribute point bonus is
what you receive for setting a skill to 0.
// Bonus attribute points is your
initial pool of points to distribute.
// vanilla setting: 85, 35, 15, 40
"max_attribute_points": 85,
"min_attribute_points": 35,
"zero_attribute_points_bonus": 15,
"bonus_attribute_points": 40,
// Replace the IMP personality quiz
with a form to select skills directly
// NOTE: does not set any
personality
// vanilla setting: false
"pick_skills_directly": false,
// Load an IMP merc from a previous
save game by typing in same nickname on IMP form.
// Make sure to put in only the
nickname and use the same capitalization!
// This setting must be already
enabled during saving to enable a later load.
// vanilla setting: false, false
"load_saved_merc_by_nickname":
false,
"load_keep_inventory": false
},
// When a new game starts, it picks
randomly in the range of min and max (both inclusive)
// on which day M.E.R.C. goes
online and Speck sends the player an email. If 0 is picked,
// then M.E.R.C. will be available
right from the start.
// vanilla setting: 1, 2
"merc_online_min_days": 1,
"merc_online_max_days": 2,
"progress": {
// Progress weight of parameter on
campaign progress
// vanilla settings: kills 25,
control 25, income 50
"weight_kills": 25,
"weight_control": 25,
"weight_income": 50,
// Progress point progression
// vanilla settings: 0_easy 7,
1_medium 10, 2_hard 15
"kills_per_point_easy": 7,
"kills_per_point_medium": 10,
"kills_per_point_hard": 15,
// Minimum first time progress to
trigger event
// vanilla settings: madlab: 35,
mike: 50, iggy: 70
"event_madlab_min": 35,
"event_mike_min": 50,
"event_iggy_min": 70
},
// Allowed unhired merc deaths at
given difficulty level
// vanilla settings: 1, 2, 3
"unhired_merc_deaths_easy":
1,
"unhired_merc_deaths_medium":
2,
"unhired_merc_deaths_hard":
3,
// Settings for newly started
campaigns.
// Most probably you do not need to
change these unless you are running a full conversion mod.
"campaign": {
// The sector where your team lands
at the start.
// vanilla settings: A9
"start_sector": "A9",
// Is the start sector revealed at
game start?
// vanilla settings: true
"start_sector_revealed": true
}
}