• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

RetroGOG: Use GOG Galaxy 2.0 to Play and Track Your Retro Games

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.

The goal of this project is to integrate all retro platforms that are supported by both GOG Galaxy 2.0 and RetroArch so that games can easily be launched from GOG with minimal user configuration. GOG Galaxy will track user's play time as well as achievement status from RetroAchievements.org. These integrations are designed for and have only been tested with Windows.

This project is currently a work in progress. Bugs may be present.

After getting frustrated trying to find a way to add my RetroArch games to GOG Galaxy, I decided that there had to be a better way. I forked the N64 RetroArch plugin and decided to clean it up and standardize it so that it could work with a multitude of other systems as well as having the ability to use any core of your choosing. Because the configuration is currently somewhat tedious, I plan on writing a configuration tool that's designed to be easy to use (probably just "choose your RetroArch installation directory...").

GOG Galaxy will track your play time and will automatically load cover art and information (if the game exists in their database). Support for achievement tracking is currently being developed. Additional platform support will be added soon.

Currently supported platforms:
3DO 3DO
Atari 2600 Atari 2600
Atari Jaguar Atari Jaguar
Nintendo NES Nintendo NES
Super Nintendo Super Nintendo
Nintendo 64 Nintendo 64
GameCube GameCube
Wii Wii
Game Boy Game Boy
Game Boy Color Game Boy Color
Game Boy Advance Game Boy Advance
Nintendo DS Nintendo DS
Nintendo 3DS Nintendo 3DS
Master System Master System
Genesis Genesis / Mega Drive Mega Drive
Sega CD Sega CD
Saturn Saturn
Dreamcast Dreamcast
PlayStation PlayStation
PlayStation 2 PlayStation 2
PlayStation Portable PlayStation Portable
TurboGrafx-16 TurboGrafx-16


Your favorite retroarch launcher
0qLd1RC.png


Now becomes:
68747470733a2f2f696d6775722e636f6d2f41315a6b355a742e706e67


m9o0prz.png


bulwkwr.png


I'm happy to provide support in this thread if anyone would like to get this set up and is having difficulty. And as always with me, feedback is appreciated.
 
Last edited:

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
Awesome! Planning on adding Mega Drive Mega Drive support in there?
That's the Genesis in the USA, right? If so - then yeah!

The ultimate goal is everything on this list:

That intersects with everything on this list:

Will be added. I was planning on doing several SEGA consoles next, for fairness.
 
Last edited:

sol_bad

Member
What the eff?
I have spent so much time setting up Launchbox and now we are getting this as part of GoG Galaxy?

Thanks jshackles jshackles .
Can and will you be able to support other emulators or is it just Retroarche? Is GoG galaxy pulling the media from Retroarche or it's own internal database?
Sorry if you have already answered these questions. I've just had a quick glimpse.
 

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
What the eff?
I have spent so much time setting up Launchbox and now we are getting this as part of GoG Galaxy?

Thanks jshackles jshackles .
Can and will you be able to support other emulators or is it just Retroarche? Is GoG galaxy pulling the media from Retroarche or it's own internal database?
Sorry if you have already answered these questions. I've just had a quick glimpse.
The goal of this project is to just use RetroArch as it's core and have GOG Galaxy plug into RetroArch for ROM list information, file names, core info, and play time tracking. I'm not planning on supporting any other emulators at this time, though Retroarch itself supports different "cores" for each system (so, for example, you can use RetroArch to play SNES games using either bsnes or SNES9x).

The media that it's pulling is from GOG's own database and doesn't intersect with any metadata that's stored in Retroarch. Sadly the match isn't exactly perfect as I've had a few ROMs I've tested kick back with just generic covers. Thankfully in Galaxy you can add your own if they're not present in GOG's system. Galaxy's API supports all of these platforms already and are just awaiting plugins to take advantage of them. Some of their naming conventions are... a little weird ("PlayStation Original" for PlayStation PlayStation , for example) but overall pretty decent.

My biggest gripe so far is that you have to have a separate plugin for each integration type. Currently my "Community Integrations" menu looks like this:

VpvNqRJ.png


And by the time I'm done with the 20+ total planned plugins, it's going to be even worse.
 
Last edited:
Awesome work as always. Looking forward to the portable nintendo systems as I have a big backlog there.
 
Last edited:

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
Awesome work as always. Looking forward to the portable nintendo systems as I have a big backlog there.
The weird thing about the GOG API is that their platform IDs only allow for "Nintendo Game Boy" (along with "Nintendo DS" and "Nintendo 3DS"). But no "Game Boy Color" or "Game Boy Advance" category.

Thankfully, I believe the Retroarch core can play all three systems - they'll just be all lumped together in GOG Galaxy which is a bit strange.

I might bug them to add those.
 

Alexios

Cores, shaders and BIOS oh my!
Why you stopped the sega stuff before getting to Saturn >_>

How does this leech the game names, by the playlists on RA or?
 
