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

×
EDIT: First Version is up on GitHub:
https://github.com/hansschmucker/GamesDesktop

Hi everybody

My collection of GOG Games has become a bit to large to manage it in the Windows Explorer any longer, so I've begun creating a little client. using XULRunner, XUL, HTML, Javascript (mostly).

Screenshot

It really doesn't do much yet. It displays an icon grid of all installed GOG games using the cover art available on GOG for games that have a supportlink set (meaning all recently created installers), allowing you to launch a game by clicking on it. I haven't even gotten around to implementing the most basic functions, like maximize/restore. But the underlying code is pretty solid. It uses Mozilla's XULRunner and implements everything using strictly object-oriented Javascript as well as a basic event system.

Eventually, I imagine it could turn into something like this:
Sketch
There's still a lot to do. We need an alias-database for old installations without supportlink, dynamic re-sorting of items, integration of forums and GOG's list of available games, categories, a menu system, a download manager, update notifications, user-defined game links and so on and so forth.

For that, I need help. I can't do this in my spare time on my own. I'd be willing to set up a project under an open-source license, but I want to know if there's any interest first. Don't be shy. I'm posting the pre-alpha version below, for now under an evaluation license. The code is however un-obfuscated (it lives in the chrome directory).

EDIT: Just to make it clear: this license is TEMPORARY. If others join me, we will discuss what license and platform we will use for collaboration and I will submit my code under the agreed license to the agreed platform!

The license can be found here. It is also included in the download.

The current early pre-alpha version may be downloaded, in accordance with the terms of the licence, from
here

So, does anybody want to join me? Or maybe you know somebody who isn't active on the forums, but you think may want to help? Or maybe you'd just be interested in the result (which would help to keep this thread visible :) )

If you think you can reach people who could help, you may also want to retweet this update
Attachments:
Post edited February 10, 2014 by hansschmucker
My programming skills is limited to being able to make a button appear in VB, so I can not help, but I would be interested in the result.
avatar
amok: My programming skills is limited to being able to make a button appear in VB, so I can not help, but I would be interested in the result.
That's fine. If we get this thing off the ground, we'll need everything from experienced programmers to UI-people to people maintaining a database to people writing documentation. So don't think you're going to get off easy just because you don't know JS ;)
Hi, the app looks nice but I think in the final sketch it would be nice to add a search bar.
Hope you find the help you need.
avatar
SlyFox: Hi, the app looks nice but I think in the final sketch it would be nice to add a search bar.
Hope you find the help you need.
Definitely. Don't know why I overlooked it when I drew the sketch :)
I either have programming skills, what I do have are 3D ones, but I don't know how I could help with this.

Time ago I had an idea about a fancy 3D GOG bookshelve, but I think it would not fit with the idea you told us here about.

If you need, in any way, help in something to 3D Design contact me, if I have freetime for myself I would gladly help you.
Honestly, I don't think it would fit either... it's supposed to be simple and straightforward, but who knows. An offer to help is in any case welcome... Maybe we'll want to do a 3D interface at some point :)
I like the idea, but the prospect of building something with JavaScript really makes me shudder. Maybe I'm old-fashioned, but good old C, C++ or Objective-C is what I trust most. How are you going to keep the app up to date? Do you have someone constantly update a database or is there a form of official API you can hook up to?
Looks really cool, but my current programming skills are limited to using too many event listeners in Actionscript, IE I have none.
avatar
HiPhish: I like the idea, but the prospect of building something with JavaScript really makes me shudder. Maybe I'm old-fashioned, but good old C, C++ or Objective-C is what I trust most. How are you going to keep the app up to date? Do you have someone constantly update a database or is there a form of official API you can hook up to?
Strangely enough, Javascript and C are very, very similar. C is a similarly flexible language with a minimal command set that you have to abuse in order to get something like structured code. I actually started with C but have since become more comfortable with Javascript, exactly because it shares these traits. Just like C it's also an incredibly dangerous language, because you pretty much are on your own when trying to impose any structure on your code. In C you usually end up with millions of macros and function pointers. In Javascript you end up with a lot of implicitly defined properties and again, function pointers.

I'd personally would love to get a C developer on board, because I think they're the best at understanding that not everything you can do is necessarily what you should do. And that each time you abuse a language construct to serve your code structure, you have to tread lightly.
avatar
tfishell: Looks really cool, but my current programming skills are limited to using too many event listeners in Actionscript, IE I have none.
What do event listeners look like in AS these days? They used to be implicitly defined through function names. Is that still the case?
Post edited February 10, 2014 by hansschmucker
avatar
hansschmucker: What do event listeners look like in AS these days? They used to be implicitly defined through function names. Is that still the case?
addEventListener(Event.ENTER_FRAME, specialKfunction);
Post edited February 10, 2014 by tfishell
avatar
hansschmucker: That's fine. If we get this thing off the ground,
I don't think it's gonna get off the ground with a license like that. Whack it under a permissive one and stick the code in a public repository. Let the "experienced programmers" you want be arbitrary contributors.
avatar
hansschmucker: That's fine. If we get this thing off the ground,
avatar
TheJoe: I don't think it's gonna get off the ground with a license like that. Whack it under a permissive one and stick the code in a public repository. Let the "experienced programmers" you want be arbitrary contributors.
You didn't read the post :) . It's just until I know that anybody is interested in joining. Nobody can do collaborative work under such a license and nobody should have to. It's really just that: A temporary license until I know what to do.

EDIT: Added an additional paragraph to the initial post to make it more clear.
Post edited February 10, 2014 by hansschmucker
I'm still curious abut this part:
How are you going to keep the app up to date? Do you have someone constantly update a database or is there a form of official API you can hook up to?
avatar
hansschmucker: Hi everybody

My collection of GOG Games has become a bit to large to manage it in the Windows Explorer any longer, so I've begun creating a little client.

Screenshot

It really doesn't do much yet. It displays an icon grid of all installed GOG games using the cover art available on GOG for games that have a supportlink set (meaning all recently created installers), allowing you to launch a game by clicking on it. I haven't even gotten around to implementing the most basic functions, like maximize/restore. But the underlying code is pretty solid. It uses Mozilla's XULRunner and implements everything using strictly object-oriented Javascript as well as a basic event system.

Eventually, I imagine it could turn into something like this:
Sketch
There's still a lot to do. We need an alias-database for old installations without supportlink, dynamic re-sorting of items, integration of forums and GOG's list of available games, categories, a menu system, a download manager, update notifications, user-defined game links and so on and so forth.

For that, I need help. I can't do this in my spare time on my own. I'd be willing to set up a project under an open-source license, but I want to know if there's any interest first. Don't be shy. I'm posting the pre-alpha version below, for now under an evaluation license. The code is however un-obfuscated (it lives in the chrome directory).

EDIT: Just to make it clear: this license is TEMPORARY. If others join me, we will discuss what license and platform we will use for collaboration and I will submit my code under the agreed license to the agreed platform!

The license can be found here. It is also included in the download.

The current early pre-alpha version may be downloaded, in accordance with the terms of the licence, from
here

So, does anybody want to join me? Or maybe you know somebody who isn't active on the forums, but you think may want to help? Or maybe you'd just be interested in the result (which would help to keep this thread visible :) )

If you think you can reach people who could help, you may also want to retweet this update
awesome
XULRunner looks interesting.
If I understand it correctly, you want to make it a C app? Why not Java? You can also make a local webserver with it and use an embedded database like H2. But this was just an idea from me.

What are your plans for future releases?
Post edited February 10, 2014 by Daniel Ruf