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

×
avatar
gogtrial34987: I've seen the following pattern too much: A (presumably) new visitor searches for "cyberpunk" (e.a.), doesn't know nor notice the collapsed grouped products, searches for "cyberpunk ultimate", (presumably) still doesn't consciously see that section, and leaves.

Breaking expectations is hard, even if the result is ultimately more useful.

To hopefully mitigate this pattern, I'm now auto-expanding the grouped products for the first search result if it's scoring significantly higher than the next result (so that's only when searching and sorting by relevance). And I'm doing this with a visible transition. (Ick!?)

Give it a couple of weeks to get used to. If any of you are still bothered by it after that time, let me know about it here and I'll figure out an opt-out or a way to limit the behaviour even further.
Didn't notice anything, probably because I use group=false.

avatar
gogtrial34987: In happier news, I'm finally starting to make visible progress on the wishlist / owned products import. Still a looooong way from done, but a lot of necessary infrastructure has finally taken shape in such a way that as of today I'm seeing actual functionality doing something when interacting with GOG. @mrkgnao: I'd currently expect something like 2-3 weeks before it'd be useful (for me, not for you) to have you as a test subject for an initial import. Will PM you when that time actually comes.
Sure thing.
avatar
gogtrial34987: To hopefully mitigate this pattern, I'm now auto-expanding the grouped products for the first search result if it's scoring significantly higher than the next result (so that's only when searching and sorting by relevance). And I'm doing this with a visible transition. (Ick!?)

Give it a couple of weeks to get used to. If any of you are still bothered by it after that time, let me know about it here and I'll figure out an opt-out or a way to limit the behaviour even further.
While grouping is a good thing, I'd say that having groups expanded by default should be the rule, not the exception. Shows what's available at a glance, whether it contains what you actually searched for or not.
avatar
Cavalary: While grouping is a good thing, I'd say that having groups expanded by default should be the rule, not the exception. Shows what's available at a glance, whether it contains what you actually searched for or not.
Hmm, interesting perspective. I'm collapsing them because I figure that if people aren't interested in a game, they're also not interested in the grouped products, plus I want to show as many games as possible per screen and games with 20+ expansions would then cause far too much scrolling.

...but yeah, maybe a full collapse is the wrong pattern, and I should always show at least ~5 lines for grouped products, with a "more..." button only if there are more (for the Paradoxes of this world).

Thanks! I'll mull this over a bit, but it feels like something worth experimenting with the next time I touch the front-end, and quite probably the right direction.
Post edited September 06, 2025 by gogtrial34987
avatar
gogtrial34987: Hmm, interesting perspective. I'm collapsing them because I figure that if people aren't interested in a game, they're also not interested in the grouped products, plus I want to show as many games as possible per screen and games with 20+ expansions would then cause far too much scrolling.

...but yeah, maybe a full collapse is the wrong pattern, and I should always show at least ~5 lines for grouped products, with a "more..." button only if there are more (for the Paradoxes of this world).

Thanks! I'll mull this over a bit, but it feels like something worth experimenting with the next time I touch the front-end, and quite probably the right direction.
Seems like a fair balance, yeah. But that will make the order become quite relevant, for those 5 to be those people are more likely to care to see. Now when it's all or none, it doesn't really matter.
All kinds of weird Gwent expansions are showing up on the API today. You appear to be able to buy them, so they're showing up automatically on gamesieve, but data quality is really bad; I've seen one with a "TEST PUBLISHER"/"TEST DEVELOPER", one with "product_description_1326039182" as its description and two which lack the requires relation to base Gwent (being denoted as standalone games, thus needing manual fixing to show up as expansions). And of course no release dates in sight.

It's making me question my decision to list everything which can be bought.

GOG has cleaned up the unlisted bundles which were my original justification for doing so, so I'm down to 3 non-gwent-expansion products (Alder's Blood prologue, Roboquest: Artbook and Thronebreaker: The Witcher Tales - 4k graphic assets pack). Still worth it for them, and not worth the effort to change my setup for this now anyway, but I must admit to more than a bit of annoyance at the lack of data quality here.
avatar
gogtrial34987: GOG has cleaned up the unlisted bundles which were my original justification for doing so, so I'm down to 3 non-gwent-expansion products (Alder's Blood prologue, Roboquest: Artbook and Thronebreaker: The Witcher Tales - 4k graphic assets pack). Still worth it for them, and not worth the effort to change my setup for this now anyway, but I must admit to more than a bit of annoyance at the lack of data quality here.
Nice. Didn't know about the Roboquest Artbook. Gifted it to myself, for a rainy day.
avatar
gogtrial34987: All kinds of weird Gwent expansions are showing up on the API today.
As another one just appeared, I'm now excluding these from showing up in the sidebar, and reported it on the "what did just break" thread.
Ooh, new ratingBreakdown on game pages, complete with a new API endpoint. This'll allow getting more precise ratings than the current one decimal place (particularly useful for sorting), plus the entire breakdown graph is of course gold as well!

