Screenshot of my CockroachDB Cloud usage
Screenshot of my CockroachDB tables, via the CLI (Note: parts are blacked out for privacy reasons)
The home page on the website end, where the code is entered to join
The Start Game screen on the website end
An image showing both the game screen and a website user
The results page on the website end
The Game Over screen, displaying the scores
I was primarily inspired by the existing game, Photo Roulette, and the style of games made by Jackbox.tv. I wanted to try my hand at remaking Photo Roulette but with Twitter.
What it does
The game works by a software application in Godot running on a computer, and the players all connecting to the game over the internet. The game generates a code, and once all the players have joined (within the 30s wait time), the game begins. The game pulls a random tweet from a random player's account, and displays it on the screen. The players then must guess whose account the tweet is taken from. The game can also be played with anyone's twitter, including celebrities for a fun mixup! The game lasts 5 rounds, and the points are displayed at the end.
How I built it
Godot, flask, cockroachDB, and HTML/CSS
Challenges I ran into
Figuring out how all the moving parts worked together, and how to create a game like this, which I've never made before. Also learning an entirely new database system.
Accomplishments that I'm proud of
It wasn't possible to connect the GDScript (Godot project) directly to the database, so I essentially had to write my own API from the backend to allow it to read and write to the Cockroach DB. Making a Jackbox-style game, learning SQL completely from scratch, and having a fun game that works!
What I learned
SQL - it was harder than I thought, but was very rewarding and powerful once I figured it out
What's next for Twitter Roulette
Make sure it's more robust, add usernames in addition to the account name (so the account name isn't the identifier), login with twitter button, random celebrities, special celebrity mode to distinguish from players' accounts, and much more