Last edited:

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
Why you stopped the sega stuff before getting to Saturn >_>

How does this leech the game names, by the playlists on RA or?
Don't worry, Saturn will get added soon (probably tomorrow, it's late here!).

Yes, it gets the game names from the RetroArch playlist. There is also a "corrections" file that can be used to rename games (or convert their Japanese equivalents into English) so that they can be parsed properly by GOG.
 

Shakka43

Member
What the eff?
I have spent so much time setting up Launchbox and now we are getting this as part of GoG Galaxy?

Thanks jshackles jshackles .
Can and will you be able to support other emulators or is it just Retroarche? Is GoG galaxy pulling the media from Retroarche or it's own internal database?
Sorry if you have already answered these questions. I've just had a quick glimpse.
Same here, I still prefer Launchbox with its many themes and box art styles.
i've been using the Galaxy launcher a lot lately though so I'll be adding my retro games to it too.

Thanks for this, jshackles jshackles .
 

sol_bad

Member
The weird thing about the GOG API is that their platform IDs only allow for "Nintendo Game Boy" (along with "Nintendo DS" and "Nintendo 3DS"). But no "Game Boy Color" or "Game Boy Advance" category.

Thankfully, I believe the Retroarch core can play all three systems - they'll just be all lumped together in GOG Galaxy which is a bit strange.

I might bug them to add those.

Can we email GoG and ask them to make separate platform ID's?
 

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
Can we email GoG and ask them to make separate platform ID's?
It seems like most people are using the API issue tracker on Github.


I'll throw up a suggestion later today and link it here, so that others can vote on it.
 

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
Decided to hold off doing too many more integrations until I figure out what is going to be needed for achievements to work correctly.

I ran into a roadblock - and that is that the achievement metadata (basically, a list of available achievements for each game) has to come from GOG's game database online. Every retro game in their database is marked as "does not support achievements". There doesn't seem to be a way to get around that. So I've contacted GOG to see if it's possible for them to either add the functionality for plugins to override this info, or if they could add achievement data to their retro catalog. We'll see what they say.

In the mean time, I'll keep moving forward with building new integrations and try standing up a configuration / installation tool.
 

Drakal

Neo Member
Hi,

I registered just to say thank you, love these plugins.


Hope for more, especially one for Dreamcast so i can have all my 3D games on GOG Galaxy !

Nice job thanks again
 

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
Thanks for the kind words D Drakal !

I've been holding off on creating new integrations for the moment because I've been working on integrating achievements into platforms that support them. But since RetroAchievements doesn't support Dreamcast (and RetroArch does now!) I went ahead and created a Dreamcast Dreamcast plugin for the project.


Hopefully I'll have some more news to share with this project soon.
 

Drakal

Neo Member
Hi again !

Wanted to do a feedback :

all your plugins works great, exept the SNES one for some reason, games are listed in gog, but nothing happens when i try to launch one (i unistall it, reinstall it, chez the configuration many times) i think there is something wrong with this one

But love having all the others ! The Dreamcast one is theBEST ! :D
 

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
Hi again !

Wanted to do a feedback :

all your plugins works great, exept the SNES one for some reason, games are listed in gog, but nothing happens when i try to launch one (i unistall it, reinstall it, chez the configuration many times) i think there is something wrong with this one

But love having all the others ! The Dreamcast one is theBEST ! :D
You're absolutely right - turns out there is a bug in the SNES plugin. It wasn't passing the right launch parameters.

I pushed a fix for this to Github, so if you re-download that one it should work now. Or you can just copy the plugin.py over the top of your existing one, then relaunch GOG.

Thanks for the heads up!
 

Dontero

Banned
I hate retroarch though....
Their stance on getting roms exact to byte or your game can't be listed in library is retarded.
It basically forces you to download pirated no scene roms instead of using your own. I could never get any of my 3DS games into library because they were personal dumps.
 

Wonko_C

Member
I hate retroarch though....
Their stance on getting roms exact to byte or your game can't be listed in library is retarded.
It basically forces you to download pirated no scene roms instead of using your own. I could never get any of my 3DS games into library because they were personal dumps.
You can manually add games now.
 

BigBooper

Member
Thanks a lot for this. I've added SNes and Nes to try those out and it works great. A super minor thing, build is it possible to have a custom icon for the system within the GOG 2 interface or are they stuck with the O emblem?
 

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
Thanks a lot for this. I've added SNes and Nes to try those out and it works great. A super minor thing, build is it possible to have a custom icon for the system within the GOG 2 interface or are they stuck with the O emblem?
Sadly just stuck with the "O" (Generic System) icon.

I'd love for them to add support to allow users to change it themselves.
 

nani17

are in a big trouble
Currently using Hyperspin with 80 plus systems might have a look at this looks easier
 

BigBooper

Member
How does this hold up to having a bunch of platforms added for ya'll? After adding nes and snes, it always crashes when trying to add genesis now.

