{"id":13727660,"url":"https://github.com/GValiente/butano","last_synced_at":"2025-05-08T00:30:51.146Z","repository":{"id":37596993,"uuid":"231556327","full_name":"GValiente/butano","owner":"GValiente","description":"Modern C++ high level GBA engine","archived":false,"fork":false,"pushed_at":"2024-10-26T14:39:21.000Z","size":143878,"stargazers_count":1214,"open_issues_count":0,"forks_count":69,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-10-29T15:40:57.772Z","etag":null,"topics":["game-boy-advance","game-engine","gba","modern-cpp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GValiente.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-03T09:35:05.000Z","updated_at":"2024-10-29T03:30:51.000Z","dependencies_parsed_at":"2023-02-09T19:15:59.397Z","dependency_job_id":"405f9a1f-09e6-4143-addc-a4ed21484688","html_url":"https://github.com/GValiente/butano","commit_stats":null,"previous_names":[],"tags_count":158,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GValiente%2Fbutano","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GValiente%2Fbutano/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GValiente%2Fbutano/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GValiente%2Fbutano/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GValiente","download_url":"https://codeload.github.com/GValiente/butano/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224679723,"owners_count":17351853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-boy-advance","game-engine","gba","modern-cpp"],"created_at":"2024-08-03T02:00:29.117Z","updated_at":"2024-11-14T19:30:18.123Z","avatar_url":"https://github.com/GValiente.png","language":"C++","readme":"# Butano\n\nButano is a modern C++ high level engine for the [Game Boy Advance](https://en.wikipedia.org/wiki/Game_Boy_Advance).\n\n![](docs_tools/images/examples_mode_7.gif) ![](docs_tools/images/bf_title.gif) ![](docs_tools/images/vr3d_race.gif)\n\n\n## Features\n\n* Create and display sprites, backgrounds, text, raster effects and more with only one line of C++ code.\n* Custom standard library without heap allocations nor exceptions, based on [ETL](https://www.etlcpp.com/).\n* Import and use your own assets [with ease](https://gvaliente.github.io/butano/import.html).\n* Multiple development tools like [asserts](https://gvaliente.github.io/butano/group__assert.html), \n[emulator logging](https://gvaliente.github.io/butano/group__log.html) and \n[code profiling](https://gvaliente.github.io/butano/group__profiler.html).\n* Based on modern C++ concepts like shared ownership and RAII.\n* Detailed [documentation](https://gvaliente.github.io/butano).\n* Multiple [examples](https://gvaliente.github.io/butano/examples.html) of most aspects of the engine.\n* The source code and assets of two full games ([Butano Fighter](#made-with-butano-butano-fighter) \nand [Varooom 3D](#made-with-butano-varooom-3d)) are provided with this project.\n\n\n## Supported platforms\n\nButano is built on top of the [devkitARM](https://devkitpro.org/) toolchain, so it supports Windows, \nmacOS and Unix-like platforms.\n\n\n## What's new\n\nCurious about what was added or improved recently? \nCheck out the [changelog](https://gvaliente.github.io/butano/changelog.html) in the documentation.\n\n\n## Getting started\n\nThe best way to get started is to read the \n[download, install and start using Butano guide](https://gvaliente.github.io/butano/getting_started.html).\n\nIf everything went as expected, you should:\n* Play around with the [examples](https://gvaliente.github.io/butano/examples.html) \nas they cover most of what Butano offers.\n* Learn how to [import your assets](https://gvaliente.github.io/butano/import.html) in your project.\n* Take a look at the [frequently asked questions (FAQ)](https://gvaliente.github.io/butano/faq.html), \nas they answer most of the initial questions.\n\n\n## Third party libraries\n\nButano would have not been possible without these libraries:\n\n* GBA hardware access and more provided by [Tonclib](https://www.coranac.com/projects/#tonc), \n[Universal GBA Library](https://github.com/AntonioND/libugba) and [agbabi](https://github.com/felixjones/agbabi).\n* Music and sound effects provided by [Maxmod](https://maxmod.devkitpro.org), \n[GBT Player](https://github.com/AntonioND/gbt-player) and [VGM player](https://github.com/copyrat90/gbadev-ja-test).\n* Fast number to string conversion provided by [posprintf](http://danposluns.com/danposluns/gbadev/posprintf/index.html).\n* Fast math routines provided by [gba-modern](https://github.com/JoaoBaptMG/gba-modern) and\n[Universal GBA Library](https://github.com/AntonioND/libugba).\n* Fast decompression routines provided by [Cult-of-GBA BIOS](https://github.com/Cult-of-GBA/BIOS).\n* Multiplayer support provided by [gba-link-connection](https://github.com/rodri042/gba-link-connection).\n* Pool containers provided by [ETL](https://www.etlcpp.com/).\n* Unique type ID generation without RTTI provided by [CTTI](https://github.com/Manu343726/ctti).\n* Stateless random number generator provided by [whisky](https://github.com/velipso/whisky).\n\n\n## Contact and support\n\nIf you spotted a bug, need a feature or have an awesome idea,\nthe best you can do is to head over to the [issues page](https://github.com/GValiente/butano/issues), \nto the [gbadev.net forums](https://forum.gbadev.net) or to the [gbadev Discord server](https://discord.gg/ctGSNxRkg2).\n\n\n## Licenses\n\nButano is licensed under the zlib license, see the [LICENSE](LICENSE) file for details.\n\nThird party libraries are licensed under other licenses, please check the [licenses](licenses) folder for details.\n\nAssets used in games, examples and other projects are licensed under other licenses, \nplease check the `credits` folders for details.\n\n\n## Made with Butano: Butano Fighter\n\nStay alive while you shoot at everything that moves! What else do you need?\n\nThe full source code and the creative commons assets of this game are in [its project folder](games/butano-fighter).\n\nGet the latest Butano Fighter ROM from [itch.io](https://gvaliente.itch.io/butano-fighter).\n\n![](docs_tools/images/bf_title.gif) ![](docs_tools/images/bf_intro.gif) ![](docs_tools/images/bf_bomb.gif)\n\n\n## Made with Butano: Varooom 3D\n\nAction-packed with revolutionary 60FPS 3D technology and 3D glasses (not included) that will have you believing \nyou're in the middle of a circuit race at speeds of 200 KMH!\n\nThe full source code and the creative commons assets of this game are in [its project folder](games/varooom-3d).\n\nGet the latest Varooom 3D ROMs from [itch.io](https://gvaliente.itch.io/varooom-3d).\n\n![](docs_tools/images/vr3d_title.gif) ![](docs_tools/images/vr3d_race.gif) ![](docs_tools/images/vr3d_viewer.gif)\n\n\n## Also made with Butano\n\n* [GBA Microjam '23](https://gbadev.itch.io/gba-microjam-23): a spooky microgame collection for the Game Boy Advance\ncreated by the members of the [gbadev.net](https://gbadev.net) community.\n\n![](docs_tools/images/gba_microjam_23_title.png) ![](docs_tools/images/gba_microjam_23_gameplay.png)\n\n* [Demons of Asteborg DX](https://neofidstudios.itch.io/demons-of-asteborg-dx): a GBA remake\nof the infamous Mega Drive game!\n\n![](docs_tools/images/doadx_title.png) ![](docs_tools/images/doadx_gameplay.png)\n\n* [Feline](https://foopod.itch.io/feline): explore the world as a cat, meet new people, learn new languages, \nface difficult foes and save your family!\n\n![](docs_tools/images/feline_title.png) ![](docs_tools/images/feline_gameplay.png)\n\n* [Symbol★Merged](https://copyrat90.itch.io/sym-merged): a puzzle platformer game where you can merge items \n(symbols) in hands, and use the superpower of the merged symbol.\n\n![](docs_tools/images/symbol_merged_title.png) ![](docs_tools/images/symbol_merged_gameplay.png)\n\n* [Green Memories](https://tengukaze.itch.io/green-memories-gba): the year is 300 a.f. and protagonist Cytra \ntries to survive the extreme climate of a post-apocalyptic desert while collecting data from her scientific research.\n\n![](docs_tools/images/green_memories_title.png) ![](docs_tools/images/green_memories_gameplay.png)\n\n* [notenogram](https://kva64.itch.io/notenogram): chill analog-styled picross/nonogram/hanjie/griddler game,\nwith story and create modes.\n\n![](docs_tools/images/notenogram_title.png) ![](docs_tools/images/notenogram_gameplay.png)\n\n* [LRO - Luggage Retrieval Officer](https://foopod.itch.io/lro): you will work your way to being a highly ranked\nmember off staff, retrieving important missing luggage for the likes of the Natural History Museum, \nNASA and even the FBI!\n\n![](docs_tools/images/lro_title.png) ![](docs_tools/images/lro_gameplay.png)\n\n* [Bridge Quest](https://fixxiefixx.itch.io/bridge-quest): find the way to the desert, but beware, \nbecause enemies and an evil tree boss will try to stop you!\n\n![](docs_tools/images/bridge_quest_title.png) ![](docs_tools/images/bridge_quest_gameplay.png)\n\n* [Advance! Adventures Of The Math \u0026 Logic Club](https://kva64.itch.io/advance-demo-adventures-of-the-math-logic-club): \nsmall demo/prototype of a visual novel about joining an ordinary math club.\n\n![](docs_tools/images/advance_amlc_title.png) ![](docs_tools/images/advance_amlc_gameplay.png)\n\n* [Knight Owls](https://blaise-rascal.itch.io/knight-owls): build up a powerful spellbook and take on many enemies, \ngather owls and upgrades while managing your health and money and defeat the final boss to win!\n\n![](docs_tools/images/knight_owls_title.png) ![](docs_tools/images/knight_owls_gameplay.png)\n\n* [Collie Defense](https://xvayan.itch.io/collie-defense): you're a Border Collie and you need to protect \nyour flock of sheep!\n\n![](docs_tools/images/collie_defence_title.png) ![](docs_tools/images/collie_defence_gameplay.png)\n\n* [Sips](https://foopod.itch.io/sips): enjoy watching people while you earn money to upgrade your cafe.\n\n![](docs_tools/images/sips_gameplay.png)\n\n* [Nuclear Love](https://foopod.itch.io/nuclear-love): have fun getting to know other survivors in this dating-show, \nwho knows, maybe you might find your future Mr. or Mrs Right?\n\n![](docs_tools/images/nuclear_love_title.png) ![](docs_tools/images/nuclear_love_gameplay.png)\n\n* [Tremblay Island](https://cinemint.itch.io/tremblay-island): take on the role of any island villager and \ninteract with the others, taking part in the drama while eventually trying to keep a grouchy alligator \nfrom taking over the island.\n\n![](docs_tools/images/tremblay_island_title.png) ![](docs_tools/images/tremblay_island_gameplay.png)\n\n* [Frost Princess](https://squishyfrogs.itch.io/frost-princess): place tiles down on the board to create a path\nto your opponent's base, then place tiles on their base to damage them.\n\n![](docs_tools/images/frost_princess_title.png) ![](docs_tools/images/frost_princess_gameplay.png)\n\n* [GBA-NICCC](https://github.com/GValiente/gba-niccc): Game Boy Advance port of the Atari ST demo STNICCC 2000.\n\n![](docs_tools/images/gba-niccc_1.png) ![](docs_tools/images/gba-niccc_2.png)\n\n\n## More Butano related stuff\n\n* [gba-free-fonts](https://github.com/laqieer/gba-free-fonts): free fonts for GBA development. \nIt comes with tools and examples to import them into a Butano project.\n\n![](docs_tools/images/gba_free_fonts_1.png) ![](docs_tools/images/gba_free_fonts_2.png)\n\n* [Wavefront To Varooom 3D](https://github.com/nikku4211/wavefront2varooom3d): converter that takes \n[Wavefront .obj](https://en.wikipedia.org/wiki/Wavefront_.obj_file) files and converts them into the format \nused by [Varooom 3D](#made-with-butano-varooom-3d).\n","funding_links":[],"categories":["工具包","Toolkits"],"sub_categories":["Other places"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGValiente%2Fbutano","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGValiente%2Fbutano","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGValiente%2Fbutano/lists"}