Python/C based builder and patching system for randomizing DK64 entirely within your browser.
Explore the docs »
Live Site
·
Dev Site
·
Report Bug/Features
·
Discord
DK64 Randomizer is a tool that randomizes various elements of Donkey Kong 64, giving players a new and unpredictable experience each time they play. This randomizer shuffles item placements, Kongs, enemies, and more, creating a fresh and challenging take on the beloved classic.
- Base ROM of Donkey Kong 64: You will need a legally obtained ROM of the US version of Donkey Kong 64 for this randomizer to work. PAL, JP, Kiosk and the Lodgenet releases are not supported. No help will be provided to acquire this.
- Emulator or Console Setup: Compatible with many platforms, more information about this can be found on our wiki
- Python 3.11 or Higher: The randomizer is largely coded implemented in Python, so make sure you have Python installed on your system.
- Clone the Repository:
git clone https://github.com/2dos/DK64-Randomizer.git cd DK64-Randomizer
- Install Python Dependencies:
pip install -r requirements-dev.txt
- Place a DK64 ROM into the repo:
The US ROM needs to be named
dk64.z64
and placed into the base directory of the repository. - Run the Randomizer:
Run
runner.py
to boot up a local copy of the randomizer webpage atlocalhost:8000
. This can also be achieved with theRun Server
task on VSCode.
-
Load Your ROM: When prompted, provide the path to your Donkey Kong 64 ROM file.
-
Set Randomization Options: Customize your randomization preferences (items, Kongs, enemies, etc.) via the locally generated webpage.
-
Generate ROM: Once settings are configured, generate a randomized ROM file by following the prompts.
-
Play: Load the newly generated ROM file into your platform of choice.
Yes! The randomizer includes logic to ensure that all generated seeds are beatable to 101% completion.
Yes, but you will need a flash cart like the EverDrive 64 to load the randomized ROM. The Wii U Virtual Console is also supported if you have a homebrewed Wii U.
Please report any issues on the GitHub Issues page.
We welcome contributions from the community! To contribute:
- Fork the repository.
- Create a new branch for your changes.
- Make your modifications.
- Submit a pull request.
For major changes, please open a discussion first to ensure your feature or change is something that we think would result in a better product.