Fog Creek Software
Discussion Board




Game development for kids

My son has decided that he wants to make a video game. The problem is, he's only 7.  I'm not a game developer, or even much of a gamer, so I keep on waiting for his short attention span to kick and let the idea pass. It hasn't.

So, I was wondering, is there a development tool that makes development easy for simple games?  (Sort of a VB for the game dev world.)

The ideal tool would allow me to create simple games without having to spend a lot of time learning about the finer points of game development.

Nick
Tuesday, January 13, 2004

DarkBasic might be what you're looking for.

This space for rent
Tuesday, January 13, 2004

Flash or Director would be pretty ideal, I think.

Typically when you're programming a game... let's say you want a car to move across the screen.  You have to manually draw it, frame by frame.  And then you have to worry about the fact that this will happen at different speeds on different machines (and different loads).

With Flash/Director, you just tell it the starting and ending points of the car.  It fills in the in-between frames for you ("tweening").  Basically that takes most of the tedium out of the job and allows your kid to concentrate on the fun stuff like animation, graphics, etc.

John Rose
Tuesday, January 13, 2004

Look for squeak.

http://minnow.cc.gatech.edu/squeak

SG
Tuesday, January 13, 2004

Thanks for the Flash and Squeak suggestions but neither was what I had in mind.

o - At $499, Flash is way over the "my-wife-would-strangle-me" threshold.

o - Squeak is just a bit too strange for me. I've played around with it before, and the impression I was left with was that it's inventors just don't think the way I think. Nothing was intuitive.

DarkBasic looks great, though. I'll look closer at that one. I assume, though, that I would need a separate tool for creating the graphics?

Nick
Tuesday, January 13, 2004

$499 for Flash?  Huh?  Oh yeah.  I forgot some people *pay* for their software.  :-P

John Rose
Tuesday, January 13, 2004

You could *try* the mod creation stuff for Neverwinter Nights.  While it's not creating from scratch, if your son is particularly bright, it might gently introduce him to scripting.

Mediocre ASP Monkey
Tuesday, January 13, 2004

Get him started with something free like Python.  If he sticks to it for 6 months, and makes something that works, buy him Flash.  That will probably be a lot easier for him to make a game in.  If your wife still doesn't want to buy him something for $500 that could impact the rest of his life, then get a new wife.  : )

j/k

You didn't say if he's programmed before, so I'll assume hasn't.  It's not really any place to start making a game.  he's got to know what a loop is first.

Andy
Tuesday, January 13, 2004

a lot of games let you create your own areas/adventures etc.

why not find a nicely simple but fun game and teach him to expand it? 

FullNameRequired
Tuesday, January 13, 2004

Creating a mod is a good suggestion.  For getting him up and running quickly and cheaply I'd recommend SDL and whatever language you feel like pushing.

You should be encouraging your kids to do things like this, not waiting for them to drop the idea and watch TV again.

Matt
Tuesday, January 13, 2004

>You didn't say if he's programmed before, so I'll assume hasn't.  It's not really any place to start making a game.  he's got to know what a loop is first.

I disagree.  A game is probably the best way to get someone interested in programming.  As soon as he needs to do a loop he can ask someone.  He'll either get an answer or figure out his own way to do it.  I think the latter is cooler, and probably more beneficial to him.

Don't dump a pile of object orientation and development practice garbage on him now.  There'll be time for that when he's employed.

Matt
Tuesday, January 13, 2004

http://www.gamemaker.nl/

Dreamcatcher
Tuesday, January 13, 2004

http://gamedev.sourceforge.net/

Jason
Tuesday, January 13, 2004

Two old programs.

1. Click N Play by Maxis

Makes really bad platformers and other similar games, but gets a taste of what game making is about.

2. Unlimited Adventures by SSI

This was THE development tool used by SSI to make all the classic "Gold Box' games inthe 80's and is actually an excellent introduction to the plotting of video games.

Then when he's ready for actual programming,

3. Inform (free)

Libraries & a compiler to make text games like Zork, it compiles to the same format Infocom used. Of course, not having played any text games, he's not likely to appreciate them.

www.MarkTAW.com
Tuesday, January 13, 2004

