Inspiration

We had no other ideas for the project, so we decided on this one.

What it does

This project uses websockets to connect several clients to a central server. Then, the clients can play Cards Against Humanity together!

How we built it

We used Go for the server, with gorilla's websocket library. On the client, we used python with the websocket_client library and the colorama library for cross-platform colors

Challenges we ran into

There were a lot of bugs, especially considering the fact that multiple goroutines (threads) were writing to multiple connections, and considering that a user could leave at any time. There are still a few bugs, but I hope they can be fixed.

Accomplishments that we're proud of

We are proud of the game itself and all of its features, I guess.

What I learned

We learned a lot about python, websockets, concurrency (and how to avoid race conditions with Go), and stuff like that.

What's next for CAH

We might make it into a full game or leave it be...

HOW TO PLAY

  • Download the game: git clone https://github.com/vityavv/asdf
  • Go into the interface directory: cd asdf/interface
  • Change the address to ws://0.tcp.ngrok.io:11794 on line 8 in CAH.py
  • Run python3 CAH.py
  • Follow the directions!

There are still some bugs :(

Built With

  • go-websockets-python
Share this project:

Updates