Comments (6)
Hi,
I told you I will opensource my work... it took a very long time but here it is : https://github.com/samuelmichaud/PhotonLauncher
Thanks guys, I could not have done it without your work !
from glc.
Hi @samuelmichaud . Welcome!
As indicated in #44 , we're obviously all for implementing this kind of feature.
A few notes:
-
Per #6 , in the new_glc branch @Solaire is moving to a SQLite database for the backend, so I don't think we'll be adding metadata to the current json-based master branch. Admittedly his progress has been rather slow, but I wanted to warn you to the extent this may affect your plans for your frontend (though pulling in SQL data isn't particularly more difficult than json, and there are examples in some of the platform implementations).
-
As may be clear from my work on this project if you've been following along, I often err on the side of the quick and dirty solutions--so this is totally my kind of idea ;-) --but from what I can gather of thegamesdb.net's (admittedly informal) terms of service, In the interest of lessening their hosting workload, apparently the proper way to leverage their database would be to distribute it ourselves and/or request a key, and use the API documented here for updates.
-
Given that, here's my suggestion to tweak your proposal: since the data is apparently free (even for commercial use), we could download thegamedb.net's database based on the latest version at the time of a new GLC release, filter it for our purposes as you suggest, then (optionally) distribute the ~20MB file here. Better yet, we could get a smaller file by converting the filtered data to a binary format, e.g., a database file (note a .sql file is also available from thegamesdb.net to create a SQL database based on the latest data, though as it's designed for MySQL, it would need some massaging to create a SQLite version). Then, either way, use their API to do any updates at the user's end. This should also help avoid hitting their API quota, even if this niche project suddenly got a lot more popular.
In any case, I'm very interested to see what you've put together with your frontend whenever you're ready to share.
EDIT: Discovered there's an unofficial API wrapper that should make things easier.
from glc.
FWIW, I've requested and been granted an API key for TheGamesDb.net. Assuming I continue to have time (work's been slow), I'll do some playing around.
I've also been checking the various launcher databases we're already importing to see what metadata is already included. As might be expected, It's hit-and-miss.
from glc.
Hi,
Thanks for your anwser & interest !
FWIW, I've finaly used https://rawg.io/ as primary source, more than TheGamesDb.net because images from TGDB are not always on the exact same ratio.
For non commercial / hobby project, it's max 20 000 api calls per month but I didn't see anything about dump in their terms : https://rawg.io/apidocs#terms so maybe it's allowed.
In any case your suggestion in 3) seems perfect.
Also, I've seen that Pegasus frontend (https://github.com/mmatyas/pegasus-frontend) scan medias in folders of detected games. Maybe this is something you can explore too...
They also seems to use other sources but I couln't figure which ones yet.
from glc.
Yes, consistent image ratio is obviously preferable, but the RAWG terms, while not exactly onerous, do make things a bit more difficult in this context:
- With a console app, we're dealing with limited screen real estate, so finding a spot for attribution to them on "every page" where their data is displayed isn't as easy as one might think.
- I'm also not sure about an "active" hyperlink implementation that they require for attribution. We've talked about adding mouse support in issues #11 and #39 , but it's a lower priority, and I'm not sure I want to make it a higher priority just for this. I guess we could assign a key and use that key to open the default web browser to the appropriate link, but then it should probably be clear which key that is, and assuming that key is configurable you go from 4 characters to eight for something like "[W] RAWG". Anyway, less than ideal.
- I think using a dump is out per "no data redistribution."
I did a few searches of Pegasus' codebase and I can't really see anything very helpful. Let me know if there's a specific bit of code you think I missed.
from glc.
Since this is all part of GLC2, we probably want to implement metadata providers as plugins like the platforms. Here's some we might start with:
- Giant Bomb
- IGDB
- MobyGames
- RAWG
- TheGamesDB
from glc.
Related Issues (20)
- Follow selection after re-sort HOT 1
- Suggestion: Give unrated items a medium rating
- Launching a search result sometimes launches the wrong game HOT 1
- Suggestion: For GLC2, add an information pane HOT 1
- Remove Bethesda.net launcher after deprecation on 11 May 2022 HOT 2
- Epic Game Launcher suggestions HOT 2
- Support for non-installed games HOT 3
- Intermittent sorting issues
- With desktop scaling enabled, icon is incorrectly placed HOT 2
- Add downloading of not-installed images for Epic with Legendary. HOT 2
- Binary release should be distributed as .exe alone HOT 8
- Change description "Origin" to "EA" HOT 2
- Support for multiple Steam folder location HOT 3
- EA: New installed games aren't found HOT 1
- Exception in EA Desktop platform (PureOrigin.API)
- GLC2 platform discussion HOT 4
- Paradox Launcher support broken after v2 HOT 3
- Steam platform not collecting owned not-installed games any longer HOT 1
- Add Robot Cache Client HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from glc.