Rustic Yellow is a project to re-implement the classic GameBoy Color game Pokemon Yellow in Rust. The goal of this project is to create a playable version of the game that runs on modern computers, while also serving as a learning experience for those interested in game development and emulation.
- High quality music - The game uses the original music from the Pokemon Yellow soundtrack, but in FLAC format instead of the original GameBoy audio format.
- Speedup game without affecting sounds - Rustic Yellow plays all sounds using it's own sound engine, so the game emulation can be changed without affecting the music. Especially useful when speeding up the game.
- Multiple save files - The game supports multiple save files, so you can play the game with different teams or try out different strategies. "Continue" and "New Game" in the main menu has been reimplemented to support this.
- No box management - All box management is hidden from the player and happens automatically. You don't have to switch boxes, and when withdrawing Pokemon you can choose from all Pokemon in all boxes.
To get started with Rustic Yellow, you'll need to have Rust installed on your computer. You can download Rust from the official website: https://www.rust-lang.org/tools/install
Once you have Rust installed, you can clone the Rustic Yellow repository:
git clone https://github.com/LinusU/rustic-yellow.git
cd rustic-yellow
Rustic Yellow requires two ROM files in order to build the project: one for the original Pokemon Yellow game, and one for Pokemon Crystal from which some updated sprites are used. The ROM files must have the following SHA1 hashes:
pokeyellow.gbc
-cc7d03262ebfaf2f06772c1a480c7d9d5f4a38e1
pokecrystal.gbc
-f4cd194bdee0d04ca4eac29e09b8e4e9d818c133
You can obtain a ROM file from various sources online, but please note that it may be illegal to download and use ROMs in some jurisdictions.
Rustic Yellow requires music in FLAC format from the "Pokémon Red & Pokémon Green: Super Music Collection" album. You can download the music from the following link:
https://archive.org/details/pkmn-rgby-soundtrack
Copy all of the FLAC files from the album, both from Disc 1
and Disc 2 (Yellow)
, into a directory named music
in the project root.
Use the following command to build and run the game:
cargo run --release
I've added some basic support for packaging the game to a proper app using Cargo bundle. Currently only macOS is supported, but it should be possible to add support for other platforms as well.
Running cargo bundle
should produce an .app
file with the game and the music bundled together. The .app
file can be moved to the Applications
folder and run from there.
Contributions to Rustic Yellow are welcome! Feel free to open an issue if you have any questions or suggestions. If you want to contribute code, it's probably a good idea to open an issue first to discuss the change you want to make, since it's still early days for this project.
- Mathijs van de Nes for their work on mvdnes/rboy, from which this project was bootstrapped
- The pret team for their work on pret/pokeyellow, which was used as a reference for the disassembly of the original Pokemon Yellow ROM
- The original developers of Pokemon Yellow, for creating such a wonderful game
Rustic Yellow is licensed under the MIT License. See the LICENSE file for details.