Inspiration
Retro Guessr was inspired by GeoGuessr. We wanted to make a game in a similar style where the user is given information and has to try and guess the year.
What it does
Retro Guessr is a game that provides you with a news headline from a New York Times article published between 1970 and 2010. The goal of the game is to guess the year that the headline is from. Each wrong guess reveals another headline from the same year. To make the game easier, Retro Guessr also includes hints (which can be turned on from the options menu) to tell you if you're year is too early or too late. Additionally, there is a leaderboard system that displays your top 10 best performances.
How we built it
Retro Guessr was made using Python. The GUI is a Tkinter based application and the headlines are acquired through webscraping using the requests and bs4 libraries.
Challenges we ran into
Initially only the webscraping was supposed to be done in Python and the rest of the project would be in Java. We intended to webscrape all the article headlines ahead of time and load them into files in stead of webscraping in real time in order to increase performance. Unfortunately, we realized that this would a. take up a lot of file space (the data for one year for one category took up 700kB until we reduced the amount of headlines taken per day to be just one) and b. be very slow (after the aforementioned change, we let the program run and calculated that it would take 27 hours for all the data to be collected). After this realizing this we decided to switch to webscraping in real time, which also meant that we had to change the bulk of our program from Java to Python. After this, progress went smoothly with there only being one notable glitch that would crash the program when an article headline from before 1981 was chosen. We realized that the url we were using for webscraping only took categories for years after 1980, and soon fixed the issue.
Accomplishments that we're proud of
We are quite proud of finishing the project without any major errors. When we participated in PackHacks last year, there were still some notable bugs come submission time, so fixing all of those was a big improvement. Additionally, we are proud of the way our GUI looks (it's much better looking than last year's) and of all the features we were able to include despite the mid-project restart.
What we learned
From this project we learned about new widgets in Tkinter and got a refresher on json and webscraping in Python.
What's next for Retro Guessr
Retro Guessr as a project is essentially complete. There are a few extra features that could be added (for example, being able to see which headlines were displayed for previous games when looking at the leaderboard). Additionally, a web-based recreation of Retro Guessr is something we are considering as it would make the game available to a wider audience.
Built With
- beautiful-soup
- python
- requests
- tkinter
Log in or sign up for Devpost to join the conversation.