Oh and I think ZZT has a game making tool, but again... he's not likely to appreciate this kind of game if he didn't grow up in the 80's.

www.MarkTAW.com
Tuesday, January 13, 2004

Oh and http://www.adventuregamestudio.co.uk/ for Kings Quest style games and http://www.cs.uu.nl/people/markov/gmaker/ which I haven't tried, but was recommended on the same TechTV page http://www.techtv.com/callforhelp/howto/story/0,24330,3351842,00.html

www.MarkTAW.com
Tuesday, January 13, 2004

Regarding Flash - you can get Macromedia "Educational version" products much cheaper, and they don't need school ID. Last time I checked, Flash was $99, and I think this definitely qualifies as "educational"

Philo

Philo
Tuesday, January 13, 2004

"I disagree.  A game is probably the best way to get someone interested in programming.  As soon as he needs to do a loop he can ask someone.  He'll either get an answer or figure out his own way to do it.  I think the latter is cooler, and probably more beneficial to him."

Not to be too snobby here, but if you need to program games to interested in programming, you're probably don't really have what it takes to be a programmer.  That is, if you're not literally wetting your pants from excitement the first time you write a screensaver that fills the screen with your name, then you might not have the right personality.  That said, the kid is 7, so I would give him a break.  :)

I say this because I work for a video game company, and after awhile you tend to make the observation (from resumes and such) that a lot of people, for some unknown reason, think that because they like to play games, that they must be good at making games.

The mod thing is definitely a good suggestion.  It is related to games and is pretty easy and self-contained (no hunting around for the right libraries to do the job, etc.)  I would go for that first, and then maybe move to Flash.

I would also get him started making a web page with a text editor.  That is easy to get a grip on since it's very visual, and will teach him something about syntax.

Andy
Tuesday, January 13, 2004


Someone mentioned Python. Try PyGame - I heard it's straightforward.

Juju
Tuesday, January 13, 2004

>>I say this because I work for a video game company, and after awhile you tend to make the observation (from resumes and such) that a lot of people, for some unknown reason, think that because they like to play games, that they must be good at making games.<<

Heh - I got over the impression working for a game company would be a good idea very quickly with a little light internet reading.

Game development looks like bloody hard work - people who love *playing* games are much better off taking a job in a secondary love, so that they retain the ability to play what they like in their leisure time (subject to partner/spouse tolerance), rather than working themselves to the bone on a single game that will most likely flop ;)

Mediocre ASP Monkey
Tuesday, January 13, 2004

Suggestion from someone who wrote games a kid and owns a software company now:

If possible, try to create a very very simple game that he can understand. Something that will spark his creativity and understanding of how amazing it is just to make a ball bounce off the four sides of the screen. (Yes, I was pretty proud of myself when I figured out how to do that with 3 lines of code at 14).

For example, my first game was a knock off of Lunar Lander. Granted, I was 14 or so at the time, so I could understand the math.  He's too young for that. But I LOVED creating that very very simple game. Tinkering with the gravity equations... ahhh brings back memories.

If he can understand very very basic algebra, you might create something like PONG.  If all he learns is that using some basic math can help him make even that simple game  (which argueably started the whole vid game biz, right) then he'll gain something incredibly valuable: the realization that book knowledge can make something real in the world. (This is largely mising from school, IMHO).

It's very easy to get enamoured with the GLITZ on the screen without understanding (an loving) the guts that make it work. It's like giving a kid candy before they learn to enjoy fruit. They'll be spoiled forever.

The real Entrepreneur
Tuesday, January 13, 2004

I hate to discourage learning, but unless the kid is a super genius prodigy, he's  doomed to frustration at this point.  Pretty much any younger than 12 and there's just too much basic learning that has to happen before someone can do any real programming, game or otherwise.

