Examples of Game Boy Advance game development with Rust using agbrs.
hello_world
- Text renderinghello_world_ttf
- Text rendering with TTF fontcolor_test
- Color Wheel with slices of a few RGB colorscolor_spin
- Spin the Color Wheel continuouslysimple_sprite
- Basic sprite display using aseprite
animated_ship
- Async animated ship (rockets) with movement with button holding supportanimated_sprite
- Async animated sprite (ship flames) with movement with button holding supportmoving_sprite_hold
- Async sprite movement with button holding supportmoving_square
- Async sprite movement with button press detectionmoving_square_hold
- Async sprite movement with button holding support
Note
These async examples accompany agb PR #1089 which adds async support to agb. I brought in Embassy as the async executor and implemented async for inputs, display, and time drivers.
# Install prerequisites
cargo install agb-gbafix
# Run a blocking example (requires mgba-qt in PATH)
cargo run --bin hello_world
# Run an async example (requires mgba-qt in PATH)
cargo run --bin moving_square
cargo run --bin moving_square_hold
# Build for real hardware
cargo build --release --bin hello_world
agb-gbafix target/thumbv4t-none-eabi/release/hello_world -o hello_world.gba
- agb documentation
- agbrs book
- mGBA emulator
- ⭐️ zpg6/agbrs-capture - For capturing GIFs of projects and examples
Contributions are welcome! Whether it's bug fixes, feature additions, or documentation improvements, we appreciate your help in making this project better. For major changes or new features, please open an issue first to discuss what you would like to change.