
Show HN: my 4-y-o son drew a video game. He drew then we hacked together. - mneedham
http://audenneedham.com/game/
======
JonnieCache
Very nice!

A little tip: preload all your images so that they don't get downloaded as you
perform the different moves, that caused the characters to disappear briefly
for me. Doing so is as simple as creating an Image object and setting its src:

    
    
        var preload = new Image();
        preload.src = "/path/to/image.png"

~~~
mneedham
Top tip! Thank you - will add this and some easter eggs when I get home
tonight.

------
antihero
I have been having what appears to be sex with the dinosaur for like 10
minutes now and it is still not dead.

~~~
kb101
Me too, that is one mean-ass dinosaur. Don't mess with the T-Rex spawned from
the untamed imagination of a four year old.

------
elliottcarlson
A while back I got my niece started with DS Game Maker - so she could make her
own games for the Nintendo DS. I just got back from my sister's house and she
showed me the progress she has made and it's amazing that after 9 months she
hasn't lost interest and is still building her game.

Good job and keep your son interested in building his own world and making the
computer do what he wants - and he will be smarter for it.

~~~
elliottcarlson
Not that I care about the karma - but would appreciate hearing how this post
didn't contribute?

------
codeslush
I have a four year old, and a five year old. My four year old is getting to be
a master at Angry Birds, my five year old has no interest. I would be VERY
interested in a write-up on __how __you went about this with your child. Step
by step...starting at the piece of paper that had the drawings, to how you
turned it into this end result. I don't care if the game has bugs or not...the
concepts would be fascinating to know and I would love to see if my four year
old could do it. I would even be willing to pay a small price for a guide like
this.

~~~
mneedham
Wouldn't take anything quite so extensive - I'll do it here! I accidentally
let my son play through all of Shadow of the Colossus with me, much to my
wife's chagrin. He loved it.

This past weekend he said, "Dad, let's play Shadow of the Colossus!" I said,
"No." He paused for a moment and said, "Dad... how do video games work?" I
paused for a moment and said, "You know what? Let's make one!"

So we sat down at the computer together, did some quick research on available
simple JS game engines (I was hoping for something easy and HTML5 but nothing
surfaced...) and decided on the type of game to make. After that we had some
conversations about gameplay mechanics and characters. We talked around
characters for a bit and he sketched out some ideas. Mr. Muscle and
Crocodilehead were born.

I picked apart the (horrible compressed JS) code a little bit to figure out
how the game worked and then we looked through sprites together. After
identifying the various sprites he set to work, drawing base sprites (about 10
of them for Mr. Muscles and four for Crocodilehead) and a background image.

While he slept that night, I scanned in all of his sprites and started
resizing/animating them.

He critiqued my work in the morning suggesting the Crocodilehead should not
puke blood on people when attacking (you can still see a bit of the residue in
the game now) and that Mr. Muscles should not shoot fire out of his hands when
doing the megapunch.

After that it was mostly just tweaking and farting around in photoshop.

He got a good look at the code this time around and has a pretty solid base
understanding of the relationship between files, images, servers and browsers
thanks to a web page we built together a few months ago:
<http://audenneedham.com/volcanoes/> (he wireframed that one, wrote the
content, selected and helped to resize the images, did the Wikipedia searches
for pages to link to and helped to edit the HTML...)

Nothing too hairy for a 4-y-o:

1) identify interest (which it sounds like you have)

2) find a platform (a friend recommended <http://gamequery.onaluf.org/> for
our next attempt)

3) brainstorm

4) draw

5) fiddle

~~~
codeslush
Thanks for the response. re: "...wrote the content, ...., did the wikipedia
searches...." --> my 4YO can't read or write! Damn HN, I always feel
inadequate!

~~~
ern
No reason to feel inadequate. All kids are different, and they are not
extensions of our egos. As a first-time parent, I am still trying to convince
myself of this, but I am slowly beginning to believe it.

