Many of you have likely heard about the ODROID family of single-board computers, at least in passing. You may have even heard of the ODROID-GO. In case you haven't, here's a link:https://wiki.odroid.com/odroid_go/odroid_go
As you can see, it is a hand-held game console (reminiscent of Nintendo's Game Boy) based on the ESP32 WiFi-enabled microcontroller platform. It's not very expensive for what you get (although the shipping adds 50% to the price - it's $48 shipped to the U.S.)
The first time I saw it I thought “ODROID-GO
? More like ODROID-Gosu
, amirite?” ;)
But seriously… this looks like tons of fun, and (like most things) it would be even better with Gosu!
So, before I ordered one, I made sure that some form of Ruby would run on it, and I found a port of mruby:https://github.com/mruby-esp32
I've also looked around for a development environment. This looks like a good one:https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html#setup-toolchain
Now, there's one little hitch when it comes to porting Gosu: I don't think it has any kind of video acceleration hardware. That means all video rendering will have to be done in software. Since, to my knowledge, Gosu doesn't have any software rendering code, I suppose this could turn out to be less of a port and more of an API re-implementation... But, I'm okay with that, since it's the nice, clean API that made me fall in love with Gosu in the first place. Also, there's this:https://github.com/ssloy/tinyrenderer
On top of getting the basics to work, I plan on making a platform to allow other Gosu users to target the ODROID-GO with their games.
I'm envisioning a front-end that lists and launches Gosu apps, each stored in its own folder (or archive?) on the SD card. Picture the "XMB-style" interface that many projects are using (including the emulator front-end that comes preinstalled on the unit) with a standardized icon/description format.
Anyone who wants to help is welcome, even if it's only to offer testing or constructive criticism.
NOTE: I don't have much free time to devote to this, so don't expect this project to move forward in leaps and bounds. In fact, I don't even have the little guy in my hands, yet (but it should be here Monday!)