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
mrkgnao: Yes.

It worked well until late February. Then I began seeing intermittent failures. So I added retries (if server error, wait 30 seconds, then try again, give up after 20 failed attempts). This worked until a couple of weeks ago. Since then fails constantly.

GOG is aware of this. Actually one of the first things they did was empty that account's cart. MaGog of course filled it back again immediately. From what I informally heard they are not going to do much to fix it.
Ah. Well that means my thought isn't likely to be an issue (I wondered if it might still have the game that was removed in the cart and that was causing the error, but if it's been emptied and refilled then that shouldn't be a problem)

*sigh*

GoG never likes to make these things easy for us do they...
avatar
HypersomniacLive: This is probably a stupid, thought, but perhaps there's a way to somehow group games in order to have smaller carts?
My thoughts exactly. But I'm not as much into this problem as mrkgnao, so it is unlikely that I can think of something that he has missed.

My first idea would be grouping by publisher. I think that an inter-publisher bundle could be possible but unlikely. However, I may be wrong.

My idea number two is using the RSS to extract hints to likely bundles. This could be a bit messy, but it might help on some cases.

Finally, one or two questions: I imagine that, if adding all the games and noticing that the values are not as expected, MaGog will try to work out the smallest subset of products that exhibit this arithmetic mystery.
Does it use an heuristic to go faster than removing just an item at a time?
And should there be two such bundles at a time (an unlikely scenario, I suppose, so a very corner case), would it be able to notice them both, instead of assuming the most likely case of just a single bigger bundle? For example, MaGog could notice that removing a certain game from the cart would result in a price change in an ammount smaller than its full price, but would not bring the price up to the normal sum of all the regular prices (since there is still a full bundle in there).

It is pleasing to see that you are paying attention to what appears to me as being "minor details" in game prices. Thank you for your effort.
avatar
HypersomniacLive: This is probably a stupid, thought, but perhaps there's a way to somehow group games in order to have smaller carts?
avatar
Gede: My thoughts exactly. But I'm not as much into this problem as mrkgnao, so it is unlikely that I can think of something that he has missed.

My first idea would be grouping by publisher. I think that an inter-publisher bundle could be possible but unlikely. However, I may be wrong.
I agree it's rare, but here is a current example: BGEE + BG2EE +IWDEE + BG + BG2 + IWD is an inter-publisher bundle (Hasbro and Beamdog).

But even if it were per-publisher only, how would I do it?

Would I just build these per-publisher carts on the fly every six hours? Not likely to work, since adding/removing a game from a cart is relatively slow, so doing it upwards more than two thousand times, could easily take an hour. As it is, the MaGog update run already takes ~90 minutes (was ~45 minutes, but then GOG kindly added HTTPS). Adding one more hour to it is pretty much out of the question.

I could theoretically have 100+ alt accounts, one per publisher, each with a prebuilt cart that just needs to be updated if another game from the same publisher is released. But that would require logging into 100+ accounts every six hours, and GOG does not allow more than three account logins every hour.

avatar
Gede: My idea number two is using the RSS to extract hints to likely bundles. This could be a bit messy, but it might help on some cases.
This is like saying that MaGog will know which game files have been updated by checking GOG update flags or GOG changelogs. I hope I don't need to spell out why this will not work.

avatar
Gede: Finally, one or two questions: I imagine that, if adding all the games and noticing that the values are not as expected, MaGog will try to work out the smallest subset of products that exhibit this arithmetic mystery.
Does it use an heuristic to go faster than removing just an item at a time?
And should there be two such bundles at a time (an unlikely scenario, I suppose, so a very corner case), would it be able to notice them both, instead of assuming the most likely case of just a single bigger bundle? For example, MaGog could notice that removing a certain game from the cart would result in a price change in an ammount smaller than its full price, but would not bring the price up to the normal sum of all the regular prices (since there is still a full bundle in there).

