Turtle Paint

No, the Frozen Fractal blog is not dead. It’s just been, well, frozen. A lot happened since the last post: I got a job at Google, moved to London, and made a little game for Ludum Dare that I’ll post about later. But a lot also didn’t happen: I didn’t finish Cart Frenzy. It turned out to be too much work to get it done before my contract at Google started, and after that, I didn’t have the time and energy to work on it any longer.

But that’s not what I’m here to talk about. This is about a new project, called Turtle Paint. It will be an online, multiplayer Pictionary-type game: you get a word, you draw it to the best of your abilities, and the other players have to guess the word that you’re drawing.

At this point, I have no idea how big and serious this will get. It might die in its infancy, or it might grow into something that I can make a living of. I’m not dependent on it and I’m doing this just for fun.

But why?

There are many online drawing and guessing games out there. I love the concept and I love playing them, to some extent. So why build another one? Well, in one way or another, they all suck. The reasons they suck are many:

  • A bad selection of words. Sometimes cultural things only known to Americans, sometimes things that are outright impossible to draw, or too easy.
  • Require sign-up. Making the bar for participation as low as possible is the key to success.
  • Bad user interface. Slow, unresponsive, unclear.
  • Bugginess. I’ve seen the “time remaining” counter go up. How the hell do you manage that?
  • Java. Heavyweight, bad user experience.
  • Shockwave. Seriously, does anyone use that anymore?
  • Annoying ads. I understand that these people are trying to make a living, so I won’t complain too much about these.

So I’m going to try to do better. I have several ideas kicking around that I want to try, which I’ll write about in future posts.

The name

I’ve decided to call it Turtle Paint for several reasons:

  • The Teenage Mutant Ninja Turtles are all named after Renaissance painters.
  • Programmers might know the word “turtle” from the educational programming language Logo. The “turtle” there is a pen that you can move around programmatically to draw things.
  • It’s memorable, especially if we add a nice cartoon turtle as a mascot.
  • Most importantly, the domain turtlepaint.com was still free. Not anymore!

Plan of attack

It’ll be a very iterative thing. I don’t have any UI design on paper, no class diagrams, nothing. Ready, fire, aim. Quick results.

  1. Make a canvas and allow you to draw locally.
  2. Make the mouse events add “draw” events to a queue, which is then processed and drawn.
  3. Also send the draw events to a server.
  4. Make the server distribute draw events to other connected clients.
  5. Receive draw events from the server and process locally. We now have a multiplayer whiteboard!

Then it has to be turned into a game:

  • Add a concept of “rooms” or “tables”, each with a distinct URL.
  • Add a distinction between the drawing player and the guessing players.
  • Produce a word.
  • Add a concept of “rounds”.
  • Allow guessers to send guesses and check if they are correct.
  • Keep track of scores.

This blog will serve as both a resource for whoever is interested in this project, and as documentation resulting from the iterative design process. I’ll frequently push out the current version to turtlepaint.com so feel free to come by and doodle!