Show HN: DoodleOrDie - "a game of telephone with doodles" in Node.JS
doodleordie.com
doodleordie.com
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)
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...
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'll try to answer any questions you have, especially technical questions about running a game with thousands of users on Node.
(Edit: spelling)
As a sidenote, is Doodle or Die still infested with pictures of sonic going fast?
Sometimes I wish sites had something like a colophon that described how the site was made.
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.
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.
We have a lot of this information on our About Page but maybe that's not the best place for it.
I'll reply to each technology separately to make it easier to reply to questions about a specific tech.
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.
Deleted comment
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.
Also the game is 100% Javascript - if you are disabling Javascript it won't work.
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?
I just can't click and hold to draw. (Well, couldn't, haven't tried again)
It's awesome in a group setting with pen and paper.
btw. a very funny concept (although it's also quite easy to get lost in those games)
EveryAuth: https://github.com/bnoguchi/everyauth
Though the game itself is almost certainly older than the internet.
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.
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.
2011-Aug-28: Doodle or Die
2012-Feb-06: Draw Something
2012-Mar-26: Drawception
(edit: formatting)