31 comments

[ 3.1 ms ] story [ 82.7 ms ] thread
So which came first: DoodleOrDie or Drawception?
Broken Picture Telephone?

Though the game itself is almost certainly older than the internet.

It is very simular - but we actually had never heard of or played Broken Picture when we created the game.

I wish we knew about it before launching because there have been many times when deciding how the game should work that it would have been much easier to know how Broken Picture did things, such as how long chains should be and how to handle jerky players.

Was excited to see this, as some friends and I independently invented this game on paper once.

DoodleOrDie is fun, but jerky/stupid players are really the biggest downfall for me. I don't want to write an elaborate, funny caption and then be asked to draw something for an obscene, misspelled, 3-word one.

Doodle or Die by about 6 months

2011-Aug-28: Doodle or Die

2012-Feb-06: Draw Something

2012-Mar-26: Drawception

(edit: formatting)

If I sign in with twitter, why do I need to pick a password?
We want you to have a user name, and the Node module we're using for authentication (EveryAuth) makes it easy to require a user name and password but not easy to require a user name without a password.

EveryAuth: https://github.com/bnoguchi/everyauth

Drawing does not work for me. I try to hold down mouse and draw, won't let me. Can't select colours properly.
What browser and version are you using? I developed the drawing tool using Chrome, tested in Firefox, and people tell us it works on the iPhone and iPad.

Also the game is 100% Javascript - if you are disabling Javascript it won't work.

Google Chrome. And I assure you, I have JavaScript enabled.
Do other drawings load slowly for you? Most images you see are drawn via canvas using the same code that runs when you draw with your mouse.

For example:

http://doodleordie.com/profile/underwearhero

Let me know if those drawings load very slowly or not at all.

Anybody else using Chrome on Linux having this issue?

Nope, no issues with viewing them.

I just can't click and hold to draw. (Well, couldn't, haven't tried again)

Wow, excited to see a shout out on HN for something I created!

I'll try to answer any questions you have, especially technical questions about running a game with thousands of users on Node.

(Edit: spelling)

I am really liking the new website, I like the "I would just prefer to make an account" to get around facebook/twitter. I would prefer it to be the default, but I'm really happy you've included that for people who don't have either.

As a sidenote, is Doodle or Die still infested with pictures of sonic going fast?

We have a reporting system to get rid of those few bad apples from 4Chan (amazingly most 4Chan players love the site and play legitimately).
Well a fun game can make anyone sit down to enjoy it I guess.
Great site! Can you tell us about the technology you use to run it, such as db, npm modules, server configs, etc?

Sometimes I wish sites had something like a colophon that described how the site was made.

I agree about a colophon!

We have a lot of this information on our About Page but maybe that's not the best place for it.

http://doodleordie.com/about

I'll reply to each technology separately to make it easier to reply to questions about a specific tech.

Database: Mongo

We're using a 5 GB instance at MongoHQ with backups to S3.

Mongo is insane fast compared to what I'm used to with MySQL, and I love the JSON-based query syntax over SQL.

Not being able to do relational-type queries has made some things more difficult, like building "Top 10 List" of arbitrary data is a bit more tedious.

Server Config: 1 GB of RAM vm at Joyent.

This much ram has been perfect. We've actually had 1000 people playing at once on our first machine which only had 256 MB of RAM.

NPM Modules:

mongodb

async - no more insane levels of nested indents when doing async javascript

express - middleware

ejs - templating system

logging - very simple logging module i wrote more than a year ago when there weren't good logging modules for Node yet.

knox - for storing doodles and static assets on S3

uglify-js - compress that client-side javascript

stylus - much nicer way to write css. variables, functions, mixins, etc.

everyauth - authentication - supports more than we could ever want but we're just exposing Facebook and Twitter for now.

useragent - we only support modern browsers, sorry IE users!

shortid - module I created to give us very short unique ids that are not guessable for chain sharing, like http://doodleordie.com/c/Eih5TDOHk or http://doodleordie.com/c/1hODyac94#1to4

moment - nice time references, like "7 days ago"

canvas - we render doodles on the server and then save those pngs instead of accepting pngs from the browser because people figured out they could send us any image they wanted.

ansi - doodles above a certain number of brush strokes we convert to ansi and echo in our console log. This is my favorite feature of the whole site, especially because I got my start in online communities in the 2400 Baud BBS world when ANSI art ruled.

(comment deleted)
Retain users: More than 70% of our daily visitors are return users, but we do need to figure out some way to notify users when their chains are complete, etc. We'll probably ask for email for this. Do you have other ideas?

Yes you get to keep your hearts in Ghost mode. It's for people like me who are embarresed about how bad they draw. Fun fact: I made this game because I wanted to make a game and my art skills are so bad I hoped instead I could get players to create the art for the game.

I've heard this game called "eat poop you cat"

It's awesome in a group setting with pen and paper.

Somewhat related: a friend and I built a game a lot like this as a Facebook app back in 2009 called Pictionnected. It had a few really passionate users. Didn't really iterate on it, got busy with work, and didn't maintain it when Facebook made some platform changes--eventually killing the app.

I deeply regret not sticking with it. I didn't know at the time just how unique it was to have that core set of extremely passionate users. The thing I've been realizing more and more these days is that persistence really is the name of the game.

In any case, it's great to see that the idea is still alive and kicking!

(Screenshot, for posterity: http://i.imgur.com/pSLNA.jpg)

That is so cool, thanks for sharing the screenshot! I love seeing how different developers show the final chain.

There have been many times when I've wanted to give up on Doodle or Die. For example when somebody created a site called Screw Your Doodle to upload offensive images and users were asking for a reporting system that we didn't have yet and I had already been working every night on the site for much of the night...

not quite sure I understood what I had to draw, but here you go: http://i.imgur.com/0JrhK.png

btw. a very funny concept (although it's also quite easy to get lost in those games)

Big fan of Doodle or Die. Two things I was very impressed with:

1) Ability to play without signing up. When I finally did sign-up, they asked for few permissions from Facebook (only name and email, IIRC).

2) Trolls don't ruin the game. The community is great, and will just play through. Example: http://img40.imageshack.us/img40/564/doodleordiecomce5t8eyus...

Its addicting.

I've been trying to play this on a Galaxy Note running ICS using Chrome for Android. Mostly works, with some expected lag during drawing. The layout of the drawing tools is a bit off (overlapping themselves and the drawing space). Hope an app version is in the works.