ReynardFox: I see the dangers in letting users delete stuff from their accounts, but I never bought the 'too difficult' excuse for staff to do it. At my most charitable I assume at this point the difficulty comes from their database being managed in a format that is absolutely sub-optimal or buried in outdated linguini code.
As i mentioned i worked at a tech company for a little while back in 2010, and by extension worked for AT&T. They REALLY REALLY REALLY didn't want you modifying or doing any delete commands on the database, and it's easy to see why.
More than that, even in 2010 you could write full commands which you tell the database was the only way to modify an existing database, so a missing or malformed command wouldn't wipe the entire database outright.
ReynardFox: There's no way GOG has a database so clean that they could append it with something as simple and logical as a bool deleted field, it's either that or they have no one knowledgeable enough in what they're paid to do to implement such. Not sure which is the worse scenario.
I agree. Adding the field wouldn't take too much work, and implementing the rest of the calls to honor it wouldn't be too much work either. Fixing a lot of the bugs wouldn't take much work, but I'm sure it's down to management higher up, who basically don't believe it's worth it, or that it may disrupt things. Or maybe the one hired to make the framework for it is no longer part of that team and they simply aren't allowed to unless something catastrophic happens.
I'd think the simplest answer, is that probably every purchase, post and everything is saved as a commit which is a sequential text (
like a chat); And if the database breaks they can simply run through the last full backup of the database plus recent additions, but manual changes won't be permanent until the next full backup (
which may be once a year). I don't know if or how often the machine with the database may crash, or how many minutes it takes to catch up to the previous state. Backuping up a database and seeding a database (
especially for testing purposes) this is somewhat common from my experience. Plus it goes across types of databases and compresses better. And you can just append everything, so having a dedicated drive to appended changes makes sense, or even sending it to the cloud compressed and encrypted to an offsite server.
SargonAelther: This will be a hot take, but I don't want such a feature.
I think hiding a game is sufficient enough.
Braggadar: What if GOG refined the game counts and the library system etc so that hidden games are never-ever visible nor counted? Move them to the orders & settings page (under a hidden games tab), say, and not get any alerts or update flags (or anything for that matter) for them until they are unhidden by the user.
You know, make hidden actually mean hidden. A pseudo-deletion. The games are still in our accounts technically, but they are only viewable on another page, and then only as a listed item able to be unhidden if the user wants to see them ever again.
I have to say, i don't see the point. Some players want numbers, and the higher the game number the more they can brag they have the numbers.
Some people only want exact numbers of games they like, and having a game (gag game or otherwise, like 'Bad Rats') is a black mark in their library they want removed.
But the display/download and the storefront are two entities. The storefront needs only to know 'purchased or repurchased' and will display accordingly, while the library you may want to customize, be it order, tags, achievement management, last downloaded, save games, etc. They likely are quite compartmentalized.
I agree if you have a game hidden, then in the store instead of 'purchased' it should be greyed out or something, but I'll guess half the work is done client side, where game ID numbers, names and prices are sent as a bulk JSON block and then the local computer in Javascript proceeds to decode and set up the pages to display. And they again, only care about if your list of purchased games (
saved as a cached cookie for convenience?) shows price, or purchased.
Functional, but disappointing.