Jump to content
LaunchBox Community Forums

Any interest in a Steam launcher plugin for LaunchBox?


Recommended Posts

I'm not sure if this is really the right place to inquire about such a thing, but I'm simply trying to gauge if there is any interest amongst the LaunchBox community for a Steam launcher/proxy plugin for LaunchBox. If anyone has used Nielk's "GameLaunchProxy" or my more recent fork of it (to make it work again after Steam API changes broke it), it would be similar, but with a much more narrow focus... and instead of being an external application, I would wrap the functionality into a LaunchBox plugin that would require no prior setup or even knowledge of how it works or what it is doing. You would basically just right click the game you want to play in LaunchBox and click "Play via Steam" (or something similar).

For anyone who hasn't used GameLaunchProxy before, let me briefly explain the concept so that you can tell me if it would be of use to you or not. Steam has the ability to add non-Steam shortcuts (games) to its interface, so that you can launch games through Steam that you didn't buy/download via Steam. There are a lot of reasons/benefits one might want to do this, but a few of the primary reasons are Steam's EXCELLENT and wholly unique controller binding abilities through the Steam Overlay (allow you to create multi-tiered radial menus, touch menus, multi-layered advanced controller configurations, and probably most importantly, per-game controller configurations), to keep track of gameplay statistics (last played, total time played, etc), and to share gameplay status with friends (ex: when you're playing Super Mario Bros (NES), it displays that as your status to all of your friends on Steam).

For any hardcore emulator/rom players who have ever tried to take advantage of this behavior, they will know there is a problem however. You must add a separate shortcut to Steam for each and every emulator+rom that you want to play through Steam. For some of us with collections of thousands of roms (and the desire sometimes to play a single rom in different emulators), this becomes tedious and impractical very quickly. 

What this plugin would allow is for you to keep your entire collection of roms/emulators organized in LaunchBox, and without having to add a single shortcut to Steam, you would be able to launch any combination of emulator+rom through Steam, giving you access to the Steam overlay, per-rom/emulator/game controller configurations (that are saved/remembered automatically). The plugin will use Launchbox metadata for the rom/game name and platform name in order to "label" your current Steam gaming session. For example, if you are playing "Super Mario Bros." on the NES, when you pull up the Steam overlay, you (and your Steam friends) will see the following as the name of your current play session (your controller profiles will be labeled as such too):

"Super Mario Bros. (NES)"

Additionally, your Steam client won't be littered with a thousand shortcuts (the plugin will only add 1 hidden shortcut that it will change dynamically to "proxy" launches between LaunchBox and Steam). Like I said previously, you would only need to bring up the context menu in Launchbox on whatever game/rom you want to play, and you would be able to click either "Play via Steam", or you could go into the "Launch With" menu and choose to launch the rom with any of the other emulators you have configured through Steam. 

Currently, you can accomplish this using my current build of GameLaunchProxy, but it requires a lot of setup, configuration, and quite-frankly complicated understanding of what is going on under the hood (gets even more complicated when you start considering relative paths to roms and emulators). I suspect that a lot of people would find this plugin useful if they knew of the benefits and if it was extremely simple to use, but maybe I'm wrong. That is why I'm here. I simply want some feedback from people in the community if they would find this useful and if they would actually use it. I've already rewritten the core of GameLaunchProxy from scratch, and I was going to implement this into a new app that majorly simplifies the entire app's concept, but as I thought it over, I decided it may be much more useful to just write the functionality directly into a LaunchBox plugin (accomplishing the ultimate level of simplicity). 

Anyways, if any of you made it though that doctoral thesis, please give me some feedback and let me know what y'all think. Since I've already written most of the core functionality, it shouldn't take a lot of time for me to implement it into a plugin if I get positive feedback from enough people. Thanks!

  • Thanks 1
Link to comment
Share on other sites

Of course, I am interested! :D The biggest issue with the proxy as it is is the difficulty in setting it up. This is what keeps all but those who really want these features from using it. Heck, I haven't even set it up again since it broke last because I had already gone through and swapped out all of my platforms to not use it. A way to easily launch with and also without the proxy features as I would see fit would be super amazing. As always, I am very happy to beta test anything you can come up with. Nielk1 can attest to it, I am VERY good at breaking things, LOL. :P

