Dark Souls

File information

Last updated

Original upload

Created by

rycheNhavalys

Uploaded by

rycheNhavalys

Virus scan

Some manually verified files

Tags for this mod

About this mod

Randomly replaces enemies/bosses in the world

Requirements
Permissions and credits
Mirrors
Changelogs
Enemy randomizer generates a random placement of enemies to make your playthrough of Dark Souls different and more challenging. Depending on the options you choose, it's possible to, for example, fight Manus (or 3 of them) in the swamps of Blighttown, or pass through the fog gate in Anor Londo only to see a puny hollow and a painting guardian instead of O&S.

It is now possible to also configure what enemies are placed into the world by the randomizer. It's possible to disable enemies from spawning, or allowing the randomizer to spawn certain enemies that are disabled by default (like ghosts). This feature can also be used for more "interesting" purposes: one can disable all enemy types except one to make the randomizer replace all enemies/bosses with that one enemy (so it's possible to turn everything into Gwyns).

Do note however, that this is still a kinda early version of the mod, and does still have some issues.

NOTICE: v0.4.1.2 released


Installation Instructions [Prepare to Die Edition]:

Fresh Install:
  • Unpack your Dark Souls archive files using UnpackDarkSoulsForModding
  • Download Enemy Randomizer and place EnemyRandomizer.exe and enemyRandomizerData folder from the .zip file to Dark Souls Prepare to Die Edition\DATA\ (the same folder where DARKSOULS.exe is).
  • Run the EnemyRandomizer.exe. The first time you launch the program, it will take some time to start up, as it's preparing files for randomization and backing up the originals.
  • Configure the options and press the Randomize button to randomize the enemies and write the modified data to .msb and .luabnd files.

If you've used a previous version of the randomizer:
  • Open the previous version of the randomizer and revert to normal
  • Delete/Rename EnemyRandomizer.exe the enemyRandomizerData folder of the old version
  • Copy EnemyRandomizer.exe and enemyRandomizerData folder of the new version to Dark Souls Prepare to Die Edition\DATA\

Installation Instructions [Remastered]:
Fresh Install:

  • Download Enemy Randomizer and place EnemyRandomizer.exe and enemyRandomizerData folder from the .zip file to DARK SOULS REMASTERED\ (the same folder where DarkSoulsRemastered.exe is).
  • Run the EnemyRandomizer.exe. The first time you launch the program, it will take some time to start up, as it's preparing files for randomization and backing up the originals (this step takes a while when used with the Remaster).
  • Configure the options and press the Randomize button to randomize the enemies and write the modified data to .msb and .luabnd files
  • You should also probably back up your save file in Documents/NBGI/DARK SOULS REMASTERED and go into offline mode in Steam just in case (I don't know if the changes made by the randomizer can get one banned from online play, doesn't hurt to be safe).

If you've used a previous version of the randomizer:
  • Open the previous version of the randomizer and revert to normal
  • Copy EnemyRandomizer.exe and enemyRandomizerData folder of the new version to DARK SOULS REMASTERED\ overwriting any previously existing files.



Restoring normal enemy placement after randomizing:
  • Run the randomizer and press the "Revert to normal" button to restore the original map and script files.
  • [Remaster] If you backed up your save file, then restore that as well.


Credits/Thanks:
  • HotPocketRemix - bnd file unpacking/repacking implementation, event scripting tools that allowed me to change certain event scripts, program GUI inspiration, .emevd file format documentation
  • Wulf2k - looking at MSBEdit's source code helped me create my implementation of msb editing
  • Meowmaritus - this comment I found describing luagnl and luainfo file formats
  • Metal Crow - fix for the game (PTDE) crashing when trying to load all visual effects at once
  • Lan5432 - helping me test v0.2, providing the best comments about screenshots
  • DuckyKoi - gifting me the remaster so I could port the randomizer to it.


Some questions you might have:


Is this mod compatible with HotPocketRemix's Item Randomizer?
> Yes.


Is this mod compatible with <Insert mod name here>?
> If the mod changes .msb files or the event scripts (like Prepare to Die Again, The Scorched Contract, Bleeder Curse, etc.) then no. Otherwise it should work.

Does this mod scramble all enemies or places them randomly?
> Enemies are selected totally randomly, so it is entirely possible to see 7 Gwyns and never see any  hollows in a single run.

Do I have to revert to normal before each randomization?
> No, re-randomizing without reverting works properly.

Can I re-randomize while the game is running?
> Yes, as long as you don't change the boss soul drop amount (changes to that take effect only after re-launching the game). You'll need to reload the area by Save&Quitting, using a Homeward Bone/Darksign or warping for the changes to take effect.


Source-code?
> DS Enemy Randomizer on GitHub


Known issues/bugs:
  • [REMASTERED] The enemy AI will sometimes, rarely, just break (seems to happen when moving between areas sometimes, specifically Parish->Darkroot and Firelink->New Londo/Catacombs), reloading (Save&Quit/Death/Homeward) fixes this.
  • [REMASTERED] In some extremely rare cases certain visual effects (Nitos cloak for example) fail to load properly, reloading (Save&Quit/Death/Homeward) fixes this
  • [REMASTERED] The visual effects preparation step takes quite a long time to complete.
  • [PTDE] Due to what i presume are engine limitations (I think it's related to how many unique models are loaded and active at the same time), I can only have a limited number of unique enemies in a single map, otherwise the game will crash in certain places (Blighttown swamp, Darkroot Garden and Oolacile Township/Chasm of the Abyss from the DLC were the most common ones). That limited amount of unique enemy types can be pretty noticeable, particularly when the enemy size limit is enforced and especially in the DLC as it is a single map file.
  • [Both] Crystal Lizards in The Great Hollow are not replaced, as replacing them makes the area super unstable (crashing about 4 out of 5 times) for some reason.
  • [Both] Enemies replacing Undead Dragons do not believe in the concept of gravity and choose to disobey the laws of physics instead.
  • [Both] Asylum Demon replacer will not jump down from where the fog gate will be, dying/reloading puts the enemy down there.
  • [Both] Certain enemies/bosses, when replacing Manus, can respawn upon sitting at a bonfire.
  • [Both] If Seath is replaced by a Seath, then breaking the crystal does not cause the stunned animation on him anymore.
  • [Both] Some tail-cuttable enemies sometimes miss their tails.
  • [Both] Cutting off the tail of a Seath doesn't visually remove the tail, or create a tail "corpse" (however loot is still properly awarded).
  • [Both] Asylum may contain ownerless tails.
  • [REMASTERED] Tail cuts don't work in the DLC.


Things I want to improve on:
  • The bugs/issues mentioned above.
  • Anything else that is suggested/fix bugs that are reported.