Single Game Frontend

Hi,

I am a developer who makes NES games, my most recent being Witch n’ Wiz (https://mhughson.itch.io/witch-n-wiz).

I am considering how to bring my game to more platforms (Steam, XBOX, Switch, etc), and one idea that comes to mind is using some form of libretro to “wrap” the game up as a stand-alone executable. I have a few questions in this regard:

  1. Is there already a good “single game” libretro frontend? I found a few “bare bones” frontends, mostly for example purposes, but they often miss things that I would consider must have (eg. controller support, remapping input, fullscreen, etc).
  2. Assuming one doesn’t exist, would this make a good Bounty?
  3. Assuming one doesn’t exist, and I wish to build my own, what would you recommend: a) Start with RetroArch, and strip out everything I don’t need, or b) Start with a bare-bones frontend, and add all the features I need?

The end goal would be to have a front end that doesn’t feel like an emulator, and instead like a native menu on top of a “retro-looking” game.

Thanks!

2 Likes

wow, Witch n’ Wiz looks fantastic. Thanks for considering libretro :slight_smile:

The best example of a single-game spin using RetroArch is Dinothawr: https://play.google.com/store/apps/details?id=com.dinothawr&hl=en_US&gl=US

RetroArch is quite modular via configure/compile flags (that is, you can enable/disable almost everything). However, it’s always going to look RetroArch-y once you get into the menus. Using RetroArch does get you the most portability, though, since many of the other minimal frontends are written in various languages like modern c++17 or Go or whatever instead of (mostly) ultra-portable C89.

For many platforms, you could bundle a very small native launcher and use it to set configurations via RetroArch’s config file and then launch the RetroArch executable and game as a single step (e.g. the way various launchers such as DIG, Hyperspin and Launchbox do it) to minimize the amount of time spent in RetroArch’s menus.

It would also be fairly easy to take an MIT/BSD NES emu and libretro-ize it (libretro-ization for this era of emu is libretro’s bread and butter and is often very easy) with your game data baked in (using bin-to-c or whatever) as a single-purpose core (assuming you’re not keen on opening up your game’s source by incorporating it into a GPL emu like FCEUmm, Mesen or Nestopia.

Anyway, lots of options.

4 Likes

Hi, someone pointed this out today on discord, this might be a simple minimal front end:

2 Likes

oh yeah! I forgot all about that one! good looks :slight_smile:

seems like a perfect fit for this sort of thing.

2 Likes

That looks promising, thank you!

1 Like