Craig SmithCraig Smith
Doodle Duel
November 2023 – current
React, Next.js, TypeScript, Node.js, Socket.IO, Express, MySQL, Digital Ocean

Doodle Duel is an online multiplayer drawing game that’s all about quick sketches and sharp guesses. Players take turns drawing a given prompt while the others try to guess what it is. Doodlers can play from any device with a modern web browser. The game supports both private, invite-only lobbies and public lobbies that anyone can join.

To create a smooth gameplay experience, Doodle Duel uses real-time communication to update the canvas as the artist draws and display guesses from other players in real time. This was accomplished using Socket.IO, leveraging its robust abstraction layer over WebSocket. This enhances reliability and scalability in addition to seamlessly incorporating fallback transportation methods if needed. Doodle Duel was built with efficiency in mind, performing well on less than ideal network conditions by highly compressing the artist’s canvas before transmitting it to the server and other clients.

Allowing users to play on any device is crucial for party games, which is why Doodle Duel supports touchscreen, stylus, and mouse inputs and is compatible with all major web browsers. The user interface was built to responsively scale to any screen size with the canvas resizing to remain fully visible even while the on-screen keyboard is open.

Working on this project was an excellent opportunity to sharpen my full stack development skills, particularly working with even-driven socket communications, backend development, Linux/NGINX/MySQL/Node stack deployment, and developing for cross-browser compatibility.

EmailPlay Now