It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

I am starting this thread so as to bring developers under one wing, to discuss the plugins system (and more, if in the future more Galaxy 2.0 APIs are available to us). Hopefully it may be of use to other developers in writing and better understanding the plugins system and receiving help, and it may be of use to GOG staff in figuring out our most requested features or what features ought to be changed, or bugs, etc.

I shall start. Please free in contributing to this topic.

The plugins system is strange. I tried making a SEGA Genesis plugin, and after some hours of figuring out where I was wrong, I finally managed to import a couple games. Just not my whole library...? I later tested this afresh with a NES plugin, a quick and dirty edit of the Genesis one that I made, and lo and behold. I could load 8 games with the plugin, but not 50. I certainly doubt it could handle an entire ROMset. It just doesn't even show the importing message, and I'm not sure what's wrong.

There's also the fact that the plugins system seems to be geared towards services. Galaxy 2.0 expects nearly every game to have an ID on some service and that service to have one of those URL commands. There is no way to tell the plugins system that this game isn't tied to a service (the Generic platform declaration doesn't do much), no way to natively tell Galaxy where the game's folder is or the exe or other launch parameters (hence why the Steam plugin doesn't run the executables directly as some suggested GOG would do), it's just messy. To make my NES ROMset appear, I have to authenticate a dummy account, declare that this account owns X games (each game can have an ID, title, a list of DLCs, and the license type, that's it), and that there are local games on the device (with ID and the local game state of 1 for installed, 2 for running). The IDs of the owned games and local games must match so that you can play them. For local stuff, this is cumbersome.

I'd suggest a mode where the plugin tells Galaxy 2.0 (I'm for local games only) and thus, only have to deal with one data type: Installed Game (ID, title, path, extra_executables, local_goodies, local_game_state).

That's all I got on me for now.