Whats' That Doodle !! ?

Whats' That Doodle !! ?

Multiplayer game made in JAVA using network programming , javafx , multi-threading and uses the MySQL database.

Created on 14th November 2022

Whats' That Doodle !! ?

Whats' That Doodle !! ?

Multiplayer game made in JAVA using network programming , javafx , multi-threading and uses the MySQL database.

The problem Whats' That Doodle !! ? solves

This project is made under the SOFTABLITZ event of Cyberquest which is a part of AVISHKAR 22 which is the annual Tech Fest of MNNIT Allahabad.
The project is based on the multiplayer game SKRIBBL.

It has the following features :

BASIC:
Users can log in/log out and have their app profiles.
Users should be able to start a game and have a shareable unique code to the game.
Users should be able to join a game using code if it hasn't started.
Users should be able to send friend requests to others.
Users should be able to search for other users using their username or/and real name.
Friends can see each other and invite each other for a game.
Game rules similar as that of scribble.io

ADVANCED:
Keep track of the history of the games played by a user.
Make a Friends leader board for the players.
Improve the drawing capabilities by adding different colors, different paint brush sizes etc.
Improve the scoring algorithm and make it more logical, for example the person drawing should be getting points on the basis of how fast others guess.

BONUS:
Players can view the online/offline status of their friend.
Make a global leader board for the players.

Challenges we ran into

Problem : One of the major challenge of this project was the main game implementation in which all the players play at the same time. The drawer draws the sketch in his/her screen and the that same drawing is displayed in all the other players screen at the same time. Firstly we were using the ObjectInput/Output Stream to send data over the TCP connection but that didn't work because of exception in deserialization of object on receive. And most of our time went in solving this problem . But at last we solved it.
Overcomming : The first thing we did is to change the Stream type , we changed our stream to buffered stream and used the BufferedReader/Writer to send data over connection . Although this method was very lengthy ,as we have to convert the data into String data type before sending them over the connection , but it solved our problem. Then we made a new model in which we sent only the pens position over the internet rather than sending the whole canvas.

Discussion

Builders also viewed

See more projects on Devfolio