Last Week I wrote about my yearly attempt to build a one stop shop for emulation using Retroarch, and my frustrations with its design intents vs my intents. I was prepared to bounce off of it again, but spent a day looking to see if there were solutions out of my personal hell.
It turns out I had known about the solution all along, but didn't know it had grown to meet my needs since I had first heard about it. LaunchBox, originally designed as a front-end to DOSBox, has expended its reach to become a front-end for any piece of emulation software, as well as your steam, gog, epic etc library.
The concept of front-ends for emulators has been around for a while of course. MAME has dozens like MAMEUI and HyperSpin, and Retroarch is technically a front-end for libretro. In the course of this project I had considered using an alternative libretro front-end, but most of them had the same problems as retroarch or are hardware targeted builds, something I wasn't concerned about since this was to run on my desktop.
LaunchBox however, is a front-end for any emulator that can take command line arguments, including the entirety of retroarch itself. This immediately solved a few of my worries using retroarch, like running emulators for newer systems like the Xbox 360 and PS3, as well as using bleeding edge emulators that might not have a libretro port. That only scratches the surface of what Launchbox offers though.
The Golf Magazine Presents - 36 Great Holes Starring Fred Couples Problem

As I mentioned in my previous post, the biggest problem with Retroarch is that if you want to use the entire library of a system, you end up with a playlist that has dozens of redundant entries. If a game came out in several regions, has dumped betas, or several revisions, your playlist will quickly become unmanageable. There are ways around this, separate regional playlists, rom managers that prune out "redundant" items etc. But if you want to have all those variations available for research purposes or other reasons, you quickly run into an organizational nightmare. And all of this is before you take into account romhacks and fan translations, which retroarch's database just doesn't cover (they instead prefer you to "hot-patch", which means you end up maintaining a database of ips files in addition to your roms).
Other emulation front-ends have had solutions for this problem for a while. MameUI and MAME's dat files know to combine the various regions, prototypes, hacks and bootlegs into one entry per game. LaunchBox does this too, but for every system. This also means I can add fan translations and romhacks to the game list (though I'll get into the complications of that in a future post).

Now instead of scrolling through two dozen beta copies of The Golf Magazine Presents - 36 Great Holes Starring Fred Couples every time I want to explore my Sega 32X library, I am instead given the option to choose which version to launch. Suddenly the clutter is gone. In its place, we now have Discovery.
Star Trek Discovery

The problem with having access to hundreds of thousands of games is finding new and exciting games you haven't ever played. Most emulators, flash carts and ODEs just display a list of file names. A common occurrence when sitting down with any of these is rapidly cycling through the list trying to find the perfect game for that particular session. LaunchBox on the other hand has a database that contains incredibly useful information for the selected game. Screenshots, game play movies*, developer, genre, number of players, and a brief description of the game for every game in their database.

The effect this has on game discoverability is huge. During the process of waiting for all this media to download (automated by launchBox), I found myself playing games I haven't heard of for 30 minute stretches, simply because the screenshots or description caught my eye. In all my years of Flash cart, ODE and emulator usage, this has rarely happened.
Ending my Front, Fronting my End
All of this database management is of course useless if the emulation experience isn't great. Luckily this is taken care of by just using Retroarch as the emulator of choice for a particular platform. LaunchBox can download, install and configure the cores for you. Launching a game launches it in Retroarch, and from there you can access all the features that make retroarch appealing such as core configuration, netplay, automatic controller configuration etc. It'll also do this for MAME.

The Best Software is Paid Software, Even if The Best Parts Are Free
Surprisingly the core features, everything I've talked about so far, of LaunchBox are free. LaunchBox however has a paid version ($30 a year, $75 lifetime). Included in the paid version is Big Box, LaunchBox's 10 foot UI. Yesterday Big Box got an update with a new default theme and tons of optimizations. It works fairly well, and is highly customizable. A 10 foot UI was a must for my use case. I don't think Big Box alone is worth $75, but I do think LaunchBox as a whole is worth $75.

Curators Have Already Noticed The Power of Launchbox
As video games age, the problem of presenting them in their original form with context becomes more challenging. LaunchBox has become the perfect vessel for highly curated, player focused collections of games. eXoDOS, eXoWin3x and eXoScummVM are huge community curated collections of DOS, Windows 3x and ScummVM compatible games that use LaunchBox as their front-end for managing their massive collections.
For the first time ever, a project I've been tossing around in the back of my head for years is finally getting off the ground. All it took was finding the right software. Now where did all that extra hard drive space I had go?
*automatic movie and manual downloads are provided by EMUMovies, which require a $30 a year/$60 lifetime to be able to download.