About this mod
Comprehensive and fully customizable randomizer mod with support for randomization of enemies, drops, item containers, locations, vendors, night scenarios and more!
- Permissions and credits
- Mirrors
Darkwood Randomizer is a mod that aims to bring the much-beloved randomizer experience to Darkwood, with the goal being to enhance general gameplay and replayability. It achieves this by randomizing enemy spawns, drops, item placements, location positions, vendor inventories, night scenarios and more! Complete with a fully customizable range of settings that allow you to tune the experience to your liking, Darkwood Randomizer brings together both base game assets and unused content to life in order to create the ultimate randomizer experience.
Installation:
Step 1:
This mod uses the BepInEx mod loader for initialization. To begin, download the latest version of BepInEx 5.X - the download file should be located in the Assets section of the release page and named something like BepInEx_win_x64_5.4.23.2.zip, depending on your operating system. Then, unzip the contents of the downloaded file into your game directory, typically located at C:\Program Files (x86)\Steam\steamapps\common\Darkwood. Your resulting game directory should look something like this:

Step 2:
Launch the game once, then close it - this will generate all the the necessary subdirectories within Darkwood/BepInEx.
Step 3:
Download the latest version of Darkwood Randomizer from the Files section of this modpage. Unzip the downloaded file, and move the entire DarkwoodRandomizer folder into Darkwood/BepInEx/plugins.
Step 4 (Optional):
For easier access to Darkwood Randomizer settings, you may also wish to download the latest version of BepInEx ConfigurationManager. The download file should be located in the Assets section of the release page and named something like BepInEx.ConfigurationManager.BepInEx5_v18.3.zip. As before, unzip the downloaded file, and move the entire ConfigurationManager folder into Darkwood/BepInEx/plugins. The resulting directory should look something like this:

Step 5:
Launch the game. If you see DarkwoodRandomizer X.Y.Z towards the bottom of your screen then the mod was installed successfully.
Troubleshooting:
- (Step 5) If the mod does not load properly, you may try opening Darkwood/doorstop_config.ini in any text editor (e.g., Notepad) and setting ignoreDisableSwitch=true, then relaunching the game.
Configuring Settings:
Darkwood Randomizer comes with a selection of predefined settings that are tuned to ensure a consistent and enjoyable gameplay experience. These settings may be configured at any time as follows:
- If you have installed BepInEx ConfigurationManager, hit F1 (by default) to open the settings menu. From here you can configure the mod settings.
- If you have not installed BepInEx ConfigurationManager, then the randomizer settings may be found within Darkwood/BepInEx/config/DarkwoodRandomizer.cfg. Open this file with any text editor (e.g., Notepad) and change the mod settings there. Unlike with BepInEx ConfigurationManager, you will have to restart the game for these to take effect.
Customizing Item/Character Pools:
Character and item pools may be fully customized by specifying the relevant characters and items within configuration files in Darkwood/BepInEx/plugins/DarkwoodRandomizer/CharacterPools and Darkwood/BepInEx/plugins/DarkwoodRandomizer/ItemPools. Each character/item must be written on a new line, with an optional number specifying how many times that character/item should be added to the pool. Additionally, you may specify pre-existing pools to add a whole category of characters/items at once. Overall the format for a single line is [character/item] [whitespace] [(optional) times to add].
E. g., Darkwood/BepInEx/plugins/DarkwoodRandomizer/CharacterLoot.txt
flashlight
lockpick 2
battery9v
undefined_item 1
AMMO_ITEMS1
Will result in the following character loot pool: [1 x flashlight, 2 x lockpick, 2 x battery9v, 1 x ammo_clip_mediumCal, 1 x ammo_clip_smallCal, 1 x ammo_single_mediumCal, 1 x ammo_single_pellet, 1 x ammo_single_shotgun]. Note that battery9v gets added twice, once as a separate item, and a 2nd time as part of AMMO_ITEMS. undefined_item would get skipped as it is not valid. Thus, when spawning loot, the percentage chance for each item will be [10% flashlight, 20% lockpick, 20% battery9v, 10% ammo_clip_mediumCal, 10% ammo_clip_smallCal, 10% ammo_single_mediumCal, 10% ammo_single_pellet, 10% ammo_single_shotgun].
The list of available characters and items may be found within the Darkwood Randomizer wiki, and additionally within Darkwood/BepInEx/plugins/DarkwoodRandomizer/CharacterPools/CHARACTER_DICTIONARY and Darkwood/BepInEx/plugins/DarkwoodRandomizer/ItemPools/ITEM_DICTIONARY.
Settings Overview:
Item Shuffle:
Various settings that affect item container shuffling.
- Shuffle item containers - whether to shuffle item containers.
- Item container shuffle type - Global: shuffle item containers globally; Within Biome: shuffle item containers within each biome.
- Include empty containers - whether to include empty item containers in the shuffle pool.
- Include key and quest items - whether to include item containers containing key and quest items (as defined in Darkwood/BepInEx/plugins/DarkwoodRandomizer/ItemPools/ITEM_DICTIONARY) in the shuffle pool. WARNING: This may result in key/quest items ending up in inaccessible locations.
- Include outside locations - whether to include item containers from Outside Locations in the shuffle pool.
Item Drops:
Various settings that affect character item drops.
- Random drop chance - the chance (0-1) of adding a random drop to killed characters. This is rolled multiple times per character until a single failed roll occurs, or the maximum number of random items is reached.
- Min random drops - the minimum number of random drops that can be dropped by killed characters. If the number of items resulting from the drop chance roll is less than this, the number of items will be set to this minimum.
- Max random drops - the maximum number of random drops that can be dropped by killed characters
Weapon Upgrades:
Various settings that affect random weapon upgrades (e. g., increased durability, damage).
- Random upgrade chance - the chance (0-1) of adding a random upgrade to weapons sold by vendors or dropped by characters. This is rolled multiple times per item until a single failed roll occurs, or the maximum number of random upgrades is reached.
- Min random upgrades - the minimum number of random upgrades that can be added to weapons sold by vendors or dropped by characters. If the number of upgrades resulting from the upgrade chance roll is less than this, the number of upgrades will be set to this minimum.
- Max random upgrades - the maximum number of random upgrades that can be added to weapons sold by vendors or dropped by characters.
Locations and Grid Objects:

