Dragon's Dogma: Dark Arisen

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
Changelogs
DDDA BBI Randomizer v1.1.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).

*v1.1.0 Note*
If you're upgrading from v1.0.0 to v1.1.0, I'd recommend restoring the file itemSetTbl.ist (located in
bbs_rpg/etc/item) from it's backup before randomising, either by restoring a backup of bbs_rpg.arc and
extracting it, or by replacing the individual file in the extracted folders. A copy of the original file will
be included as a seperate download.

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. For chests and enemy spawns,
there is are seperate options to randomise these for the Post-Daimon dungeon. Additionally (as of v1.1.0) there
is an option to randomise the contents of the chests behind the Moonbeam Gem doors, which will select from a
pool of rare valuable items without repeats.

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 parameters set (and 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 location
of each Macabre Sculpture. As of v1.1.0, there is an option to enable/disable displaying the random numbers
generated in the text display and outputed file. This option is off by default, to reduce clutter.

The "Initial Difficulty" spinner specifies the difficulty of enemies encountered and the value
of items found in chests at the start of the dungeon, and the "Final Difficulty" spinner specifies these for the end.
Difficulty increases (or decreases, if final difficulty is lower than initial), as progress is made through the stages.
There is a seperate set of spinners to specify difficulty/loot value and variance for the Post-Daimon 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:-

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.

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).
The contents of Moonbeam Gem chests is handled by a specific lot file (st410_00m00n_p11.lot), which is extracted
from stage410.arc and modified. I intend to release documentation about the format of these files, and how to modify
them manually.


Reference:-

Pool of possible items in randomised Moonbeam chests:
-Dragon's Roost
-Purged Buckler
-Dragon's Ire
-Dragon's Glaze
-Dragon's Tempest
-Delta Guard
-Persecutor's Mask
-Trophy Jacket
-Adept's Robe
-Adept's Mantle
-Ring of Perseverance
-Ring of Dessication
-Wanderlust Ring

Original Moonbeam chest items in sequence (modified items will be listed in text display/spoiler log files in the same
sequence with corresponding positions):
Chest #0 - Dragon's Ire
Chest #1 - Ring of Perseverance
Chest #2 - Trophy Jacket
Chest #3 - Dragon's Glaze
Chest #4 - Adept's Robe
Chest #5 - Ring of Desiccation
Chest #6 - Dragon's Roost
Chest #7 - Adept's Mantle

Changes from v1.0.0 to v1.1.0:-

-Option to randomize spawns and chest items in Post-Daimon dungeon
-Options to set initial difficulty, final difficulty and difficulty variance in both the Pre-Daimon and Post-
Daimon dungeons
-Wider variety of possible enemy spawns (goblin shamans, smaller cyclops, armored cyclops, condemned gorecyclops,
corrupt pawns of various vocations)
-Chest item pool tweaked for better balance
-Option to randomize contents of Moonbeam Gem chests, from a pool of specific items
-Text display/spoiler log file layout improved
-Option to enable/disable used random numbers being displayed in text display/spoiler log files


Features to be implemented:-

-External databases for user customization
-Randomization of items from grass patches/mining spots (for certain weapon upgrades/item crafting)
-Randomizastion of stage sequence, while keeping dungeon beatable (ie: no placing keys after locked doors)


Acknowledgements:-

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