Edit: I think Galaxy 2 just pulls too much dynamic information to handle the thousands of games and roms I'm throwing at it. I'm going to just add a few games I play a lot and not try to add them all.

If anyone wants to add other friends to Galaxy 2, feel free to add guynamedbilly
 
Last edited:

Falcs

Banned
I literally just bought a lifetime license for Launchbox about a month ago.. But I've not had time to set it up.

How does this compare?

I'd be more than happy to support a fellow Gaffer instead and use this if it's pretty comparable.

Either way. Awesome work dude!
 

BigBooper

Member
I literally just bought a lifetime license for Launchbox about a month ago.. But I've not had time to set it up.

How does this compare?

I'd be more than happy to support a fellow Gaffer instead and use this if it's pretty comparable.

Either way. Awesome work dude!
If you want to add tons of things, this didn't work for me. It overloads Galaxy 2 and just goes into crash loops. If you only want to add a few though, it works well and integrates with all your other pc games.

It's quite a bit different in capabilities and function than launchbox.

All that said, I'd love to just use this if I could. I'm using a ssd, 6700k, and it's not enough.
 

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
If you want to add tons of things, this didn't work for me. It overloads Galaxy 2 and just goes into crash loops. If you only want to add a few though, it works well and integrates with all your other pc games.

It's quite a bit different in capabilities and function than launchbox.

All that said, I'd love to just use this if I could. I'm using a ssd, 6700k, and it's not enough.
Weird - is the client itself crashing? Or just the plugin? I've used this to add hundreds of SNES and Genesis games and haven't had any issues outside of GOG's "Importing Super Nintendo... 12%" counter taking forever as it matches all the games up to their database and pulls the relevant artwork from their servers.

If you'd like, you could PM me your Galaxy 2.0 logs if you'd like to troubleshoot the issue.
 

BigBooper

Member
Weird - is the client itself crashing? Or just the plugin? I've used this to add hundreds of SNES and Genesis games and haven't had any issues outside of GOG's "Importing Super Nintendo... 12%" counter taking forever as it matches all the games up to their database and pulls the relevant artwork from their servers.

If you'd like, you could PM me your Galaxy 2.0 logs if you'd like to troubleshoot the issue.
Cool I'll take a look at getting those this evening. It's Galaxy 2 that crashes though, not the plugin. I've got a ton of games on Steam and Gog though, so I think it might be too much dynamic info being pulled by Galaxy 2 that crashes. I've got 3400 games it's just pulling from pc games.
 

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
Cool I'll take a look at getting those this evening. It's Galaxy 2 that crashes though, not the plugin. I've got a ton of games on Steam and Gog though, so I think it might be too much dynamic info being pulled by Galaxy 2 that crashes. I've got 3400 games it's just pulling from pc games.
Before I even started this project I had over 4,500 games between Steam / GOG / Battle.net / Epic Games Store / Twitch / etc. In my personal experience at least, Galaxy 2 should be able to handle this so I'd be interested in seeing exactly where it's crashing.
 

johntown

Banned
Wow this is pretty awesome! Great job! How does the box art images work? Does it pull from online or locally or something else?
 

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
Wow this is pretty awesome! Great job! How does the box art images work? Does it pull from online or locally or something else?
Box art and images are all pulled directly from GOG's online database automatically (based on the game name).

As with anything else that's in GOG Galaxy 2.0, you can change any box art or background images yourself to local files if you prefer them to look different.
 

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
I pushed an update that adds support for

Game Boy Game Boy
Game Boy Color Game Boy Color
Game Boy Advance Game Boy Advance

Sadly, GOG Galaxy only as one platform ID for "Nintendo Game Boy" which means all three of these share a single platform ID.

Until this happens:

You'll only be able to have one of these three plugins active at a time.
 

Dsyndrome

Member
Hey jshackles jshackles , appreciate as always the work you do. Issue I'm seeing is apostrophes preventing games from being discovered. Found the issue while wondering why the latter DKC games and Pugsley's Revenge weren't being added to GOG despite showing up in Retroarch's list. Changing the name of the files corrected the issue, but Pugsley's Scavenger Hunt can't show up via database without the apostrophe. Is that something that can be fixed easily in Python?
 
Last edited:

jshackles

Gentlemen, we can rebuild it. We have the capability to make the world's first enhanced store. Steam will be that store. Better than it was before.
Hey jshackles jshackles , appreciate as always the work you do. Issue I'm seeing is apostrophes preventing games from being discovered. Found the issue while wondering why the latter DKC games and Pugsley's Revenge weren't being added to GOG despite showing up in Retroarch's list. Changing the name of the files corrected the issue, but Pugsley's Scavenger Hunt can't show up via database without the apostrophe. Is that something that can be fixed easily in Python?
Thanks for the report - let me do some testing on my end and see what I come up with, it's probably an easy fix. If so, I'll update the plugins to accommodate that. Stay tuned.
 
Top Bottom