Interesting development projects? - Tighter integration of MakeCode Arcade games with Batocera, Recalbox and RetroPie
While I was working with McAirpos and getting MCA games to show up in and run from the game menus in RetroPie, Recalbox and Batocera, I had the pleasure to receive both good help and support from all the retro games systems’ developer teams.
They were all interested in integrating and supporting MakeCode Arcade games in a more official fashion than my kitchen door hack approach, like for all the other emulator systems, and they all offered technical support along the way to help make it happen.
My understanding is that the major steps to accomplish such integration are:
- Make and add a MCA installation script entry the right way in their respective installation channels
- Configure the MCA games launching to work in conjunction with their built-in launchers (emulationlauncher/runcommand.sh Python/shell scripts), and especially, but not exclusive to
- Integrate with their gamepad/controller configuration system(SDL?)
The last point might be the one requiring the most work, as the current MCA (arm) Linux executables utilizes RAW Linux Input Subsystem events for controllers. But I have seen many references to SDL in the pxt source code, which might imply that this could be accomplished in a much more direct and better way than through all the detours I take with uinput-mapper etc. in McAirpos.
All the three retro gaming systems are great, all with nice and welcoming teams and communities, so I would not dare to prefer or recommend any one over the other, at least not as a retro gaming system on their own terms.
But my communication most recently has coincidentally been with the Batocera team(meaning this is freshest in their memory), and they are the only ones who really focuses big on the DIY/homebrew retro gaming scene(like MakeCode Arcade), where they include emulator entries for PyGame, TIC-80, Pico-8 etc. in their default installation ready to play from the main menu with example games, and not as optional add-ons or only showing up after having added such games. They were also the only ones who took MakeCode Arcade as far as advertising even the current working McAirpos hack support on their blog and have support people on Discord who answer within minutes on the subject:
Ceteris paribus, this might indicate that Batocera are the most eager to include MakeCode Arcade games in their official portfolio.
Though pretty big on the Raspberry as well, one downside compared to RetroPie and Recalbox, is that Batocers largest group of users seems to be on Linux and Windows x64 computers. Even though I suspect that MakeCode Arcade games already could quite easily be compiled also to x64 executables(especially Linux), I have still not found out how nor gotten any real affirmative response on the matter from the @makecode team, except a little from @eanders regarding UWP apps(with compilation of MCA x64 native executables, I imagine that bundling of MCA games with Batocera also on these platforms would be a breeze, and make the market and interest for MakeCode even bigger);
At the moment, I am swamped with trying to understand the pxt source code and getting McAirpos to open uf2 files directly, and I have no feeling of ownership or wish to be some kind of “syvende far i huset” for anyone who might wish to take on a project like this.
This is just a tip about 3 potential interesting learning/development projects, which definitely have both a confirmed user market/demand and teams that wants to help, and an offer to help as much as I can if it is somehow based on McAirpos(or not based on McAirpos, which probably is a better way forward in the long run). I can also convey any initiative/contact request to the people I was in touch with at Batocera, Recalbox and RetroPie, if of interest.