I suggest that instead of having him jump right into programming you buy GameMaker (http://www.cs.uu.nl/people/markov/gmaker/) and make some games together with him to start and then have him start making his own.  It is a pretty good first step, especially for a younger person in his situation, and may keep his interested there until he's ready for the more difficult stuff.
 

Mister Fancypants
Wednesday, January 14, 2004

Yes, or maybe revive that Lego as a first start, seriously.  Never too old for that.

Andy
Wednesday, January 14, 2004

As someone who did indeed start programming by programming games, and did so at the age of seven. I recommend BlitzBasic or DarkBasic.

I would recommend BBC Basic but that would make me seem old.

Mr Jack
Wednesday, January 14, 2004

"but if you need to program games to interested in programming, you're probably don't really have what it takes to be a programmer."

Come on, the kid is 7 for christsake. He needs something that is directly connected to his world. Games are a great way to get started.
I think nowadays I would first try him out on level editing, scenario setup instead of direct from scratch programming. That way he has something to show the other kids quickly. From there on he can roll into behaviour scripts etc.

Now if he is ok with keeping it simple, writing a simple tile based board game in VB can also be great fun.
My first game write was Snake duel on the Ti99/4A. Extremely simple, but it was great fun watching the neigbourhood kids compete on 'my' game.

Just me (Sir to you)
Wednesday, January 14, 2004

Lego Mindstorms is a great idea too. Grab 'em while they are still on the shelves.

Just me (Sir to you)
Wednesday, January 14, 2004

I don't think many of the suggestions so far are suitable for a 7-year old.  Better to focus on a game programming tool that's targeted at kids that age:

My favorite is Toontalk.  I used it in a class to teach programming concepts to 10 and 11 year olds (after using a Logo variant, see below, and I had better success with Toontalk than with Logo, though both were good).  It has been used with success even with kindergarteners.  It's only $25, an amazing value.  You can find out more and get links to see actual "games" produced by kids at the main site:  http://www.toontalk.com

I believe Logo and its variants are the programming language used most often for teaching kids programming, and other than Toontalk I think they're most appropriate.  There are freeware versions that will work, but the commercial versions are "glitzier", make some things easier, and will do better at keeping a kid's interest, especially the interest of a 7-year old.  For one of the best implementations, see:

http://http://microworlds.com/

There are lots of 3rd party sites about Microworlds Logo, here's just one:

http://library.thinkquest.org/TQ0310140/home.htm

Herbert Sitz
Wednesday, January 14, 2004

>> he's  doomed to frustration at this point.  Pretty much any younger than 12 and there's just too much basic learning

Absolutely. If he can read and count at 7, he's already ahead of his age.

At this point, just give him Basic and wait till he understands INPUT A, B: PRINT A + B

Even for the bouncey box he needs to understand negative numbers -- I remember I was extatic when I learned about negative numbers -- and that was 2nd or 3rd grade I think.

Alex.ro
Wednesday, January 14, 2004

My own personal experience: I was about 9 years old when my parents bought me a Commodore VIC 20. They knew nothing about computers and spent little time helping me learn to use it.

I attempted to learn how to use it by picking up the manual and typing in the example BASIC programs. I quickly became frustrated, as no one could/would help me with even the simplest problems, and I soon developed a fear of programing. I was convinced that programming was very hard and frustrating and decided it wasn't for me.

Flash forward to college. I was EE major and had to take and Intro to C++ class as a required course. I was very scared of the class (I thought it would takes lots frustrating hours of homework to complete the class) and was sure I would have a hard time getting decent grade. Turns out I absolutely loved it (I think the class was hard, but I had so much fun I didn't notice), I switched majors to CS the very next semester.

I look back at all that and think how lucky it was for me be forced to take that class. Had it been an elective I probably wouldn't have ever discovered the joys of writing code and been stuck in a much less fullfilling career.

Bottom line: You are in danger of turning your child off to programming forever by starting him out so young. I would try to wait until the child is older. But definitely make sure you have good amount of time to spend helping your child, and to make things as simple as possible, otherwise might give your child an irrational fear of programming when they could have been great developer.

DKatz
Wednesday, January 14, 2004

> The ideal tool would allow me to create simple games

I liked assembler, writing to the "real-mode" VGA screen buffer (for 2-D games). An advantage is that the tool is simple, so you can concentrate on the game and not the tool; you could learn the tool in a couple of weeks, I'd guess.

You can't just start coding without analysis and design, however, and I'd expect that a seven-year old would need help with that. I assume (since he's here) that Nick is an experienced developer who'd be willing to collaborate.

Christopher Wells
Wednesday, January 14, 2004

Nick

Along the path of where "FullNameRequired" is leading you - you might want to try him out on existing games that allow you to create your own levels within (or using a text editor) the game itself. Sokoban comes to mind but I see it's gone comercial ($15 - used to be free, maybe you can still find the old free version). If he can master this then move him up to more complicated stuff. It's also a cool puzzle game that'll challenge his thinking process.

Might be a bit tough for a youngster but sometimes it's easy to under estimate them.

Perpetual Newbie II
Wednesday, January 14, 2004


In the early 80's I was 10

Around that time LOGO was
extremely popular to teach kids basic programming concept.

Who rememeber that turtle (a Robot) connected on the Apple II which drew the square you've just designed in Logo ?

I wonder if there's something similar which can
be connected to the PC.

Maybe it's worth checking LegoTekniks stuffs which can be connected and controlled from a PC....

Electro
Wednesday, January 14, 2004

LMAO!

I appreciate all the comments, especially the one advising me to dump my wife if she doesn't think I should spend $500 on Flash for a 7-year old (apparently, his future is at stake!!!).

But let me reiterate several points from the OP:
o - "he's only 7"
o - "The ideal tool would allow ME to create simple games ..."

I'd be the programmer. He'd be the "creative talent". He's already decided there would be 3 bosses - the evil Carrot Man, Lettuce Man, and Broccoli Man.  (Yeah, as a matter of fact, I do have trouble getting him to eat his vegetables. Why do you ask?)

So, I just wanted the tools to make it easy for me to create the graphics and the game play for a game that will probably suck (but who cares, right? It's just for fun.)

I will check out some of the recommendations above. I looked at a few and they look pretty cool.

Thanks again.

Nick
Wednesday, January 14, 2004

Oh and if you want to spend money, the Lego robot is kinda cool.

www.MarkTAW.com
Wednesday, January 14, 2004

Have you considered teaching him how to outsource his game development to India or Eastern-Europe. ;) That, after all is how people are going about making software these days.

Knowledge Maker
Wednesday, January 14, 2004

Nick,
You kick ass man. Making a game for your son! That has to make him think of you as some kind of kid's "god on earth".

This whole topic got my interest sparked in that game I always wanted to write for my daughter (she's 11 now).

trollbooth
Wednesday, January 14, 2004

trollbooth,

must be where I went wrong, i wrote my daughter a spelling tutor of all things - crap, a game - who'd a thunk :)

Perpetual Newbie II
Wednesday, January 14, 2004

Andy and DKatz,

I started out with computers because I wanted to learn how to write games. All the games were in BASIC and since it was interpreted, the source was available. Once the original PC came out the BASIC had some limited graphics capabilities, I was writing all sorts of things.

Granted I was more like 10 or 11, but I think learning programming at 7 is not impossible.

Anyway, since the dad's going to do the programming it's moot. I would suggest that he get some of the Maxis games. I haven't played them recently, Sim City was pretty openended as to what you could design yourself.

pdq
Wednesday, January 14, 2004

What about developing it as a mod for a first-person-shooter type game?  (Half-Life, Quake, etc.)

You could model the bosses (and their minions?) however you wanted.  You also wouldn't be limited to the traditional weapons -- instead of using guns, for example, maybe you could have the player throw forks at the enemies.

Robert Jacobson
Wednesday, January 14, 2004

THis maybe what you are looking for. I have not tried it, but I stuck it into my interesting bookmarks folder a long time ago. I looks cool, it teaches OOP concepts without a text editor, and the price is only 24.95. I was looking around the web site, there are games other kids have built.
http://www.toontalk.com/English/kidsask.htm
BTW I do not work there.

Doug Withau
Wednesday, January 14, 2004

[must be where I went wrong, i wrote my daughter a spelling tutor of all things - crap, a game - who'd a thunk :) ]

Way to bore her to death Newbie. What's next? An Algebra flash card application? I bet she can't wait to find out.

trollbooth
Thursday, January 15, 2004

*  Recent Topics

*  Fog Creek Home