Let's build something legendary together

/

Quick Draw!

Java / JavaFX / Git

Overview

I developed a JavaFX-based AI application (game) as part of a group project involving three individuals from Part II Software Engineering. The game's primary functionality revolves around selecting a random target word from a database, which the user then attempts to draw on a canvas. Simultaneously, an AI in the background tries to guess the user's drawing. If the user's drawing is accurate enough for the AI to confidently guess the target word, the user wins. Throughout the entire semester, our group collaborated on this project, taking charge of the design, frontend, and backend development of the game. I will provide a brief overview of some additional features we implemented, and you can download the detailed report at the bottom of the page.

Different Modes:

  • Normal Mode: In this mode, the user aims to draw the target category as accurately and quickly as possible until the AI guesses it correctly.
  • Hidden-Word Mode: In this mode, the user doesn't explicitly know the target category but receives a description of it. The user then draws according to the description until the AI makes the correct guess. (Image on the left/top)
  • In Zen Mode, the user focuses on drawing the target category without any time limit or winning criteria. Color palette is provided. (Image in the middle)
  • SandBox Mode (Novel): This mode allows the user complete independence without any restrictions. It specifically caters to the core target user of the product, art students, enabling them to practice their drawing skills effectively and freely. (Image on the right/bottom)
/
/
/

Other features:

  • Add and Delete user - The application allows users to be added and deleted. Each user profile stores data such as the number of wins, losses, win rate, fastest time to victory, earned badges, and more.
  • Badges - The product has been made more enjoyable by making user target achievements, badges. (image on the top left / first)
  • Statistics - The user can see its own statistics, increasing the interest towards the games. (image on the top right / second)
  • Difficulty Settings - The user can customise the difficulty level of the game. (image on the bottom, in bottom left / third)
  • Sound effects and music - The sound effects and music was added for additional entertainment
  • About Us Page (Novel) - The about us page promotes the core business value of Speedy Skechers to the user with explicitly written explanations. (image on the bottom right / last)
/
/
/
/

Overall, this project was entertaining. Being involved in a group project made us actively communicate and practice many pratical features such as version controlling and conflict resolvement. The development process also made us practice professional communication, and design knowledge as well. By thorough communication, it was possible to finish the assignment on time, and eventually got good grades in this course.

You can download the full report of this project created by our team below. Unfortunately, due to privacy concerns of the school, the code cannot be shared.

Download

Technologies

Java

JavaFX

Git

Collaboration

Design