Multiplayer Drawing Game I Made Using Qt/QML [NSFW]
-
Been working on a multiplayer drawing game and just put it up for crowdfunding.
kickstarter.com/projects/370338426/scribble-0/
See video for working demo here is the basic rules of the game:
Point of the game is simple, if you've ever played Telestrations or Scrawl, this game is played exactly the same way.
A group of friends enter a lobby and start the game. The game has ~1200 words and phrases, each player is given their own word or phrase. This begins their timeline.
Each player does their best to draw out their word or phrase.
Once all players have finished and submitted their drawing, the drawing is passed to another player and you are given the drawing of another player. You then try to guess what the original phrase or word was. You don't know who drew the picture. Once you make a guess, you have "touched" the timeline. You will not touch this timeline again.
Once all players have made a guess, the guess is passed onto another player who has not yet touched the timeline. You are given someone else's guess, with no vision of what drawings or other guesses came before this guess. All you have is a guess, which you draw out. This is also considered "touching" a timeline.
Once everyone has touched everyone else's timeline, the guess/draw phase ends and presentation mode begins. Making a word/phrase guess or drawing is considered touching, and you will only do one of those things for each timeline, not both.
In presentation mode, everyone views the same timeline at once. Only the creator of the timeline has presentation controls. He/She is able to go forwards and backward through the timeline freely. As the presenetaion controller goes forwards and backwards, the viewer will see the same exact slide the presenter is currently on.
The presenter will pick the guess or drawing they think is the "best". When they submit their vote, the next timeline is presented and controls are given to the originator of that timeline. Because of this "presentation" mode, we've found it best to be in some voip app such as discord or skype so laughs can be had and shared.
It's taken quite a bit of time, and I'm the sole developer. There is currently a dedicated server that can handle multiple simultaneous games.
Some developer related info:
- For server / client communication, QtWebSockets are used.
- Testing with friends I had 11 people playing at once transferring and receiving image data to/from the server host simultaneously without issue
- Drawing portion of the application uses qml canvas. I made a post before on these forums that demonstrates how to achieve paint brush as well as fill bucket.