It is pleasing to see that you are paying attention to what appears to me as being "minor details" in game prices. Thank you for your effort.
I'm sorry, I don't understand.
avatar
Gede: And should there be two such bundles at a time (an unlikely scenario, I suppose, so a very corner case), would it be able to notice them both, instead of assuming the most likely case of just a single bigger bundle? For example, MaGog could notice that removing a certain game from the cart would result in a price change in an ammount smaller than its full price, but would not bring the price up to the normal sum of all the regular prices (since there is still a full bundle in there).
avatar
mrkgnao:
If I got it right, you're asking whether MaGOG can figure out there are multiple bundles active at once, and do so by removing games? In which case (I think) that's not how it works and it doesn't try to determine which game is bundled with which other game(s), but simply compares the normal price of each game at the moment with the price of said game in a cart containing all and therefore also all possible bundles. If any price is different, it's logged as a bundle discount. Whether there's one active bundle discount or one hundred doesn't matter.
Unless you were asking whether it can see whether a game is in two different bundles at once with stacking discounts? I doubt that, as that actually would require taking games out one by one and comparing.
Unless I got something wrong on either side here. Quite likely.
high rated
avatar
mrkgnao:
avatar
Cavalary: If I got it right, you're asking whether MaGOG can figure out there are multiple bundles active at once, and do so by removing games? In which case (I think) that's not how it works and it doesn't try to determine which game is bundled with which other game(s), but simply compares the normal price of each game at the moment with the price of said game in a cart containing all and therefore also all possible bundles. If any price is different, it's logged as a bundle discount. Whether there's one active bundle discount or one hundred doesn't matter.
Unless you were asking whether it can see whether a game is in two different bundles at once with stacking discounts? I doubt that, as that actually would require taking games out one by one and comparing.
Unless I got something wrong on either side here. Quite likely.
Cavalary's description is correct. MaGog does not know which are the bundles, just whether there is a bundle discount or not and what it is.

P.S. In case it's not obvious, bundles come and go all the time because GOG has many tens of everyday bundles, which often become temporarily disabled when they are involved in some regular (non-bundle) sale, e.g. a weekend sale. For example, when GOG has a weekend sale involving King's Bounty, the everyday King's Bounty bundle is turned off, only to return at the end of the sale.

avatar
Cavalary:
avatar
Gede:
avatar
adaliabooks:
avatar
HypersomniacLive:
avatar
phaolo:
Just wanted to thank you all for pitching in. Even if I find some drawbacks in your suggestions, they are helpful, by promoting a form of brainstorming that will eventually hopefully lead to some solution. Don't stop.
Post edited April 08, 2016 by mrkgnao
Began experimenting.

A curious finding:
- GOG has a bundle composed of Hotline Miami + Hotline Miami 2 + Hotline Miami 2 Comics, which gives a 20% discount. If you put only the first two in the cart you don't get the discount, despite the third one being free.
- Similar with the Ultima series.
Post edited April 08, 2016 by mrkgnao
avatar
mrkgnao: Just wanted to thank you all for pitching in. Even if I find some drawbacks in your suggestions, they are helpful, by promoting a form of brainstorming that will eventually hopefully lead to some solution. Don't stop.
Ah phew, I thought I exaggerated with silly ideas XD

Another one, then:
- check gog.com home source for "special_promo" links (or similar).
- follow them and look for "gog-product="
- get all the IDs.
- add the games to cart to check discounts.
- add the bundle to a list of known packs to check in the future.
Post edited April 08, 2016 by phaolo
avatar
mrkgnao: Began experimenting.

A curious finding:
- GOG has a bundle composed of Hotline Miami + Hotline Miami 2 + Hotline Miami 2 Comics, which gives a 20% discount. If you put only the first two in the cart you don't get the discount, despite the third one being free.
- Similar with the Ultima series.
May that mean there's a "series" tag somewhere, and discount applies if all from that specific series group are added? That could be something to look for then.
avatar
mrkgnao: [...]

