GodotBoy Export Template
A downloadable asset pack
This is a template for exporting a GB/GBC ROM into an bundled executable for Linux, Windows, or Android. This makes publishing on Steam or Google Play Story as easy as dropping your ROM into the template, pointing the emulator at it, and exporting the project.
Under the hood, I've used RBoy (a Rust based emulator) into a library, and interfaced into Godot. Using a full game engine like Godot under the hood means you can modify controls easily, add/modify touch screen controls (touch screen Android controls are WIP), write custom screen shaders, or even place your game into a 3d environment. And since Godot is lightweight, the download size is still quite reasonable.
Theoretically, your GBStudio/gbdk-2020 game could interface with a larger Godot game through screen reading, link cable communication, or even RAM save data. But that's only something I've theorized about, not actually explored myself. You could even add Steam achievements through a similar method.
As a bonus, it hides the ROM within a compressed asset files. It is possible to even encrypt your ROM to make it harder (but not impossible) to pirate, if you very strictly wanted your game to run on a supported platform. I don't suspect that would be a popular option, but it's possible for anyone who cares to.
https://gitlab.com/greenfox/gbc-exe-template
To try it out yourself, download this repo, download Godot, replace my ROM with yours (be sure to delete my rom), and follow the export tutorials on Godot. Currently, it supports Linux (ARM64 or x86_64), Android (ARM64 & x86_64), and Windows (x86_64). It should be possible to export to Mac/iOS, but I don't own any Apple hardware, so I have no way do any of that (if someone wants to donate some, I might be persuaded to spend some time on it).
If there is enough interest, I would like to publish a Anthology game: a collection of GBStudio or gbdk-2020 games in a single Steam and/or Android. If your game is in a presentable state and you'd like to be part of an anthology, message me or comment that you're interested with contact info.
It is, in it's current state, MIT licensed. I don't *expect* to make any money on this, but if this help your publish your game on one of these stores, consider helping me spend more of my personal time on it. (And back GBStudio on Patreon while you're at it)
Thanks for checking it out!
Edit: oh yeah, and my underlying emulator support GBA too, but without a ripped BIOS file, that might not be viable as publishing option.
GodotBoy source code: https://gitlab.com/greenfox/godot-boy
Updated | 13 days ago |
Status | Released |
Category | Assets |
Rating | Rated 5.0 out of 5 stars (4 total ratings) |
Author | GreenF0x |
Tags | Asset Pack, Game Boy, game-boy-rom, Game Boy ROM, Godot, No AI, Pixel Art, tools |
Download
Click download now to get access to the following files:
Comments
Log in with itch.io to leave a comment.
Hi :) I'm trying to use GodotBoy to import my GBA game but I don't know where to place my bios file. Or do I need to include it somewhere?
BTW: GodotBoy is really an awesome tool! Thanks for creating it!
GBA was a rough prototype that has had a lot of problems. I was working on another tool for GBA and other emulators, but it’s a bigger project than I’m able to do on my own.
I just made BubbleWrapGBA because I couldn't make it work with GodotBoy. It's a tool to wrap a GBA file with EmulatorJS to an exe file. Thanks for your help though!
When I "run project" in Godot, everything starts up fine. When I click to run the exported .exe file, it opens to the Godotboy logo and just sits there. Any ideas?
Hrm. Did you copy the exe to a new folder on it’s own? It needs the dll and (if you didn’t bundle it with the exe) the pck files.
Try running it from command line and seeing what the error messages are.
ERROR: godot-rust function call failed: GodotBoy::load_rom_buffer()
Reason: parameter #0 (godot_core::builtin::collections::packed_array::PackedByteArray) conversion
Source: cannot convert from NIL to PACKED_BYTE_ARRAY: null
I also see this error in Godot debug report:
ERROR: Could not create child process: rcedit ./mrmoosdemo.tmp --set-icon C:/Users/adama/AppData/Local/Temp/_rcedit.ico --set-file-version 1.0.0.0 --set-product-version 1.0.0.0
RcEdit is a tool for changing your games icon. If it’s missing, the export will still work, but it will have the Godot logo. Nothing wrong with that, but if you want to change that, you can install that.
Read Godot’s docs for more.
Well, it looks like it’s not loading your ROM. Did you put it in the right place? Does it have a matching file extension?
I added my rom, deleted the original GB Studio demo rom, and renamed my rom to game.gb
I have followed to Video linked above. I exported into the same folder as the template...and the dll file is there. It loads and plays the ROM just fine when I preview the project in Godot, but the .exe file doesn't work.
I have tried on 3 different machines. Same result. I am using Godot 4.4 which prompts me to update the template project with this
I have done both "restart and upgrade" and "cancel" but it doesn't seem to change the outcome.
Godot4.4 issues are outside the scope of this project. This template was built for 4.3. It should work in 4.4, but if it doesn’t, it’s likely this is a 4.4 issue, not a GodotBoyTemplete issue. Read their docs for more. Try deleting your
.godot
folder first though. That forces projects to reimport assets and sometimes fixes issues.The template here was behind the Git repo a bit. Looks like there are some old bugs with the export that were fixed on the main branch. I updated the build here. Try your export again.
I found this tutorial :
Yeah! I’ve chatted with him. I think there are a couple of edits I would make: debug checkbox in the export screen should be off for releases and PLEASE save it to a new folder, not just on your desktop. It creates a DLL file that you need for export.
Oh okay! Thank you!