Releases: bropacman/shadow-man-remastered-randomizer
Release list
Shadow Man Remastered Randomizer v1.2.0 - Sprint, Dedicated Saves, & Dead Side Guns
What's New
Shift-Sprint
- Hold Shift to move at a configurable multiple of normal speed, on both land and in water
- Configurable from 1.0x–5.0x; Off (default) disables it entirely for vanilla movement
- Applied as a direct EXE patch, same as the other Gameplay Tuning options
- Supports the standard three-state system: a fixed value, off, or
random(let the seed decide)
Dedicated Save Files
- Randomizer playthroughs now save to their own
rando/folder instead of the vanillasaves/folder - no more overwriting your vanilla saves, and no toggling anything back and forth - Zero setup: this is automatic, not an option to configure
- Launching the unpatched vanilla exe still reads/writes your original saves untouched - only
thoth_x64_patched.exeuses the new save location
Force "I Like Dead Side Guns"
- New option forces the vanilla secret that lets Deadside weapons work on Liveside and vice versa, without needing to find its hidden in-world unlock trigger
- Applied by editing
kexengine.cfgat patch time - requires having launched the game at least once already so that file exists - Supports the standard three-state system: always on, always off, or
random
Also New: Archipelago Multiworld Support (separate from this tool)
This repo now also contains the tooling behind a full [Archipelago](https://archipelago.gg)
multiworld implementation of Shadow Man Remastered - a separate project from
this standalone randomizer that happens to share the same core patching
engine under the hood. None of it ships inside Shadow Man Randomizer.exe
or changes single-player use in any way, but if you're into AP:
- The AP world itself lives in its own repo: [shadow-man-remastered-ap-world](https://github.com/bropacman/shadow-man-remastered-ap-world)
- A standalone AP Companion tool (
shadow_man_ap_companion.exe) is
available for generating your player YAML and applying your seed - no
Python required, same no-install philosophy as this randomizer's own exe
Fixes & Polish
- Fixed the "Force 'I Like Dead Side Guns'" checkbox label wrapping across three lines in the GUI
- Piston Combos moved above the (now-grouped) untested options in Gameplay - Shuffle
Known Issues
- Unique Retractor Keys is temporarily disabled. It's implemented but hasn't been tested yet, so it's grayed out in the GUI (grouped with Prisms under a new "Untested - Disabled" header) until that happens - watch future releases for it to come back online
- Cadeaux counting is not fully reliable - some cadeaux may not register in-game depending on how they were placed. Lowering the altar cost and Fogometers door from their defaults is recommended until this is resolved (try altar ~50, Fogometers ~500)
- Entrance hints are not updated when the Entrance Randomizer is active
How to Use
Download Shadow Man Randomizer.exe, point it at your game folder, and hit Run. No Python required. For CLI usage and all available options, see the [README](https://github.com/bropacman/shadow-man-remastered-randomizer#readme).
Requirements
- Shadow Man Remastered (Steam or GOG)
- Windows 10/11
Shadow Man Remastered Randomizer v1.1.7 - Piston Combos & Starting Bundles
What's New
Dark Engine Piston Combo Randomization
- The six dark engine piston combination values can now be randomized per-seed
- New combination codes are patched directly into the in-game Jack's Schematic journal page — the journal is always the source of truth for the current seed
- When active, Jack's Schematic becomes a required progression item in fill logic
- Supports the standard three-state system: always on, always off, or
random(let the seed decide)
Starting Bundles
- New option to grant a full group of sub-items at seed start, removing them from the shuffle pool
- Available bundles: All Accumulators, All Retractors, All Eclipsers, All Gad Powers
- Replaces the previous per-sub-item shuffle toggles — if you want a group out of the pool, just start with it
Decimal Health Steps
- Starting Health, Health Per Altar, and Death Penalty now accept values in 0.5 steps (e.g. 3.5, 0.5)
- Random resolution for health options also rounds to the nearest 0.5 step
Patch Tracker On by Default
- The Teddy Bear map tracker hints are now enabled by default
- Uncheck in the GUI (or pass
--no-patch-trackervia CLI) to strip all item badges instead
Visual Polish
- New key item container — the in-game object used to hold randomized key items has been replaced with a Jaunty-themed pot model, fitting more naturally into the world
- Randomizer program icon — the
.exeand GUI now have a proper icon
Fixes
- Fill now respects randomized soul level thresholds — when soul threshold shuffle is active, the fill algorithm uses the randomized SL→souls mapping during simulation so gate logic matches what the player actually sees in-game
- Map hints fixed for Gad Powers, Retractors, and Accumulators — hints now correctly update after collecting these items
- Settings string copy/paste — trailing
==padding is now stripped from the exported settings string for easier copy-pasting; import handles both padded and unpadded strings
Spoiler Log Overhaul
- Randomizer version and compact settings string now appear in the log header
- Boolean settings display as yes/no instead of True/False
- Dark engine piston combo table — shows vanilla combo on the left, new combo on the right, with
←on changed pistons - Soul threshold table — shows vanilla vs. randomized soul counts for SL1–SL10
- Sky shuffle table — shows which level's sky files were swapped into each slot
- KPF output filename now includes the seed:
shadowman_randomizer_<seed>.kpf
Known Issues
- Cadeaux counting is not fully reliable — some cadeaux may not register in-game depending on how they were placed. Lowering the altar cost and Fogometers door from their defaults is recommended until this is resolved (try altar ~50, Fogometers ~500)
- Entrance hints are not updated when the Entrance Randomizer is active
How to Use
Download Shadow Man Randomizer.exe, point it at your game folder, and hit Run. No Python required. For CLI usage and all available options, see the README.
Requirements
- Shadow Man Remastered (Steam or GOG)
- Windows 10/11
Shadow Man Remastered Randomizer v1.1.6 — Soul Level Thresholds, Death Penalty, and Bug Fixes
Shadow Man Remastered Randomizer v1.1.6 — Soul Thresholds, Death Penalty, and Bug Fixes
What's New
- Soul Level Threshold Randomization
--soul-threshold-mode— Randomizes the soul counts required to reach each soul level. Three distribution styles:progressive— Geometric ramp; early SLs stay low, later SLs compress toward 120.balanced— Evenly spaced breakpoints across the full range.random— Fully random intermediate thresholds.
--soul-threshold-mode-random— Lets the seed pick a mode for you; every run plays differently even at the same gate preset.
- Death Penalty
--death-penalty— Each death reduces your max health by a configurable number of steps (1–10), floored at that step so you always retain at least some health. Step 0 disables it.- Pairs with
--death-penalty-randomto let the seed pick a step.
- Enemy Options
- Uncap enemy counts (
--enemy-uncap-counts) — Each spawn slot independently samples from the enemy pool with replacement. Any type can appear 0 or many times per level rather than being capped to vanilla counts. Great for variety in smaller levels. - Pairs with
--enemy-uncap-counts-random.
- Uncap enemy counts (
- Experimental (Use at Your Own Risk)
- Additional per-category shuffle toggles and a prism shuffle option are available via CLI for those who want to experiment — not yet confirmed beatable and not exposed in the GUI.
Fixes
| Category | Fix Description |
|---|---|
| Crashes & Game-Breaking | Prison level crash: Fixed game crash on entering Texas Prison due to a misread of the RSC file's live record count field. The 2-byte big-endian integer at file offset 8 was being treated as a single byte, corrupting the field to 255 on every run. |
Unverified barrel/cadeaux locations: Locations flagged is_verified=False were incorrectly included in the filler pool, causing writes to non-existent slots in the RSC files and triggering validation errors. |
|
| Stale working files: Working files and the patched EXE are now cleared at the start of each run to prevent picking up partially-patched files or a previously modified EXE from a prior seed. | |
| Engineers Key placement: Fixed missing Engineers Key gate requirements across many slots in Cageways, which allowed the key to be placed behind itself. Access rules updated. | |
| Book of Prophecy / Gad pickup conflict: Fixed a conflict between the Book of Prophecy item type and the three physical Gad pickup records that caused incorrect item dispatch in certain seeds. | |
39 placements not written: Locations in florida/instance.rsc, ah2playr/instance.rsc, and as2exper/fx.rsc were present in the placement dict but never written to file, causing validation errors and potentially unbeatable seeds. |
|
| Logic and Fill | Cadeaux counts: Post-fill junk placement now correctly maintains per-level cadeaux totals by passing reward IDs through the filler path. This fixes launch crashes caused by mismatched cadeaux states. |
True form enemies: Prevented true form enemies from spawning in a low-ceiling prison area. Added liveside_interior context group to exclude these slots. |
|
| Fill govi weighting: The depth nudge that biases key items toward govi slots now only applies when the slot has an actual item gate requirement, not to open govis like those in the Louisiana Swamp. | |
| Enemy Shuffle | London Underground: Night-variant (uground) file names weren't resolving correctly, meaning shuffle log changes were never written. File name mapping fixed. |
| EXE Patching | Fogometers SL10 door ring graphic: The in-world ARC ring decoration on the Fogometers soul gate is now correctly renamed to reflect the shuffled SL requirement. |
PyInstaller spec: Build spec now uses a glob so new patch modules are never accidentally missing from the generated .exe. |
|
Spoiler log renamed: Output file format changed to spoiler_log_<seed>.txt instead of spoiler_seed_<seed>.txt. |
Known Issues
⚠️ Cadeaux counting is not fully reliable
Some cadeaux may not register in-game depending on how they were placed. Lowering the altar cost and Fogometers door from their defaults is strongly recommended until this is resolved (try altar ~50, Fogometers ~500).
⚠️ Map hints are not fully reliable
Various hints do not go away after collecting the item (Gad Powers, Retractors, Accumulators, 1 Violator). Entrance hints are also not updated when the Entrance Randomizer is active.
How to Use
- Download
Shadow Man Randomizer.exe. - Point it at your game folder.
- Hit Run. (No Python required)
Note: For CLI usage and all available options, see the README.
Requirements
- Game: Shadow Man Remastered (Steam or GOG)
- OS: Windows 10/11
Shadow Man Remastered Randomizer v1.1.5 - Life Altar Tuning, Settings Sharing, and Random Randomization
Shadow Man Remastered Randomizer v1.1.5 - Life Altar Tuning, Settings Sharing, and Random Randomization
What's new
- New randomizer options accept
random— the following settings can now be set to a randomized value to let the seed pick for you:- Coffin Gate Soul Levels Preset
- Entrance Mode
- Starting Health
- Health Per Altar
- Cadeaux Required Per Altar
- Fog Door Requirement
- Insanity Tier
- Balancing Amount
- Enemy Mode
Gameplay Tuning Additions
- Starting health — configure the initial health value you begin with (can be set to 1-10 or
random) - Altar life health granted — adjust how much max health is granted for offering cadeaux to a life altar (can be set to 1-10 or
random) - Altar cadeaux required — set the specific number of cadeaux needed to trigger a life altar (can be set to
random) - Altar health granted — customize how much health is rewarded per completed altar (can be set to
random) - Fogometers gate cadeaux required — configure the exact cadeaux threshold required to open the Fog door leading to the Light Soul (can be set to
random)
New EXE Features
- Settings string import/export — seed settings can now be copied and shared as a compact base64 string directly from the GUI, making it easy to reproduce or share an exact configuration
- Copyable output window — the log window at the bottom of the GUI now allows text selection and copying for easier troubleshooting
Fixes
- Built
.exewas silently missing three modules (cadeaux_patch.py,health_patch.py,rsc_utils.py) — fixed in the PyInstaller bundle - Entrance randomizer description in the GUI now correctly says "Deadside levels & Engine Rooms" instead of the old misleading wording
- Ambient Shuffle additions - added more ambient creatures to the shuffle
- Weapon SFX Shuffle additions - added more weapon sfx sound categories to shuffle
Known issues
- Cadeaux counting is not fully reliable — some cadeaux may not register in-game depending on how they were placed. A warning now appears in the GUI cadeaux section. Lowering the altar cost and Fogometers door from their defaults is strongly recommended until this is resolved (try altar ~50, Fogometers ~500)
- Map hints are not fully reliable — various hints to not go away after collecting the item the hint was for: Gad Powers, Retractors, Accumulators, 1 Violator). Entrance hints also not updated if Entrance randomizer is turned on.
How to use
Download Shadow Man Randomizer.exe, point it at your game folder, and hit Run. No Python required. For CLI usage and all available options, see the README.
Requirements
- Shadow Man Remastered (Steam or GOG)
- Windows 10/11
Shadow Man Remastered Randomizer v1.1.4 - Entrance Randomizer, Ambient & Sky Shuffle, Enemy Overhaul
What's new
- Entrance randomizer — hub portals can now be reshuffled in two modes:
deadside_onlyshuffles the 9 Deadside portals among themselves;cross_hubthrows all 14 portals (Deadside + Dark Engine) into one pool so a Deadside portal may lead to a Dark Engine spoke. Works best paired with an open gate preset and Insanity Tier ≥ 1 - Ambient creature shuffle — rats, egrets, flies, butterflies, and friendly fish can now be shuffled across their spawn slots. Three modes available:
global(free-for-all, any ambient becomes any other),full(shuffle within movement-type pools), orcontextual(shuffle within context-group + movement-type pools). Purely cosmetic - Sky texture shuffle — sky layer TGAs are shuffled across levels per-filename (horizon swaps with horizon, clouds with clouds, hills with hills). Each seed paints a stranger sky over Deadside. Purely cosmetic
- Enemy SFX shuffle — enemy sound sets can now be shuffled within their own pools; pain sounds swap with pain sounds, startle with startle, attack with attack
- Enemy mix-movement mode — new option to allow enemies to swap freely across movement-type pools (ground, flying, swimming all in one pool) during enemy shuffle
Fixes
- True form fixed-point bug — in some seeds one true form would silently stay in its vanilla slot due to a permutation fixed-point in the depth-bucket shuffle. All 15 true forms now always relocate on every seed
- Broken event triggers on buttons & cutscenes — gad temples no longer zero out cutscenes and events to remove gad power cutscene trigger
How to use
Download Shadow Man Randomizer.exe, point it at your game folder, and hit Run. No Python required. For CLI usage and all available options, see the README.
Requirements
- Shadow Man Remastered (Steam or GOG)
- Windows 10/11
Shadow Man Remastered Randomizer v1.1.3 - Map Hints & Coffin Gate Enhancements
What's new
- Teddy Bear map hints — enable the Patch Tracker option to rewrite in-game map badge hints to reflect randomized item locations
- Coffin gate preset enhancements — gate shuffle now uses a linear pool guaranteeing an even spread from SL1 to your chosen cap, no pile-up at max SL
- Open first N gates — new option to force the first N linear coffin gates to SL0, opening up the early game; configurable per preset or manually (Marrow → Wasteland → Asylum → Temple of Fire → Cageways → Playrooms)
- Friendly console output — the randomizer log now shows themed progress descriptions instead of raw technical output; item placements are no longer spoiled on seed generation
- Spoiler log completeness — all randomizer options are now recorded in the spoiler log header for full seed reproducibility
Fixes
- Restore vanilla now works from the .exe — previously caused a crash due to a missing built-in; fixed
- Starting item duplicates — starting item options now only show 1 item from item groups (eclipser, retractor, accumulator). Violator updated to use the RSC_Q_VIOLATOR which is the interactable version of the violator
How to use
Download Shadow Man Randomizer.exe, point it at your game folder, and hit Run. No Python required.
For CLI usage and all available options, see the README.
Requirements
- Shadow Man Remastered (Steam or GOG)
- Windows 10/11
Shadow Man Remastered Randomizer v1.1.2 - Gad Cutscene & Swamp Govi fixes
What's new
- GAD platform blockers — a static blocking object is now placed on the GAD power platform in each temple, physically preventing the post-puzzle cutscene from triggering
Fixes
- Swamp Govi night checks — several Govi locations were incorrectly including the night variant of the swamp level as a valid check; corrected to day-only
How to use
Download Shadow Man Randomizer.exe, point it at your game folder, and hit Run. No Python required.
For CLI usage and all available options, see the README.
Requirements
- Shadow Man Remastered (Steam or GOG)
- Windows 10/11
Shadow Man Remastered Randomizer v1.1.1 - Seed, Patching, GUI Fixes
What's new
--shuffle-progression/weapons/loreflags — replaced the old negative--no-progression/weapons/loreflags with positiveBooleanOptionalActiondefaults, cleaner CLI behavior- Max SL cap dropdown — replaced the free-text input with a select supporting 0–10 plus "preset"; selecting
opennow auto-sets Max SL to 0 and disables the field automatically
Fixes
- Gate ARC decorations — patcher was using the short
RSC_X_COFGATE_ARCprefix, which only covers gate numbers 4–7 and 9; switched to always writingRSC_X_COFFIN_GATE_ARCfixing invisible decorations, notably Wasteland at SL10 - GAD Blood Temple Y coordinate — injection site Y was 511.8 instead of the correct surveyed value 670.0, causing misplaced GAD pickup spawns
- Random starting item seed — was resolved client-side in the GUI, making it non-reproducible; moved to seeded RNG in the patcher so the same seed always produces the same starting item
- Max SL cap hardcoded to 10 — the field always passed
--max-sl 10, silently overriding preset caps; fixed to blank by default so presets are respected - Gate preset
storyrenamed toopen— corrected throughout README, GUI, and docs - Easy preset SL cap — was inconsistently SL5 in GUI and SL8 in constants; corrected to SL7 everywhere
- Insanity tier and Max SL dropdowns — were stretching full width and pushing tooltip bubbles off screen; fixed with explicit widths
How to use
Download Shadow Man Randomizer.exe, point it at your game folder, and hit Run. No Python required.
For CLI usage and all available options, see the README.
Requirements
- Shadow Man Remastered (Steam or GOG)
- Windows 10/11
Shadow Man Remastered Randomizer v1.1.0 — Starting Items
What's new
- Starting Item — place a bonus item at the Louisiana Swampland church at game start; removed from the shuffle pool automatically
- Insanity Mode visual improvements — marker crates are scaled and textured via the KPF mod pipeline, no loose files required
Fixes & cleanup
- GUI row spacing now consistent across all sections
- Asset and mesh overrides flow through the KPF system correctly
How to use
Download Shadow Man Randomizer.exe, point it at your game folder, and hit Run. No Python required.
For CLI usage and all available options, see the README.
Requirements
- Shadow Man Remastered (Steam or GOG)
- Windows 10/11
Shadow Man Remastered Randomizer v1.0.1 - Insanity Tiers
Shadow Man Remastered Randomizer v1.0.1
Standalone randomizer for Shadow Man Remastered (Nightdive Studios, 2021). Generates a single .kpf mod file — drop it in your mods/ folder and play.
What's added
- Insanity Tiers - Shuffle key items with tiers of where key progression items can be placed. (Govi slots, cadeaux slots, all barrel slots)
How to use
Download Shadow Man Randomizer.exe, point it at your game folder, and hit Run. No Python required.
For CLI usage and all available options, see the README.
Requirements
- Shadow Man Remastered (Steam or GOG)
- Windows 10/11