Just wanted to thank you all for pitching in. Even if I find some drawbacks in your suggestions, they are helpful, by promoting a form of brainstorming that will eventually hopefully lead to some solution. Don't stop.
Well, mine was far from being an actual suggestion. And I did preface it properly; I lack any tech knowledge to suggest something that could lead to a solution.


avatar
mrkgnao: Began experimenting.

A curious finding:
- GOG has a bundle composed of Hotline Miami + Hotline Miami 2 + Hotline Miami 2 Comics, which gives a 20% discount. If you put only the first two in the cart you don't get the discount, despite the third one being free.
- Similar with the Ultima series.
That's a very odd way to go about it.
Also, one gets the discount only for the regular edition of Hotline Miami 2: Wrong Number.
Post edited April 08, 2016 by HypersomniacLive
avatar
mrkgnao: Just wanted to thank you all for pitching in. Even if I find some drawbacks in your suggestions, they are helpful, by promoting a form of brainstorming that will eventually hopefully lead to some solution. Don't stop.
avatar
phaolo: Ah phew, I thought I exaggerated with silly ideas XD

Another one, then:
- check gog.com home source for "special_promo" links (or similar).
- follow them and look for "gog-product="
- get all the IDs.
- add the games to cart to check discounts.
- add the bundle to a list of known packs to check in the future.
It's an interesting idea, but:
1) somewhat inefficient as most special promos are not bundle promos (e.g. currently Deponia)
2) not helpful when the sale does not include all the elements necessary for the bundle (e.g. currently Beamdog, which require BG+BG2+IWD to get the bundle discount for BGEE+BG2EE+IWDEE, but the former are not part of the promo)
3) and most importantly, as implied by your "(or similar)" [which is of course meaningless -- I cannot tell MaGog "or similar"], it depends on GOG being consistent in using "special_promo" in the link...

Still I might have to resort to that at some point. Cheers.
Post edited April 08, 2016 by mrkgnao
high rated
avatar
mrkgnao: Began experimenting.

A curious finding:
- GOG has a bundle composed of Hotline Miami + Hotline Miami 2 + Hotline Miami 2 Comics, which gives a 20% discount. If you put only the first two in the cart you don't get the discount, despite the third one being free.
- Similar with the Ultima series.
avatar
Cavalary: May that mean there's a "series" tag somewhere, and discount applies if all from that specific series group are added? That could be something to look for then.
I believe it's as simple as looking for "BUY SERIES" on the game page of every game. I plan to do that.
I love how you (mrkgnao) know all the limits of GOG's system (like the maximum number of logins per hour per IP :-)

It seems like I misunderstood your objective (and the number of HTTP requests you can make. Also, I thought HTTPS was optional).

I thought that you wanted to determine that BGEE + BG2EE +IWDEE + BG + BG2 + IWD is cheaper if purchased together, and that the HM + HM2 + HM2C is a bundle. Also, I was under the impression that all these bundles were advertised as such by GOG.