I'm not going to interrupt my work on the import functionality to make use of this, but will definitely be looking to enhance my rating functionality after that's done.
Post edited September 17, 2025 by gogtrial34987
Status update here: Still working on wishlist/library import. Making progress, but it's a slog - not going nearly as fast as I'd hoped. I can tell the APIs I'm calling aren't designed for external use, as they have all kinds of quirks and inconsistencies and weirdness to figure out.

Since I'll need some kind of account system so people can manage their wish/hide/owned lists, I'm also spending a lot of time figuring out data minimization and overall security. If I store the data in two different locations for performance reasons, does it add something meaningful to encrypt the data in the one location where I can do so, even if I can't do it for the other location? Can I completely prevent brute-force login attempts?

I'm probably overdoing it, but that's better than spending too little time thinking about these things, and I'm pretty happy with some of the results and decisions I've reached.
avatar
gogtrial34987: I'm probably overdoing it
Just shows how much you care, both for the project and for the users. That's awfully rare.
avatar
gogtrial34987: I'm probably overdoing it
avatar
Cavalary: Just shows how much you care, both for the project and for the users. That's awfully rare.
Thanks! That comment is really appreciated, and comes at exactly the right moment.

I'm currently bashing my head against yet another bug where a game which is on sale for the first time in more than a year isn't pulling up the all-time low price. The interplay of two different bits of code is far too complex here (but needed to keep performance acceptable), and these cases by definition crop up very rarely (usually during big sales), so it's a struggle to get it exactly right.
avatar
gogtrial34987: I'm currently bashing my head against yet another bug where a game which is on sale for the first time in more than a year isn't pulling up the all-time low price.
Actually, no, it's worse than that, Jim. Space Empires Complete Pack is on permanent sale. (-15% discount, lasting until 2099!)

The "Lowest price in the last 30 days before discount: 15.49" displayed on the store price is extremely misleading, since that 15% discount has applied since gogdb started tracking its price in 2021. And what's "new" for me is that I now periodically reload price data to correctly detect when a game hasn't been on sale at all during the last year, which means I now detect that the sale price hasn't changed in more than a year (the last real discount for this game ended in July 2024), and so suddenly see the 15% as a 'new' discount. Pffffft! No wonder I couldn't understand what my code was doing...

Now all that's left is to figure out how to properly handle that case without adding even more complexity to my code...

=> done
Post edited September 25, 2025 by gogtrial34987
I'm thinking strongly about reducing scope for now to just wishlist import and hide lists, and postponing library import to later. GOG has so many conflicting visions of what you own due to repacks and completely removing products from the API, each with different tradeoffs, and none a good fit... (The well known issue of the store not indicating that you own a game due to a repack is but a small part of it.) I have some ideas about how to go about solving this (mostly involving lots of heuristics and manual mapping work), but I'm noticing how much effort is going into it all, and I'm thinking I shouldn't have wishlist import and hide lists wait on that.

If I indeed postpone library import, I'll probably still give the option to manually denote ownership. I was planning that anyway, so you can note you own a game "elsewhere" and filter based on that, and that's easily extended to manually denoting gog ownership as well. Not certain anyone would bother, but it at least allows me to offer something as a temporary workaround...
avatar
gogtrial34987: I'm thinking strongly about reducing scope for now to just wishlist import and hide lists, and postponing library import to later. GOG has so many conflicting visions of what you own due to repacks and completely removing products from the API, each with different tradeoffs, and none a good fit... (The well known issue of the store not indicating that you own a game due to a repack is but a small part of it.) I have some ideas about how to go about solving this (mostly involving lots of heuristics and manual mapping work), but I'm noticing how much effort is going into it all, and I'm thinking I shouldn't have wishlist import and hide lists wait on that.

If I indeed postpone library import, I'll probably still give the option to manually denote ownership. I was planning that anyway, so you can note you own a game "elsewhere" and filter based on that, and that's easily extended to manually denoting gog ownership as well. Not certain anyone would bother, but it at least allows me to offer something as a temporary workaround...
Whatever is easier for you. You have already done a whole lot; we don't want you to burn yourself out.
Post edited September 29, 2025 by mrkgnao
Wheee! GOG's API suddenly randomly appended port 80 to the identifiers for relations to other products (despite those identifiers also claiming https) on 6 of the 129 product pages, affecting 359 products total. My code prevented most of the possible fallout ("You want to set this bundle to contain nothing? DENIED!"), but everything affected by this is now flagged as needing manual review, and some of that might be warranted... >.<