Stracciatella walks a fine line between preserving the original gameplay, adding ease-of-life improvements and providing new inobtrusive optional features.
- GUI Launcher
- High Resolution Support
- Extra Hotkeys
- Touch Controls
- Dead is Dead mode
- Infinite save games
- Better modding support
- Wildfire support
- Integrated Editor
- Debug screens
On the internal side, good code as-a-feature has been a major focus of the project, easily illustrated by comparing the amount of code in related engines (as of March 2021):
Engine | Lines of code | Difference | Languages |
---|---|---|---|
Original JA2 | 1,222,384 | - | C |
Stracciatella | 851,152 | -30,4 % | C++, Rust, (LUA) |
JA2 1.13 | 2,184,310 | +78,7 % | C++, (LUA) |
GUI Launcher
Note: added in 0.16.0.
A GUI Launcher is included to facilitate changing settings and tweaking the game.
High Resolution Support
Added support for high video resolutions. For example, game can be started in 1680x1050 mode like this: ja2.exe -res 1680x1050
.
Extra Hotkeys
Besides the hotkeys present in the original game, JA2S adds the following for greater ease of use:
- scroll lock: toggle mouse grab in windowed mode
- alt-r: reload held weapon
- ctrl-shift-r: reload weapons of the whole group
- ctrl-l: load game during enemy/militia turn
- ctrl-n: switch between day and night head gear (goggles) for the whole squad
- ctrl-q: swap hand items
- shift-j: climb through open window
- f: display chance to hit percentages for given tile
These require you toggle a game.json switch:
- d: switch to turnbased mode from realtime
Additionally you can use the middle mouse button to make a merc look into the direction of the cursor.
Touch Controls
Note: added in 0.20.0.
Added support for touch devices.
- Left click with a short touch
- Right click with a long touch
- Scroll with two fingers on the tactical screen
- Confirm and adapt orders with separate touch controls on the tactical screen
Dead is Dead mode
Note: added in 0.16.0.
Dead is Dead is a new game mode for players looking for a new challenge, and who think Iron Man doesn’t cut it just yet. With the Dead is Dead mode the game takes the burden of saving and savegame management from your shoulders so you can concentrate on the important bits.
You select one savegame slot at the beginning of a new game, and the game will stick to that slot throughout your playthrough. The game will also make sure to save before you leave, so you can rest assured you will always be able to pick up at where you left.
With Dead is Dead there is no going back. If mercs die, there is no way of bringing them back. If you make a mistake, there is no way of reverting it. So be careful, play it safe, and prepare to be frustrated.
Infinite save games
Note: added in 0.19.0.
The engine now supports saving and loading of arbitrarily named saved games, and an arbitrary number of them. The load screen is enhanced with game mode, difficuly and mod info plus a scrollbar.
Better modding support
Mods are easier to make and users are empowered to tweak the game themselves. See our dedicated page on modding and available mods.
To use one of the mods, enable them in the launcher or pass the -mod
flag on the command line.
Wildfire support
Note: added in 0.17.0.
Basic Wildfire support is present, with most of the data differences externalized. You need to have JA2, Wildfire and this conversion installed to start a Wildfire game. It is implemented as other mods, so you can still play vanilla games too.
Read the included README for detailed instructions and caveats.
Integrated Editor
The map editor is now integrated into the game. Start it through the launcher or like this: ja2.exe -editor
.
Debug screens
Note: added in 0.15.0.
Some debug screens are accessible when using the -debug
parameter.
Tactical Screen:
F11
for Quest Debug ScreenCTRL+f
for FPS DisplayCTRL+z
to toggle z-bufferALT+m
for level node debug modeALT+n
to play quotes of hovered mercq
for soldier and land debug modey
for struct debug mode
To exit any screen press q
. To cycle through different pages use pageup
and pagedown
.
Examples: