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
My elder son is 6 and can't read, draw, or, God forbid, understand "the relationship between files, images, servers and browsers".
He's far from stupid; he plays chess, and Angry Birds, and many other games. But this? At 4??
I hope this kid grows up to be your boss.
edit: could
I hope my kid grows up to be his own boss ;)
tedjdziuba stated his/her opinion. It doesn't make it worse one because it isn't the appraisal of the game, like seen in most of the comments. Different tastes here and that's all. And that's fine too. De gustibus non est disputandum.
> Maybe you can't understand because your father never loved you enough to do the same?
Yet you go ad hominem, and what makes it really worse, regarding his/her family. Despicable behavior.
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"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.
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. :)
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/
I will not critique the game, I think it's flaws and all are a great result of some good bonding time
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
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! :)
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.
This is awesome. Thanks for sharing it.
T.