Butano GBA: Difference between revisions
From GameBrew
More actions
No edit summary |
No edit summary |
||
| (12 intermediate revisions by 2 users not shown) | |||
| Line 4: | Line 4: | ||
|description=Modern C++ high level GBA engine. | |description=Modern C++ high level GBA engine. | ||
|author=GValiente | |author=GValiente | ||
|lastupdated= | |lastupdated=2026/01/07 | ||
|type=Development | |type=Development | ||
|version= | |version=21.0.0 | ||
|license=Zlib | |license=Zlib | ||
|download=https://github.com/GValiente/butano/releases | |download=https://github.com/GValiente/butano/releases | ||
| Line 17: | Line 17: | ||
|image=butano2.png | |image=butano2.png | ||
|image_alt=butano | |image_alt=butano | ||
}} | }}<!--butano-21.0.0.tar.gz--> | ||
Butano is a modern C++ high level engine for the Game Boy Advance. | Butano is a modern C++ high level engine for the Game Boy Advance. | ||
| Line 37: | Line 37: | ||
Homebrew projects made with Butano: | Homebrew projects made with Butano: | ||
{| class="wikitable | {| class="wikitable" | ||
! style="width: | ! style="width: 50%;"|Title | ||
! style="width: | ! style="width: 50%;"| Author | ||
|- | |- | ||
| [[Butano Fighter GBA|Butano Fighter]]||GValiente | | [[Butano Fighter GBA|Butano Fighter]]||GValiente | ||
| Line 64: | Line 64: | ||
|- | |- | ||
| [[gba-free-fonts|gba-free-fonts]]||laqieer | | [[gba-free-fonts|gba-free-fonts]]||laqieer | ||
|- | |||
| [[GBA Microjam 23|GBA Microjam '23]]||Various authors | |||
|- | |||
| [[Nuclear Love GBA|Nuclear Love]]||Jono Shields | |||
|- | |||
| [[Sips GBA|sips]]||Jono Shields | |||
|- | |||
| [https://neofidstudios.itch.io/demons-of-asteborg-dx Demons of Asteborg DX]||NeofidStudios | |||
|- | |||
| [https://afska.itch.io/beat-beast BeatBeast]||Afska, LaChia, Synthenia | |||
|- | |||
| [https://tardigrade-nx.itch.io/discrete-orange Discrete Orange]||Tardigrade | |||
|- | |||
| [https://staticlinkage.itch.io/sleep-paradox Sleep Paradox]||staticlinkage, ReyOruga, Nikku4211 | |||
|- | |||
| [https://jeremyelkayam.itch.io/globlins Globlins!]||Jeremy Elkayam | |||
|- | |||
| [https://eragnarok.itch.io/detective-monroe-murder-at-sea Detective Monroe: Murder at Sea]||eragnarok, HummusHustler | |||
|- | |||
| [https://jeffzzq.itch.io/work-life Work Life]||jeffzzq | |||
|- | |||
| [https://fralacticus.itch.io/bata-dubnos Bata Dubnos]||Fralacticus | |||
|- | |||
| [https://drkylstein.itch.io/syscrusher Sys*Crusher]||OutOfSync | |||
|- | |||
| [https://jenkalab.itch.io/toll-runner Toll Runner]||Jenka Lab | |||
|- | |||
| [https://luife.itch.io/happy-dawn Happy Dawn]||Luife | |||
|- | |||
| [https://fixxiefixx.itch.io/space-evangelion Space Evangelion]||fixxiefixx | |||
|- | |||
| [https://github.com/chrislewisdev/gba-pseudo-3d GBA Pseudo-3D demo]||Chris Lewis-Hou | |||
|} | |} | ||
| Line 73: | Line 105: | ||
==Credits== | ==Credits== | ||
Third party libraries: | Third party libraries: | ||
*GBA hardware access and more provided | * GBA hardware access and more provided by [https://www.coranac.com/projects/#tonc Tonclib], [https://github.com/AntonioND/libugba Universal GBA Library] and [https://github.com/felixjones/agbabi agbabi]. | ||
*Music and sound effects provided | * Music and sound effects provided by [https://blocksds.skylyrac.net/docs/maxmod/index.html Maxmod], [https://github.com/stuij/apex-audio-system Apex Audio System], [https://github.com/AntonioND/gbt-player GBT Player] and [https://github.com/copyrat90/gbadev-ja-test VGM player]. | ||
*Fast number to string conversion provided | * Fast number to string conversion provided by [http://danposluns.com/danposluns/gbadev/posprintf/index.html posprintf]. | ||
*Fast math routines provided | * Fast math routines provided by [https://github.com/JoaoBaptMG/gba-modern gba-modern] and [https://github.com/AntonioND/libugba Universal GBA Library]. | ||
*Fast decompression routines provided | * Fast decompression routines provided by [https://github.com/Cult-of-GBA/BIOS Cult-of-GBA BIOS]. | ||
*Multiplayer support provided | * Multiplayer support provided by [https://github.com/rodri042/gba-link-connection gba-link-connection]. | ||
*Pool containers provided | * Pool containers provided by [https://www.etlcpp.com/ ETL]. | ||
*Unique type ID generation without RTTI provided | * Unique type ID generation without RTTI provided by [https://github.com/Manu343726/ctti CTTI]. | ||
* Stateless random number generator provided by [https://github.com/velipso/whisky whisky]. | |||
==External links== | ==External links== | ||
* GitHub - https://github.com/GValiente/butano | * GitHub - https://github.com/GValiente/butano | ||
Latest revision as of 09:14, 9 January 2026
| butano | |
|---|---|
| General | |
| Author | GValiente |
| Type | Development |
| Version | 21.0.0 |
| License | Zlib |
| Last Updated | 2026/01/07 |
| Links | |
| Download | |
| Website | |
| Source | |
Butano is a modern C++ high level engine for the Game Boy Advance.
Features
- 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.
User guide
Butano is built on top of the devkitARM toolchain, so it supports Windows, macOS and Unix-like platforms.
The best way to get started is to read the download, install and start using Butano guide.
Homebrew projects made with Butano:
| Title | Author |
|---|---|
| Butano Fighter | GValiente |
| Varooom 3D | GValiente |
| Feline | foopod |
| Symbol★Merged | copyrat90 |
| LRO - Luggage Retrieval Officer | foopod |
| Bridge Quest | fixxiefixx |
| Advance! Adventures Of The Math & Logic Club | kvh64 |
| Knight Owls | blaise-rascal |
| Tremblay Island | cinemint |
| Frost Princess | squishyfrogs |
| GBA-NICCC | GValiente |
| gba-free-fonts | laqieer |
| GBA Microjam '23 | Various authors |
| Nuclear Love | Jono Shields |
| sips | Jono Shields |
| Demons of Asteborg DX | NeofidStudios |
| BeatBeast | Afska, LaChia, Synthenia |
| Discrete Orange | Tardigrade |
| Sleep Paradox | staticlinkage, ReyOruga, Nikku4211 |
| Globlins! | Jeremy Elkayam |
| Detective Monroe: Murder at Sea | eragnarok, HummusHustler |
| Work Life | jeffzzq |
| Bata Dubnos | Fralacticus |
| Sys*Crusher | OutOfSync |
| Toll Runner | Jenka Lab |
| Happy Dawn | Luife |
| Space Evangelion | fixxiefixx |
| GBA Pseudo-3D demo | Chris Lewis-Hou |
Screenshots
Credits
Third party libraries:
- GBA hardware access and more provided by Tonclib, Universal GBA Library and agbabi.
- Music and sound effects provided by Maxmod, Apex Audio System, 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.
External links
- GitHub - https://github.com/GValiente/butano