Randomizer and quality-of-life feature patcher for the games Digimon World: Dawn and Digimon World: Dusk.
The information presented in these pages refers to the USA roms (serial codes NTR-A6RE-USA and NTR-A3VE-USA for Dusk and Dawn respectively).
- Download the latest release of the Digimon World Dawn/Dusk Randomizer (
DWDDRandomizer_windows.zip). - Unpack the downloaded files and launch
DWDDRandomizer.exe. - Click
Open ROMand open a valid .nds ROM of your game. - Pick your quality-of-life and/or randomization features and click
Save Patched ROM. Give a name to your new patched ROM and choose the directory where to save the ROM, and clickSave. A new .nds ROM will be generated with the chosen changes.
- Download the latest release of the Digimon World Dawn/Dusk Randomizer (
DWDDRandomizer_macOS.zip). - Launch
DWDDRandomizer.app. If your system alertsApple could not verify "DWDDRandomizer" is free of malware that could harm your Mac or compromise your privacy, close the warning, go toSettings -> Privacy & Security, scroll down to"DWDDRandomizer" was blocked to protect your Mac, and clickOpen Anyway. - Click
Open ROMand open a valid .nds ROM of your game. - Pick your quality-of-life and/or randomization features and click
Save Patched ROM. Give a name to your new patched ROM and choose the directory where to save the ROM, and clickSave. A new .nds ROM will be generated with the chosen changes.
- Download the latest release of the Digimon World Dawn/Dusk Randomizer (
DWDDRandomizer-linux.tar.gz). - Extract the archive by running
tar -xzvf DWDDRandomizer-linux.tar.gz. - Open a terminal in the extracted folder and make sure the binary is executable by running
chmod +x DWDDRandomizer, then run the application:./DWDDRandomizer. - Click
Open ROMand open a valid .nds ROM of your game. - Pick your quality-of-life and/or randomization features and click
Save Patched ROM. Give a name to your new patched ROM and choose the directory where to save the ROM, and clickSave. A new .nds ROM will be generated with the chosen changes.
This application was built with Python 3.9.0, but most other versions of Python3 should be compatible.
- Ensure you have Python 3 installed on your system. If it is not installed, download it from python.org.
- Clone or download this repository to your computer.
- Install the required packages by running
pip install -r requirements.txt.
- After having installed the required packages, run
python ui_tkinter.pyto launch the app. - Set the desired randomization settings and click
Save Patched Rom. - You can also import existing randomization settings and export new randomization settings through the buttons
Import SettingsandExport Settings.
- To run the randomizer as a single-line script, run
python run_randomizer.py --rom rom_path --config config_path --output output_path --romcorresponds to the path of your base Digimon World Dawn/Dusk rom--configcorresponds to the path of your configuration file that contains the randomization settings- Base template files may be found in the
./configsfolder, and may be edited directly to produce the desired randomization settings - Additionally, you may set the randomization options through the UI and then export them to a file through the
Export Settingsbutton
- Base template files may be found in the
--outputcorresponds to the target output path of the randomized rom- To see the randomization logs in the terminal, add the flag
--verbose - Usage example:
python run_randomizer.py --rom ./DigimonWorldDusk.nds --config ./configs/balanced_randomization.toml --output ./DigimonWorldDusk_Randomized.nds
Digimon World: Dawn and Dusk are both very charming games that also happen to have a set of very frustrating issues, the most glaring being how grind-heavy and slow-paced the games are.
If you've played these games before, chances are that you recall some of the most negative points:
- Being constantly underleveled and having to grind encounters endlessly to keep up with the pace of the game;
- Trying to reach an objective while in a dungeon and being completely swarmed with encounters;
- Feeling like the overall pacing of the game is too slow.
This tool aims to solve the above problems and provide a better game experience to everyone who plays this game, be it for the first time or as a re-run.
The following quality-of-life patches have been implemented so far:
Performance Improvements
- Increase Text Speed
- Increase Player Movement Speed
- Expand Player Name Length (from 5 to 7 characters)
- Improve Battle Performance
Wild Encounters, Money & EXP
- Reduce Wild Encounter Rate
- Increase Scan Rate
- Increase Wild Digimon Exp
- Increase Wild Encounter Money
- Increase Farm EXP
- Balance Calumon Stats
Quests & Version Exclusives
- Enable Legendary Tamer Quest
- Unlock Main Quests In Sequence
- Unlock Version-Exclusive Areas
The following randomization options have been implemented so far:
- Starter Packs
- Wild Digimon, Wild Encounter Rewards
- Quest Digimon, Tamers & Bosses
- Digivolutions, DNA Digivolutions
- Species, Base Stats, StatType, Resistances
- Movesets, Traits
- Overworld Items, Quest Item Rewards
See this page for more details about the current randomization options and work-in-progress.
- Some antiviruses may flag the executable as unrecognized, as it does not have a signed publisher. This is expected behavior; proceed by clicking "Run anyway" to open the randomizer.
- If you have an existing save file for your game, the digivolution + digivolution conditions randomization may cause visual issues on your current save file.
- Similar to the above, the player name length expansion patch is meant for new-game roms. Loading an existing base-game save into a patched rom may also cause visual issues.
- When increasing Farm EXP, the species EXP provided by certain terrains may not be properly displayed (particularly when the proivded EXP is above 1000). This is a graphical bug and does not influence the EXP earned by the digimon in that farm.
- When randomizing Enemy Tamers, Digimon & Bosses, non-scannable (boss-only) digimon are not yet randomized (Grimmon, SkullBaluchimon, etc).
- In both games, if any battle before the initial tournament battle against Koh/Sayo is lost, the game's logic will be broken as the player will be warped back to their HOME with no current known way to resume the events.
For bug reports, questions or suggestions, please reach out via Issues, by email ([email protected]) or through twitter (@ProjectHawke).
Most of the research work for this game was accomplished using HxD, DeSmuME and Ghidra.
The implemented user interface was heavily inspired by Universal Pokémon Randomizer's design.
Special thanks to:
- @Dreaker, who composed a set of thorough code notes for these games and has been supporting this project's efforts through brainstorming, feature testing and listening to me yap about ROM editing for hours [:
- @PocketRotom, who helped me generate the macOS application release and found a couple of very critical bugs right before the initial release 🙏
- Everyone who's reported bugs and suggested new features c:
- Everyone who's supported this project on Ko-fi <3
Digimon World Dawn/Dusk Randomizer and the resources behind it are the result of countless hours of work and a deep passion for the Digimon series. If you’ve enjoyed using the tool, found the Wiki helpful, or simply want to support my efforts, consider contributing on Ko-fi.
Your support helps me continue working on projects like this, improving the tools, and sharing insights with the community. Thank you!
Digimon World: Dawn/Dusk are owned by Bandai Namco Entertainment. I do not own, nor do I claim any rights to, the original game assets, code, or intellectual property associated with Digimon World Dawn and Digimon World Dusk.
This repository and the tools within are provided for educational and personal use only. They are not intended for commercial use, nor for redistribution of copyrighted game assets.