Locations:
Locations in Darkwood Randomizer refer to major points of interest that are aligned to the chunk grid, such as Hideouts, Piotrek's house, and the Wedding (highlighted red in the figure above). Only one location can be placed within any given chunk, or a chunk may contain no location at all. Locations also include Outside Locations - major points of interest that are accessed via gateways, such as the Village, Church Basement, and Underground Exit. Outside Locations are excluded from position randomization.
- Randomize location position - shuffles the position of non-border locations (excluding hideouts) by allowing them to be placed in any chunk.
- Randomize location rotation - allows non-border locations (excluding hideouts) to be rotated a full range of 360 degrees.
- Randomize hideout position - shuffles the position of hideout locations by allowing them to be placed in any chunk within their respective biome.
- Randomize hideout rotation - allows hideout locations to be rotated a full range of 360 degrees.
Grid Objects:
Grid objects in Darkwood Randomizer refer to smaller points of interest that are randomly distributed throughout the world map, such as Log Piles, Mushroom Glades, and Tent Camps (highlighted yellow in the figure above). Grid objects are distributed based on available space, sometimes being skipped if a biome has no space to spawn one.
- Shuffle grid objects - shuffles the position of grid objects, allowing them to spawn outside their target biome. Does not affect chapter 2.
- Randomize grid object rotation - allows grid objects to be rotated a full range of 360 degrees.
Misc Objects:
Misc objects in Darkwood Randomizer refer to various obstacles and structures, such as bushes and fallen trees. These have no items or characters attached to them and only serve as obstacles for traversal and visibility.
- Shuffle misc objects - shuffles the position of misc objects, allowing them to spawn outside their target biome. Does not affect chapter 2.
Characters:
Characters in Darkwood Randomizer are divided into global and location characters, as well as active and static characters. These categories are used when defining which characters to reroll, however the randomized characters themselves may be chosen from any category.
Location characters are simply characters that are tied to a certain location or grid object, whereas global characters are characters that are not tied to any location or grid object and are free to roam throughout the map. All global characters are also active characters - characters that have AI and are capable of movement, such as Chompers or Dogs. Locations may additionally have static characters - characters that lack AI and are not capable of movement, such as many of the immobilized Villagers in the Village.
- Randomize global characters - randomizes spawns for global characters. Character pools are defined within DarkwoodRandomizer/CharacterPools/[GlobalCharactersDryMeadow.txt, GlobalCharactersSilentForest.txt, GlobalCharactersOldWoods.txt, GlobalCharactersSwamp.txt].
- Randomize location active characters - randomizes spawns for location active characters. Character pools are defined within DarkwoodRandomizer/CharacterPools/[LocationActiveCharactersDryMeadow.txt, LocationActiveCharactersSilentForest.txt, LocationActiveCharactersOldWoods.txt, LocationActiveCharactersSwamp.txt].
- Randomize location static characters - Randomizes spawns for location static characters. Character pools are defined within DarkwoodRandomizer/CharacterPools/[LocationStaticCharactersDryMeadow.txt, LocationStaticCharactersSilentForest.txt, LocationStaticCharactersOldWoods.txt, LocationStaticCharactersSwamp.txt].
- Prevent character infighting - prevents characters from different factions from attacking and killing each other. As a result, all aggressive characters will only attack the player.
- Character health variance range - the percentage of character health that is allowed to vary. Character health is uniformly distributed between BaseHealth ± BaseHealth * HealthVarianceRange/100.
Vendors:
Vendors in Darkwood Randomizer refer to the 4 NPCs that you can trade with (excluding the Doctor): Wolfman, Piotrek, Night Trader (chapter 1 night merchant), and the Three (chapter 2 night merchant). During randomization, vendor staples are first added to inventories, followed by a number of random slots between the specified minimum and maximum. Stackable items will be generated with a random stack size between 1 and the maximum stack size. Ranged weapons will be generated with a random amount of ammo between 0 and the max clip size. Items with durability will be generated with a random amount of durability between 70-100%.
- Randomize vendor inventory - randomizes the items sold by vendors. Item pools are defined within DarkwoodRandomizer/ItemPools/[VendorWolfman.txt, VendorPiotrek.txt, VendorNightTrader.txt, VendorTheThree.txt].
- Guarantee vendor staples - guarantees certain items within vendor inventories. Wolfman - chain, old woods map; Piotrek - chain, cable, old woods map; NightTrader/TheThree - gasoline, planks, nails, scrap, wires, rags, matchsticks, pellet ammo, shotgun shell, medium caliber bullet, small caliber magazine.
- Vendor inventory min random slots - minimum number of randomized inventory slots that will be added to vendor inventories.
- Vendor inventory max random slots - maximum number of randomized inventory slots that will added to vendor inventories.
Night:
Various settings that affect night events.
- Randomize night characters - randomizes spawns for night characters. Character pools are defined within DarkwoodRandomizer/CharacterPools/[NightCharactersDryMeadow.txt, NightCharactersSilentForest.txt, NightCharactersOldWoods.txt, NightCharactersSwamp.txt].
- Randomize night scenario difficulty - from night 3 onwards, expands the hideout-specific night scenario pools to include scenarios from every hideout. Some night events will fail to spawn due to missing hideout-specific elements.
Decals:
Various cosmetic settings that do not affect gameplay.
- Randomize ground decals - expands the biome-specific ground decal pools to include sprites from every biome.
Feedback & Contributing:
The source code for DarkwoodRandomizer is entirely open source and is available under the GNU Lesser General Public License 3.0.
For any feedback or other inquiries you may contact me via direct message on Discord (username: deliria), or through the modding channel on the official Darkwood Discord server.
If you would like to instead report a bug, please do so through the Issues section of the mod's Github page, or through the Bugs section of the modpage. Do not forget to include your logfile which you can find at %USERPROFILE%/AppData/LocalLow/Acid Wizard Studio/Darkwood/Player.log.