Dragon's Dogma: Dark Arisen
0 of 0

File information

Last updated

Original upload

Created by

SpacetimeBSEmporium

Uploaded by

SpacetimeBSEmporium

Virus scan

Safe to use

Tags for this mod

About this mod

This java-based application will randomize the enemy spawns, chest contents, and the positions of the
collectable Macabre Sculptures in each of the 24 stages of Bitterblack Isle. This is done by extracting the
bbs_rpg and stage400 archives, modifying certain files using random selections from databases, and archiving
the files again.

Requirements
Permissions and credits
DDDA BBI Randomizer v1.0.0


Overview:-

This java-based application will randomize the enemy spawns, chest contents, and the positions of the
collectable Macabre Sculptures in each of the 24 stages of Bitterblack Isle. This is done by extracting the
bbs_rpg and stage400 archives, modifying certain files using random selections from databases, and archiving
the files again.


Requirements:-

In order to extract stage files from their archives, and to archive them again after being randomized,
FluffyQuacks's ARCtool is required. For extraction and archiving to work ARCtool must be in the DDDA folder,
along with pc-dd.bat (which must contain the following when opened with a text editor:
arctool -dd -texRE6 -alwayscomp -pc -txt -v 7 %1 %2 %3 %4 %5 %6 %7 %8 %9).
It is important to make sure that pc-dd.bat does not contain the "-lot" modifier, as this will cause ARCtool to
generate and use txt files that the randomizer doesn't work with, and cause file modifications to be overwritten
when archiving. ARCtool can be downloaded here: https://www.nexusmods.com/dragonsdogma/mods/500.

About 2.5GB extra disk space is required for the file folders that are extracted from archives. These file
folders can be deleted after they have been randomized and archived again, but if you do this they will need to
extracted again if you want to randomize again. It is also highly recommended to make backups of the archives
that will be modified (bbs_rpg.arc and the 24 stage4XX.arc files in the stage400 folder) before using the
randomizer, which will require about 1.7GB of disk space.


Using the application:-

For the application to work it must be placed in the DDDA folder in Steam/steamapps/common, along with
ARCtool, pc-dd.bat, the OutputFiles folder (for the spoiler logs generated by the randomizer) and the included
itemName_eng.gmd file (contains english names of items, used in spoiler logs).

If you are using the application for the first time (or if you deleted the extracted file folders, or want to
start anew from from a backup of the archives), you will want to extract the files to be randomized from their
archives. The "Extract Archives" button on the left of the UI will launch ARCtool to extract files from the 25
archives (bbs_rpg.arc and the 24 stage4XX.arc files in the stage400 folder). This process can take a while (up to
ten minutes).

For randomization there are several options that can be toggled on or off. Whether or not to randomize enemy
spawns, items in chests, or the position of Macabre Sculptures can be toggled. The seed in text field generates
the sequence of random numbers used to determine the selections made for each enemy spawn/chest item/etc. A new
random seed can be generated with the "New Seed" button, or a specific seed can be entered manually. Two
randomization runs using the same seed (with the same version release of this application) should generate the
same results. The "Generate Spoiler log" option determines whether or not a spoiler log txt file will be
generated in the OutputFiles folder, which states for each stage; the enemies that have been set to each spawn,
the items that appear in each chest, and the co-ordinates of each Macabre Sculpture.

The "Initial Difficulty" spinner specifies the starting difficulty of enemies encountered, and also the value of items found
in chests. These will both steadily increase as progress is made through the dungeon.

There are also options to toggle whether certain items are included in the pools for possible chest contents.
"Include DLC Items" determines whether DLC armor and weapons (that appear in the Black Cat in Gran Soren) can
appear in chests. "Include Ur Dragon Items" determines whether weapons awarded when defeating the Ur Dragon
(including those exclusive to the online version) appear in chests, although as these weapons are very strong,
they typically won't have a chance of appearing until quite far into the dungeon. "Include Normal Healing Items"
determines whether instant healing items appear in chests (this option is intended for use with my "No Menu
Healing" mod, and should be disabled if your using it. If you're not using or are unfamilar with this mod, I'd
strongly recommend leaving this option ticked).

Click the "Randomize" button start randomization once your happy with the settings. If "Generate Spoiler Log" is
ticked a file will be generated that specifies the seed and settings in the filename.

After randomization, the modified file folders will need archived. Clicking the "Archive Folders" button will
launch ARCtool to archive the file folders back to their archives, overwriting their previous contents. This
process can be time consuming (can take around ten minutes).


What to expect from randomization:-

This project is by no means finished, and I do intend to work on updates when I have the chance.
Currently, the randomizer will modiffy enemy spawns and chest loot for the pre-Daimon dungeon only. Both sets of enemy
spawns post-Daimon, and any chests that have different loot will be unmodified. The enemies that spawn in Rotunda of Dread
and Black Abbey when carrying the Fiend-Luring Essence are also unchanged by the randomizer.

Enemies selected from different sets of pools for each location, filtered by difficulty. Typically, large enemies will be
replaced with other large enemies, flying enemies with other flying enemies, etc. Both the difficulty of each enemy and
the pools they're sorted into are specified in an internal database, although this could be made external and modifiable in
a future release.

Another feature that needs to be implemented is enemy variations, such as Goblins with torches and different weapons.
Due to the way that the enemy database is currently indexed and the fact that some enemy types are merely variations of
others, certain enemys current can't be selected by randomization (specifically Condemned Gorecyclops - which are a
variation of regular Gorecyclops, and Goblin Shamans - which are a variation of Greater Goblins).

In terms of selecting initial difficulty, 3 is the default setting which roughly matches the difficulty of the unmodified dungeon,
although this can vary a lot due to the nature of randomization. An initial difficulty of 1 or 2 is suited more for starting the
dungeon with new characters, although with difficulty 1 it may be harder to acquire the gear/experience needed to defeat the
bosses that gate progress. Any difficulty higher than 3 will generate a harder dungeon with better loot, although setting it too
high may limit variety.

There may be some graphical errors with shaders of some enemies in certain locations , although I will need to do further
research into what causes this and how to fix it in future.

The randomizer modifies lot-extension files (which handle enemy spawns, npcs, and loose items in each stage), gpl-extension
files (which handle the loading-in of lot-file contents), and the ist-extension file that determines what items can be obtained
from chests, gather spots and mining spots (extracted from bbs_rpg.arc). I intend to release documentation about the format
of these files, and how to modify them manually.


Features to be implemented:-

-Randomization of post-Daimon enemy spawns and altered chest loot
-Enabling of enemy variations in spawns (eg: goblins with torches/body shields, condemned gorecyclops, goblin
shamans, different vocation corrupt pawns)
-External databases for user customization
-Randomization of Moonbeam Gem chest rewards, BBI quest rewards, and items from grass patches/mining spots (for
certain weapon upgrades/item crafting)


Acknowledgements:-

FluffyQuack for developing ARCtool
Vuze, davoodinator, and JTeghius Kittius for notes on stage and enemy references