Butano is a modern C++ high level engine for the Game Boy Advance.
- Create and display sprites, backgrounds, text, raster effects and more with only one line of C++ code.
- Custom standard library without heap allocations nor exceptions, based on ETL.
- Import and use your own assets with ease.
- Multiple development tools like asserts, emulator logging and code profiling.
- Based on modern C++ concepts like shared ownership and RAII.
- Detailed documentation.
- Multiple examples of most aspects of the engine.
- The source code and assets of two full games (Butano Fighter and Varooom 3D) are provided with this project.
Butano is built on top of the devkitARM toolchain, so it supports Windows, macOS and Unix-like platforms.
Curious about what was added or improved recently? Check out the changelog in the documentation.
The best way to get started is to read the download, install and start using Butano guide.
If everything went as expected, you should:
- Play around with the examples as they cover most of what Butano offers.
- Learn how to import your assets in your project.
- Take a look at the frequently asked questions (FAQ), as they answer most of the initial questions.
Butano would have not been possible without these libraries:
- GBA hardware access and more provided by Tonclib, Universal GBA Library and agbabi.
- Music and sound effects provided by Maxmod, GBT Player and VGM player.
- Fast number to string conversion provided by posprintf.
- Fast math routines provided by gba-modern and Universal GBA Library.
- Fast decompression routines provided by Cult-of-GBA BIOS.
- Multiplayer support provided by gba-link-connection.
- Pool containers provided by ETL.
- Unique type ID generation without RTTI provided by CTTI.
- Stateless random number generator provided by whisky.
If you spotted a bug, need a feature or have an awesome idea, the best you can do is to head over to the issues page, to the gbadev.net forums or to the gbadev Discord server.
Butano is licensed under the zlib license, see the LICENSE file for details.
Third party libraries are licensed under other licenses, please check the licenses folder for details.
Assets used in games, examples and other projects are licensed under other licenses,
please check the credits
folders for details.
Stay alive while you shoot at everything that moves! What else do you need?
The full source code and the creative commons assets of this game are in its project folder.
Get the latest Butano Fighter ROM from itch.io.
Action-packed with revolutionary 60FPS 3D technology and 3D glasses (not included) that will have you believing you're in the middle of a circuit race at speeds of 200 KMH!
The full source code and the creative commons assets of this game are in its project folder.
Get the latest Varooom 3D ROMs from itch.io.
- GBA Microjam '23: a spooky microgame collection for the Game Boy Advance created by the members of the gbadev.net community.
- Demons of Asteborg DX: a GBA remake of the infamous Mega Drive game!
- BeatBeast: help Joaquín shoot his way out of this rhythmic world!
- Discrete Orange: a turn-based puzzle-platformer with discrete movement.
- Feline: explore the world as a cat, meet new people, learn new languages, face difficult foes and save your family!
- Symbol★Merged: a puzzle platformer game where you can merge items (symbols) in hands, and use the superpower of the merged symbol.
- Green Memories: the year is 300 a.f. and protagonist Cytra tries to survive the extreme climate of a post-apocalyptic desert while collecting data from her scientific research.
- notenogram: chill analog-styled picross/nonogram/hanjie/griddler game, with story and create modes.
- LRO - Luggage Retrieval Officer: you will work your way to being a highly ranked member off staff, retrieving important missing luggage for the likes of the Natural History Museum, NASA and even the FBI!
- Sleep Paradox: as student Fredericko you'll explore the school, leveling up as you fight through the hordes, searching for some kind of answer to what is going on.
- GBA pseudo-3D demo: Sonic Battle's pseudo-3D rendering demo.
- Bridge Quest: find the way to the desert, but beware, because enemies and an evil tree boss will try to stop you!
- Advance! Adventures Of The Math & Logic Club: small demo/prototype of a visual novel about joining an ordinary math club.
- Toll Runner: complete 17 levels to find out why the mouse had to run!
- Happy Dawn: a hilarious story unfolds about a day in the life of Carlitos, a boy who wakes up on a new, happy day to go to school.
- Space Evangelion: you play as an angel fighting evil beeings in space.
- Knight Owls: build up a powerful spellbook and take on many enemies, gather owls and upgrades while managing your health and money and defeat the final boss to win!
- Collie Defense: you're a Border Collie and you need to protect your flock of sheep!
- Detective Monroe: Murder at Sea: play as Detective Alex Monroe in his new adventure where he solves a murder mystery, while on vacation on a cruise ship!
- Sips: enjoy watching people while you earn money to upgrade your cafe.
- Work Life: visual novel focusing on relationships in a modern workplace.
- Bata Dubnos: shoot the possessed portrait faces and ???
- Sys*Crusher: take on contracts to steal files, crash systems and commit industrial sabotage!
- Nuclear Love: have fun getting to know other survivors in this dating-show, who knows, maybe you might find your future Mr. or Mrs Right?
- Globlins!: early prototype for a single player action platformer with RPG elements and multiple endings.
- Tremblay Island: take on the role of any island villager and interact with the others, taking part in the drama while eventually trying to keep a grouchy alligator from taking over the island.
- Frost Princess: place tiles down on the board to create a path to your opponent's base, then place tiles on their base to damage them.
- GBA-NICCC: Game Boy Advance port of the Atari ST demo STNICCC 2000.
- gba-free-fonts: free fonts for GBA development. It comes with tools and examples to import them into a Butano project.
- Wavefront To Varooom 3D: converter that takes Wavefront .obj files and converts them into the format used by Varooom 3D.