Cards Against Humanity is pretty cool, but what if it had gifs? We wanted to create this new take on the classic card game, and thought we could make things interesting by randomizing reaction gifs to create a "hand" that will be used to answer a prompt!
What it does
Players join the room and are dealt a hand of gifs. A player clicks "Start judging" to be the judge for the round. Our central coordinator sends out relevant notifications to signify that the round has started. A prompt then appears on the screen and players choose which gif they will submit. The judge picks his/her favorite submission out of the gifs and the winner is announced! The winner is the next judge and hands are reset :)
We added a real-time chat window so you can talk with your friends and receive messages from the server. It also supports HTML tags so you can embed images and stuff.
Players can also hover over individual gifs to see interesting descriptions! The Microsoft computer vision API recognizes and labels each gif in your hand, which is usually funny/accurate.
How we built it
All coordination is done through multicast messaging using sockets between clients and the server. Our server is almost completely stateless, holding only the current list of group members which is passed to new clients to update the group view.
Challenges we ran into
We couldn't find a way to differentiate the user avatars in the game, so we were looking for ways to make our users look unique.
Accomplishments that we're proud of
We're new to all of this and it actually works! All the coordination between the clients and server were done through multicast messaging which we've only just been exposed to through classes. It was super cool to see real-time chat, sophisticated computer vision and our own version of multicast group management come together to make our idea a reality.
We decided to display each user with a unique cat photo that you can enjoy while playing the game :)
What we learned
What's next for GAH
We need to make it more pretty and sophisticate the rules and mechanics.
First, we're going to try to add animated dragging (like Hearthstone), we're going to add timers for the round, we're going to try to add session saving for groups and we're going to try to diversify our gif pool over time.
We hope you all get to play a full version of Gifs Against Humanity one day!