I was a very articulate 3 year old (I spent most of my time with much older
children), but I turned out to be somewhat average when I started school (in
the case of motor skills far below average), to the surprise of my parents,
who thought I was a "genius" because I could parrot off huge amounts of random
trivia, and tell engaging stories. My parents even had my IQ tested, and it
wasn't particularly high overall. I still retain my trivia talent, but in the
era of Google, whatever little value it once had is rapidly becoming
worthless.

My 2.5 year old son is fairly quiet (but doesn't have any language issues - he
says plenty, he is just cautious). My in-laws have the nasty habit of
comparing him to his cousin who is the same age and is a great talker (her
father is a used-car salesman, so that's not much of a surprise). I used to
get very defensive, and point out the stuff he knows, and can do. Now I just
let it wash over me.

A lot also has to do with environment. My son didn't know colors, shapes,
alphabets, numbers and puzzles. I got an iPad, and he managed to learn these
very quickly. My wife is a bit detached and unmotivated, so this was a stroke
of luck. Would waiting a year or two till he started school have made a
difference to him learning that stuff? I doubt it.

If your 9 year old can't read, I guess that's a problem. If your 4 year old
can't read, who cares?

------
mynameishere
That is some wanky gameplay. I think your son is paying you too much.

~~~
gabrielroth
Do you have a soul at all?

~~~
getsat
I think your sarcasm detector is broken.

------
51Cards
Cool! I did a forward jump then started kicking. I levitated in mid air able
to kick indefinitely. I have never felt closer to the Matrix than that moment.
:) Great work!

------
bprater
Would be pretty cool if a kid could draw this stuff with this fingers on iPad
and have it turned into a real video game. I bet kids would love this! "Draw
your hero here." "Draw your monster here."

~~~
hammock
Try this- <http://www.drawastickman.com/>

~~~
ra
That's really neat... it would make the basis of a great ipad game.

~~~
jimbobob
It is already available at [http://itunes.apple.com/us/app/draw-a-
stickman/id467614894?m...](http://itunes.apple.com/us/app/draw-a-
stickman/id467614894?mt=8). Unless you meant something more complex with
additional levels?

------
leeHS
I'm playing this while my 6 week old son is asleep and strapped to my chest.

I can't wait to share with him the joy of programming.

But I sometimes worry that today's technology has come too far to be used as a
stepping stone to teach kids. I remember as a kid messing around with a
Commodore-64, then moving on to Q-Basic. These were not only the technologies
of the time, but perfect for a child to pick up.

Maybe I'm underestimating the little guys. :)

~~~
avree
My 9 year old brother picked up Python, no problem, from scratch. Kids are
learning Javascript in 7th grade Web classes in my hometown's school district.
I think they'll be okay!

------
esalazar
Really cool. Teaching kids early is very important. Cool initiative in Ireland
to teach young kids programming early, <http://coderdojo.com>.

------
damoncali
There is a business in this. My six year old would be all over it. Let
customers upload the images (sprites, background) from their kids' drawings.

------
chrislomax
I think this is great father son time. I wish I could get my little one
interested in programming. I can't hold his concentration long enough. He is
very interested in video games but I think 99% of that revolves around mario
and I don't think anything short of a 3d mario would keep him interested!

I will not critique the game, I think it's flaws and all are a great result of
some good bonding time

------
TomGullen
Hi there!

It's great to see someone so young who is getting into game design. We have
some software called Construct 2 which is aimed at non programmers and as a
time saving device, you can see it at <http://www.scirra.com> (a quick video
of how it works at <http://www.youtube.com/watch?v=5RlSmkSbleI>). You and your
son might really enjoy using it! (Also exports to HTML5 games)

I'm not aware of us having any users as young as 4 years old, but we would
love to hear if he enjoys using it and can make games in it!

I'm happy to give you a free license for it in return for some feedback if you
want, don't worry if not :) Just send me an email if you want it.

Tom

------
antidaily
Total rip of the Reptyl stage of Silver Surfer (NES). Don't be surprised when
you get sued.

------
happyfeet
Super cool.

I had been thinking if I really need to buy a domain now for my kid (or
conserve cash now as I bootstrap my startup).