(Side question: You mean GOG's update flags are not always right?! You keep surprising me!)

If you don't care about what games constitute a bundle, things can be made simpler (which does not mean simple).

Do you know the current limit of items in GOG's cart?
Also, do you also care about the minimum price for a game, should it be part of two or more bundles?
Finally, does the cart need to be updated item by item, or can you alternate between sets of games easily?
high rated
avatar
Gede: I love how you (mrkgnao) know all the limits of GOG's system (like the maximum number of logins per hour per IP :-)
Well, I have to live with it on a daily basis. If I am debugging or developing a feature that requires login (such as this one), I know that I have three attempts to get it right, then I need to wait an hour before attempting again, and these shouldn't be one hour before or after MaGog's regular run. Given that MaGog's regular run takes 1.5 hours every 6 hours and employ two logins, I have a pretty narrow window of time to work on new features.

avatar
Gede: It seems like I misunderstood your objective (and the number of HTTP requests you can make. Also, I thought HTTPS was optional).

I thought that you wanted to determine that BGEE + BG2EE +IWDEE + BG + BG2 + IWD is cheaper if purchased together, and that the HM + HM2 + HM2C is a bundle. Also, I was under the impression that all these bundles were advertised as such by GOG.
My objective is to determine if a given game has a bundle discount, namely has a larger discount if it is bundled with some other (unknown) games, and what that discount is. C'est tout.

avatar
Gede: (Side question: You mean GOG's update flags are not always right?! You keep surprising me!)
Surprise is my middle name.

avatar
Gede: If you don't care about what games constitute a bundle, things can be made simpler (which does not mean simple).

Do you know the current limit of items in GOG's cart?
I don't know exactly, but problems began around the time the catalogue reached 1400 games. However...
You probably assume it's a fixed number. It is not.
In February the same cart size would work on some days and not on others. It was pretty clearly related to how many games were on sale that day (which probably affects the complexity of determining game prices). Accordingly, on weekends it tended to fail more than on weekdays.
Also, like many things on GOG, it might well be affected by server load (e.g. number of accesses allowed before one's IP is blocked for 18 hours is dependent on server load, I believe, which is why it tends to happen more for MaGog during big sales).

avatar
Gede: Also, do you also care about the minimum price for a game, should it be part of two or more bundles?
Yes.
Not that I have seen a game belonging to two bundles. I expect GOG will implode if that ever happened.

avatar
Gede: Finally, does the cart need to be updated item by item, or can you alternate between sets of games easily?
This is GOG. The word "easily" does not compute.

There is one cart and two operations: add and remove, each with one parameter (id). I believe you can also send a list of ids, not just one, but I didn't find it faster, so MaGog usually works one by one.

BTW, the more games there are in the cart, the longer it takes to add or remove one game. Adding the 1000th game takes seconds, while adding the 1st takes milliseconds.

EDIT: There is a third operation and that is obtaining the cart contents and prices. It is is a very lengthy operation on GOG (if it doesn't fail, as it does now), so you don't want to do it too often. I do it twice per regular run.
Post edited April 08, 2016 by mrkgnao
avatar
mrkgnao: It's an interesting idea, but:
1) somewhat inefficient as most special promos are not bundle promos (e.g. currently Deponia)
2) not helpful when the sale does not include all the elements necessary for the bundle (e.g. currently Beamdog, which require BG+BG2+IWD to get the bundle discount for BGEE+BG2EE+IWDEE, but the former are not part of the promo)
3) and most importantly, as implied by your "(or similar)" [which is of course meaningless -- I cannot tell MaGog "or similar"], it depends on GOG being consistent in using "special_promo" in the link...

Still I might have to resort to that at some point. Cheers.
Even if it's not your intention, you're so harsh in your comments T_T :P

1) I know, this is meant to be a workaround.
2) if they're usually rare, amen for exceptions.
3)"or similar" coul also mean other terms (bundle,promo,etc) or "just check all gog links in the LATEST DEALS section and other defined areas".
avatar
mrkgnao: It's an interesting idea, but:
1) somewhat inefficient as most special promos are not bundle promos (e.g. currently Deponia)
2) not helpful when the sale does not include all the elements necessary for the bundle (e.g. currently Beamdog, which require BG+BG2+IWD to get the bundle discount for BGEE+BG2EE+IWDEE, but the former are not part of the promo)
3) and most importantly, as implied by your "(or similar)" [which is of course meaningless -- I cannot tell MaGog "or similar"], it depends on GOG being consistent in using "special_promo" in the link...

Still I might have to resort to that at some point. Cheers.
avatar
phaolo: Even if it's not your intention, you're so harsh in your comments T_T :P

1) I know, this is meant to be a workaround.
2) if they're usually rare, amen for exceptions.
3)"or similar" coul also mean other terms (bundle,promo,etc) or "just check all gog links in the LATEST DEALS section and other defined areas".
I am sorry. It was never my intention. I shall try to be more courteous.