Retro Sounding Index Project
1/30/21
Edited: 2/17/21
RetroSounding is a browser-based search engine for retro video games. As a final project in my data-retrieval lass me and my classmates, Daniel Belousov and Austin Cari, scraped Wikipedia and some other sources for info and provide a web-based way to access that data and query it.
With just 2 months of work I worked in a small team of 3 to make a website to serve exactly this purpose. By giving some small details and clicking "search" we can help you get closer to finding that game you forgot about.
If you find something close but not quite right, you can use the "similar games" function to be supplied with a new search, full of games with similar qualities. If you have already found what you needed, maybe you could just browse for the sake of finding something new!
The website uses the Flask web framework, and the Whoosh search engine library to index and search over our data
For the design, we wanted to make sure that the website could be viewed easily on most devices, and give the impression of a start-screen from a classical video game.
There are 11,692 unique entries in the database, including Apple 2, Classic Mac OS, MS DOS,
arcade cabinets, Atari 2600, Famicon, NES, SNES, Nintendo 64, Gameboy, Gameboy Advance, Gameboy Color, Sega Genesis and ZX Spectrum computer games.
For each game, we try to provide publishers, developers, release year, genres, and a description.
In order to make this project I had to design a script that could look at Wikipedia and collect the necessary information. Because each Wikipedia page is slightly different we had to make sure our script could manage each game and store the data in the correct informat.
Cleaning the data required a lot of repetition. Genres where especially difficult, for example "shoot 'em up" and "shoot em up" games seem like different genres to a computer looking only at the plaintext.
It was important to the team that the website was accessible through many devices. Every style element can re-size itself to adapt to even the smallest of displays, and the pictures will shrink to keep the formatting nice.
One feature I was especially proud of was the results timeline. On the results page for every query there is a timeline I was able to make using Javascript and Python: Each game that appears as a result on the page will also be put on the timeline next to the appropriate year.
The timeline also dynamically shifts with the size of the webpage, and displays a minimum number of years to maximize the visual clarity of the information.
For more information on our web-scraping techniques, or implementation specifics, please see our final report
please note: the assignment had us replicate a specific ACM standard format; This project is not an official ACM publication.