Metroid Prime item randomizer
Update (8/11/2021): Support for this application has ceased; please use Randovania instead.
This application is an item randomizer for the video game Metroid Prime, powered by the randomprime patcher, Angular, TypeScript, Node.js and Electron.
This program takes a disc image of Metroid Prime and shuffles the locations of all 100 items in the game world, allowing for a new and highly replayable gaming experience. Items are placed using a logic system to ensure that every seed is possible to complete, and additional checks can be enabled to minimize the risk of softlocking.
The randomizer is currently option-based, allowing the user to enable or disable restrictions and sequence breaking tricks as they wish.
This section is to build the randomizer application from source. If you just want to use the randomizer and start playing randomized seeds, you can download it from the Releases page.
To build from source, you will need to install the 64-bit version of Node.js to install the application and its dependencies using npm
. 32-bit builds of the randomizer are not supported currently.
You will need to install Rust. I recommend installing it via Rustup.
Install node-gyp
globally on your system. Follow the instructions to install it on your given operating system.
The RandomPrime patcher requires the powerpc-unknown-linux-gnu
target installed to build correctly. Run the following two rustup
commands to install them.
rustup toolchain install nightly
rustup target add --toolchain nightly powerpc-unknown-linux-gnu
Once the above prerequisites are installed, run npm install
to install the project dependencies and build the randomprime
native Node module.
To run a development version of the application that auto-builds and auto-reloads as you make changes, run npm start
. (Hot reloading does not work for the base Electron code at this time)
To build the project for production, run one of the following commands depending on your operating system:
npm run electron:windows
npm run electron:mac
npm run electron:linux
The randomizer application will be packaged in the release
directory.