Can you guess the movie based on the plot keywords? A wordle-like film guessing game. The latest playable build of the game is playable live at https://grilgamesh.github.io/Spoile/
- Python to import data and proof of concept
- Beautiful for webscraping to import
- HTML and CSS for presentation to the internet
- D3 for handling the JSon, live-editing html
- Plotly for handling graphs
- Javascript for running the program and handling user input
In the python folder are the Jupyter Notebook files Taggle and Taggle_webscraper. The Taggle_webscraper file was used to build a JSon file from the IMDB website and does not need to be run in order to use the game. It saves Json files of various sizes into the Data folder, so that a the game's difficulty can be adjusted by choosing smaller or larger datasets. The Taggle file itself is fully functional and can be run off-line if the user chooses.
In order to make the game user-friendly, I have implemented it as the index.HTML file also in the root folder. This makes use of the static folder to store CSS and Javascript files. The online version is currently a work-in-progress.
Since the success of Wordle, there have been a rash of imitators, however many of them missed what I consider to be a central feature of wordle; that a guess will reveal particular information about the answer. Many of these games reward an unsuccesful guess with a fixed clue, regardless of how close the guess was. More hardcore games like Semantle and Redactle preserved the user feedback, but upped the difficulty by being vague and expansive.
I conceived of this game then, based on the IMDB's user-submitted keywords. Every film has hundreds of identified features that individuals have tagged them with, with no mention of any of the technical features of the film such as crew or actors. Frequently these keywords overlap, such as how both Pinocchio (1940) and The Shining (1980) are tagged with 'deal with the devil'. This overlapping aspect of the film tags means that when a user guesses a film, I can display the tags belonging to their guess that also belong to the solution; therefore a better guess will provide better information.
Exploring the internet, I found Noah Veltman's IMDB game at https://noahveltman.com/imdb/ which does use tags but in a very different way; the user in this game is presented with the tags that grow regardless of guesses and timed to see how quickly they can guess the film. The code therefore needed to be implemented in an entirely different way, and despite being based on the same resource, the game has a very different feel and approach.
The game can be run online using the above link. To run Spoile in Python from your home computer, simply run all of the code in the Taggle.ipynb file, and interaction takes place on the command line.