Link to comment
Share on other sites

Thanks for the feedback guys. I think I might go ahead and start working on an early build and see how it goes. Ultimately I think I will be doing this simply because I enjoy doing it rather than because a lot of people will use it. If it turns out that some people do end up using it, that's even better. :)

Link to comment
Share on other sites

If I'm understanding this correctly, this will make it easier to set up games to launch straight from Launchbox without having to do the command line stuff yourself --IE adding Retroarch as a new game in Steam and then using the command line to point that specific instance toward launching an SNES game, for example-- and if that's the case, I'm all for it.

If you can somehow find a way to tie all of the extra images in Launchbox to the screenshots function in Steam so they show in the UI/display in the background on game categories like native Steam games too, that'd be even better.

Link to comment
Share on other sites

  • 2 weeks later...
On 1/17/2018 at 2:49 AM, Cypher said:

If I'm understanding this correctly, this will make it easier to set up games to launch straight from Launchbox without having to do the command line stuff yourself --IE adding Retroarch as a new game in Steam and then using the command line to point that specific instance toward launching an SNES game, for example-- and if that's the case, I'm all for it.

If you can somehow find a way to tie all of the extra images in Launchbox to the screenshots function in Steam so they show in the UI/display in the background on game categories like native Steam games too, that'd be even better.

Sorry it took me so long to respond. I missed the email saying the thread had a new reply. Addressing your first statement, that is correct. There will be zero setup needed. I've put a screenshot below which shows how it will be used. Basically, you just right click the game (or bring up the game's menu in BigBox), and click the 'Launch via Steam' menu option at the very bottom. 

image.thumb.png.d032836218eefcd58b6e891addef6bb1.png

Concerning your second statement/question, can you be a bit more specific, as I'm not totally understanding what you're asking. I understand that when in Steam and you select a Steam title that it shows a game-specific image behind the game description/news/etc, but I'm not sure what you're asking that I implement. Essentially, with this plugin, you won't see any emulators/roms/games in Steam that you didn't previously, it is only a way to launch games, as if they were started through Steam, but from the LaunchBox interface. The advantages of this is that you gain access to the Steam overlay (and all the goodies that come with it including one-of-a-kind controller binding system, screenshots, overlay web-browser, game play statistics, status sharing with friends, in-game chat, etc and so on) WITHOUT having to add a shortcut for each and every emulator+rom combination to the Steam launcher. LaunchBox does a very good job of organizing my rom collection, so the idea of this plugin is to let LaunchBox continue to do that job well, but in addition, gain the benefits of using the Steam launcher as well. 

Please explain your request more thoroughly however, as I would be happy to implement whatever functionality your looking for as long as its possible and it fits into the "idea" and/or purpose of this plugin. The plugin is about ready to release publicly. It is working very well and just needs a bit more tweaking to make it stable under certain edge cases. I will check my email more closely so I don't miss your response again. Thanks for the interest.

Link to comment
Share on other sites

Quick question for anyone interested in this plugin. Do you use the "Launch with" option in a game's context menu often (meaning you use an emulator different than the one you have set as the default for that platform)? Right now, the way the plugin is working is that it is just using the default emulator in order to launch the game/rom in Steam (same as if you just double clicked on the game), and I'm trying to decide if that is good enough. 

I originally intended to add a 2nd expanding menu option, like LaunchBox's "Launch with" menu option, that would allow you to choose any other compatible emulator to launch the game in Steam, but I quickly learned the LaunchBox plugin architecture was not capable of such dynamic behavior. It essentially just allows you to have static menu options that are created at compile time, meaning you can't create a number of menu options dynamically based off of a user's particular configuration. 

In the regular LaunchBox interface (not BigBox), it would be possible to get around these limitations by introducing my own popup window that could dynamically display the different emulators available, but doing this in BigBox would be much more difficult and require its own separate implementation (due to the different UI type, controller input, etc).

Regardless, I'm going to release the 1st version prior to implementing any of this more complex behavior (if I even decide to), but I just wanted to get some feedback to see if this is even wanted/needed before considering whether to put the time into it or not. Thanks.

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...