You just inspired me to buy a domain for my 2 yr old so I can do similar
things when he is old enough. Done!

Thank you! :)

------
zacharycohn
Awesome jobs! Found a few bugs:

If you jump, then jump again, you land level to where you jumped the second
time (I suspect you have the character descend by C pixels, instead of back to
X,Y coordinate)

I can walk past the dinosaur, and then I can face him, but if I punch or kick
it turns me back around.

If I walk past the dinosaur, it can still hit me, even though it visually
misses.

------
michaelschade
Very nice, and good job involving your son in coding that way–that's an
awesome way to start!

------
mattdeboard
Wow good for you guys. Now I feel bad; my 7-year-old daughter was doing great
with Scratch but the power supply on the ancient laptop I had given her went
bad and I haven't replaced. Guess I need to start looking around for another.

------
dquigley
Great idea and execution. From my perspective the point isn't how great the
programmin is, but that you got your son to view himself as a creator, and to
recognize that he can make things! Awesome father-son idea!

------
kragen
This is great! I think there are some problems with the gameplay though. I was
able to walk way past the dinosaur, but every time it attacked, I would start
bleeding even though I was nowhere near it.

------
vorbby
Is that a domain name for your son in the future? I love the idea.

~~~
mneedham
Yes, bought domains for both of my kids as soon as we decided on names. Figure
they're useful as sandboxes for things like this and I'll turn over the keys
when they want them.

------
jason_slack
This is very cool. Would you consider sharing the code so I could teach my 13
year old? He is pretty good with HTML, but really wants JavaScript. My E-Mail
is in my profile

~~~
mneedham
There's a link to the download page for the engine just underneath the game.
The rest is just some images, a few JS files and one CSS file:
<http://audenneedham.com/game/index.html>
<http://audenneedham.com/game/ENGINE/game-min.js>
<http://audenneedham.com/game/ENGINE/controls-min.js>
<http://audenneedham.com/game/ENGINE/engine-min.css>

A friend recommended trying gameQuery out next time - looks a little tidier -
the one I used was all compressed JS and kind of ugly to work in:
<http://gamequery.onaluf.org/>

------
mamacker
Very cool! If you add peerbind to it, it can be multi-machine. I wrote
peerbind - and I added it to a game my boys built too. No more fighting over
keyboard space. ;)

------
aspelund
I actually did something similar, had my kids drawing sprites for a
javascript/css game, but we did a shoot-em-up. Great fun!

------
antimora
I realized I can't play on my android phone because keyboard doesn't show up.
Is there any work around?

~~~
cyanogen
If you happen to use CyanogenMod, you can go to Settings->CyanogenMod
Settings->Input and set it so a long press to either the home or menu buttons
launches the soft keyboard.

------
tantalor
Am I a robot?

~~~
mneedham
'Mr. Muscles' - you're fighting Crocodilehead.

------
philikon
Is it just me or does it not work at all in Firefox? My keyboard inputs don't
have any effect.

~~~
FreeFull
Works in Firefox 7.0.1 for me

~~~
pbhjpbhj
ditto, FF7 on Kubuntu.

------
cnlwsu
This is amazing! I hope to be able to do things like this with my son once he
is old enough.

------
101north
You're an incredible father. I know he'll remember this forever.

------
marcamillion
Love this. I think I might do something like this with my son.

------
cpearce
Game doesn't work for me in Firefox.

------
CPlatypus
I know the internet discourages "me too" responses, but...

This is awesome. Thanks for sharing it.

------
tedjdziuba
This game sucks. I don't know why you want credit for it.

~~~
vorbby
Could you elaborate on why you feel this way with some constructive criticism?
All I see is a father who made something cool to teach his kid some fun
things. Maybe you can't understand because your father never loved you enough
to do the same?

I hope this kid grows up to be your boss.

edit: could _

~~~
mneedham
I just presumed he was joking. The game is very obviously amazing.

I hope my kid grows up to be his own boss ;)

------
trusko
Hilarious!

T.

------
white_raven
That is awesome!!

