Repository navigation
A randomizer and mod builder for Sonic Chronicles: The Dark Brotherhood (NDS), written
from scratch in pure Python against the ROM — no game files included, no dependencies to
install.
Download
SonicChroniclesModBuilder.zip (attached below) — extract anywhere and run ModPackMaker.exe.
You supply your own legally obtained ROM. The tool reads it and never writes to it;
builds land in build/ beside the executable.
Windows will warn you the first time. "Windows protected your PC" → More info →
Run anyway. The executable is unsigned, which is the only reason that appears. If you
would rather not take that on trust, run from source withModPackMaker.bat, or rebuild
the exact same folder yourself withpy tools/build/make_release.py --zip.
What it does
22 features, every one confirmed in a running game rather than inferred from the data:
- Randomizers — POW moves and stat lines across the cast, enemy appearances, enemy
placements, chests, drops, shop stock, quest rewards, equipment effects, Chao bonuses.
One seed reproduces a run exactly, and the seed is written into the profile. - Progression — XP rate, per-character XP curves, level cap, stat curves, PP.
- Combat — enemy scaling keyed to each enemy's own level, POW move retuning: cost,
damage tiers, status effects, elements, and solo conversion so a team move works alone. - Items and shops — custom equipment, custom Chao, shop stock and repricing.
- Presets — Vanilla+, Hard Mode, Randomizer, Chaos Mode, for when you do not want to
configure anything.
Everything is a readable JSON profile, so a mod you like is a file you can share — and
the builder emits a BPS patch alongside the ROM, which is what you hand to other
people rather than the ROM itself.
What is also in the repository
The reverse-engineering record, which is most of the actual work: the save format, the
HERF/GFF4/TLK/GDA formats, what lives in ARM9, and the game's hidden stats. Two findings
worth flagging because the game's own UI never tells you:
- Attack is accuracy, not damage. Damage is POW, which is never drawn anywhere.
- Defense is evasion, not damage reduction. Reduction is GRT, also never drawn.
REVERSE_ENGINEERING_LOG.md is a dated log of every experiment, including the ones that
were wrong and how they were caught. It is written to be read.
Requirements
Windows for the executable. Anything with Python 3.8+ and tkinter to run from source.
numpy is optional and only makes patch generation faster.