This program require Python 3.x to run.
If you do not know what "Python" is or you do not have Python 3.x, download it Here
(Click on the button, it will download the most suitable version for your computer)
Windows user may download the latest version of Python at the Windows Store.
(Python 2.x is not supported and may not work)
(Only tested with Python >=3.9. Other version is not guarenteed to work)
Whether it is in physical form (CD) or digital form (ISO), as long as you have the game,
it's OK.
Pirated game is strongly discouraged. Please obtain the game legitiumately.
In the following guide, "the game" will be used to represent New Super Mario Bros Wii
A Wii and Gamecube emulator available on Windows, MacOS and Linux.
Download it here
Go to https://github.com/HBroHei/NSMRWii/releases/
Download the top "NSMRW_release_vx.x.zip" file (just click on it)
File name examples: "NSMRW_release_v1.2.1.zip", "NSMRW_release_v2.0.0.zip"
In the following guide, "Root folder" will be used to represent where the program is
i.e. the folder which contains "Start.bat", "Start" and "main.py"
Release tagged with "Pre-release" are builds that are less stable than the ones which does not,
but may receive features first than the other ones. Choose which version based on whether you prefer stability, or features.
Extract the "Stage" folder from the game If you have no idea on how to do this, follow this:
Go to the Randomizer page From there, you can choose what to randomize.
Alternative: Create the configuration file by yourself:
I would recommend players finding the generator too limiting and familar with JSON file to give this a try!
See Configuration file Documentation
Once you are satisfied with the randomize ruleset, Click the "Generate" button at the bottom.
A file named "Config.json" will be downloaded.
Move the download file to the Root folder.
You are all set to randomize your level.
ON WINDOWS: Open "Start.bat".
ON LINUX: Open "Start.sh"
ON MAC: Open "randomizer_basic.py" with Python Launcher (3.x)
(Note that the launcher version must be 3.x. The built-in Python for MacOS will not work.)
Move the "Stage" folder to its orginal position (inside the game's file)
(Replace the orginal files)
Move back to the game's root folder (i.e. the folder that contains "DATA" and "UPDATE" folders) (Not the program's root folder)
Navigate to DATA/sys/, and open main.dol with Dolphin Emulator
Riivolution patches is a flexible way of patching the game. You can either set up Riivolution manually, or use the built-in auto copy function.
NOTE: Riivolution method currently only works for emulators. It may or may not load on real hardware.
This program now have a configuration file for automatically copying the shuffled levels to a desinated folder.
1. Open config_autoCopy.json
2. Edit enable_auto_copy
to true
, like so:
"enable_auto_copy":true,
3. Set riivolution_folder
to the path for the root SD card folder (the folder that contains the riivoluton folder), like so:
4. Save the file, and run the randomiser. The shuffled levels should be copied to the specified path.
Follow the guide in the "New Super Mario Bros Wii" section in here
(The levels being all the content in the "Stage_Shuffled" folder. Just copy and paste ALL the content in the "Stage_Shuffled" folder (v1) or "Stage_output" folder (v2) into the "nsmb" folder)
DISCLAMER: This project is not affiliated with Nintendo.
I would also like to thanks the NSMBW Community (especially the contributors of Reggie! Level Editor) for providing resources about the level format of NSMBW.
This project would not be possible without those resources.
(Like, seriously.)