This is an automated archive made by the Lemmit Bot.
The original was posted on /r/epicgamespc by /u/alcalde on 2023-12-29 09:10:52.
A few days ago I suggested that we could write a Python program to scrape all the Epic Game Store game images, yada yada a couple lines of Python and predict what the mystery games would be based on the colors in the gift wrap images.
I haven't checked my Reddit messages in quite a while and I've got 98 replies waiting, so I don't know if anyone bit on that idea or not. If you replied to me, I'm sorry I didn't read it yet - hopefully tomorrow.
Anyway, I've been working on this idea since circa Christmas Eve - and when I say working, I mean like full time most days. :-( This project took me down so many rabbit holes - discovering the simple-looking Epic website is essentially unparseable and somehow 110% Javascript, writing code to parse a giant 179Kb JSON text blob embedded in their web pages to get the actual game data, learning about color spaces and what the heck the AVIF format is they save the mystery game image in, quantizing images, the wonders and the limitations of SQLite, adding multiprocessing to the program since I had to rerun the scraping routine about 200,000 times give or take 200,000, diagnosing problems introduced by said multiprocessing, dealing with SQLite write-ahead log options, tweaking scoring algorithms for an entire day, my basement flooding inbetween, being almost driven to tears ("I KNOW this scoring algorithm worked yesterday!") to finally discover after an entire day that a single character added to an SQL string during my process of refactoring and "improving" my scoring didn't throw an error but changed my scoring in unpredictable ways... etc., etc. This was so stressful that I found myself on breaks playing the giveaway game Human Resource Machine (essentially assembly language puzzles) for FUN since it was so much less complicated than my challenge...
...and yet I swear that when you take away the comments and import statements and some housekeeping it's still somehow just a couple of dozen lines of Python.
I've tested my code on a few of the giveaways and found it could guess the game within its top 25-39 guesses... except for Cat Quest. However, changing a scoring option made Cat Quest its #3 guess, but this ruined the accuracy of the other three games I was testing on. Honestly, I think they should have gone with blue and yellow for the Cat Quest image (interestingly, what the newest image is - I wonder if they reversed them by mistake?)
Tomorrow I need to build a test suite of all the giveaway images and programmatically test them while iterating some of my scoring algorithm's adjustable parameters and see what yields the best result. And I also might, if I'm suicidal, revisit the web scraping portion of my program and see if each game is on sale or not and throw out those, since the free games are almost, if not totally, never on sale.
In the meantime, I ran my program on the newest mystery gift box image using both variants, then I used my Mark I eyeballs to whittle down the collected results to 20. Of course, with my luck it'll turn out to be one of the ones I threw out. :-)
Since by the time I finally get this program refined enough to fully trust the giveaways will be over, I'm posting my best guesses here. Maybe some of y'all have some suggestions or questions too; I'll try to answer them.
Here's my best guesses for tomorrow... assuming they didn't reverse the last two clues by mistake. And that I didn't accidentally throw out the right game. And that the current mystery box is a good clue in a first place (not all game logos easily boil down to two or three colors!).
Am I right? Probably not.