What do you do when your child wants to be a games programmer, and you have little clue about how to get started in these fields?
This was our situation a few years back. My son Daniel wanted to write his own programs when he was about nine (and still in school). I do have a background in commercial programming, but nothing using graphics or manipulating characters. If anything, my knowledge was a hindrance as I kept saying it was really much too difficult :-(
Then we found 'Klik and play', a basic games-writing package, and around the same time he was introduced to LOGO in school. He immediately grasped the principles of both, but soon found them too limiting. Realising he was serious, I did try to help him understand programming algorithms: the ways of planning what to do, how to draw flow charts, and how to plan the fine details of a program - all concepts which were crucial for LOGO. But he got no further in his ambitions at the time, although he would spend hours planning ideas for programs.
It wasn't until we began home education, a couple of years later, that he had the freedom - and time! - to experiment further. He bought himself 'The Games Factory', and we found some simple books about programming which gave him some ideas. He surfed the Internet and we bought magazines which appropriate CD-Roms. His own article describes some of what he's done in the past couple of years.
For a younger child with no knowledge of programming at all, I would strongly recommend 'The Great Logo Adventure', a book which introduces many aspects of LOGO, covering simple geometry and animation as well as many programming constructions. It can be ordered from the Amazon.co.uk web site and is ideal for use in a home education environment, for parents to learn alongside children. The LOGO software comes on a free CD-Rom with the book, or can be downloaded directly from the Softronix site.
If you have any friend or relative who knows anything about programming, and is willing to be asked questions, or even to give a few 'tutorials', do encourage them to do so. My husband was able to give lots of hints to our son, and even my own basic background in programming enabled me to help him to bug-fix, or think more carefully about his plans, when he was first starting (he's way beyond me now!)
If you don't know anyone who can help, try searching on the Internet. There are various people who offer hints or advice, or even on-line tutorials, and as far as we have seen, most are genuine and really can help. Or ask on a mailing list where there are usually experts on all topics.
Look for beginning programming books in the adult section of the library - they tend to be more serious and straightforward than those intended for children. Even if they seem boring at first, grasping the basic principles of programming is crucial for anything beyond the simplest games, even with a custom-made package like Klik'n'play.
Watch out too for computer magazines with articles about programming, and appropriate free software. Also look in charity shops for books... we've picked up quite a few on various aspects of design and programming, at a fraction of the new price.
Sign up for a free web site and encourage your child to learn about designing pages describing his interests. Even if you start with a basic word processor that converts formatted text directly into web pages, anything at all complicated requires some understanding of HTML, the language used. Many children learn intuitively how it works from reading through the code and comparing with the formatted text they have already created. This too is valuable in learning about design and construction of programs. Encourage your child to think about what he likes- or dislikes - about other sites too, and to think of ways of creating different effects. Again there are many magazines which give articles or tutorials on web design, and you may find books about HTML in your library.
Other important points: Try to give unrestricted access to the computer where possible, and where health permits. Sometimes a programming session may last for some hours, and while brief breaks for drinks or fresh air should be encouraged, it can be distracting for a child to have to switch to something completely different when in the middle of a program Note too that some work best late at night!
Listen when your child explains what he's doing, or shows you some new function, even if you don't understand or can't see what difference the new section makes! Firstly, he needs all the encouragement he can get, but secondly it often helps just to explain something to someone else. If he is struggling, or exploring a new idea, simply telling someone about it may inspire him to the next stage.
When things go wrong (and they will!) it's important to be matter of fact, giving a hug and suggesting he try again later. Remind your child that even professional companies frequently have to release 'patches' to deal with errors and bugs... and that's often after months of work with a large team. Hardly any programs ever work first time, and there are always improvements that can be made. This can be a difficult thing for a perfectionist child to learn, but if he's motivated enough to want to program, it's a very good way of learning it.
Home education site - http://home-ed.info
About 10 years ago, if you wanted to write computer games, you needed to know how to write programs using C++, a very hard to use but also very powerful programming language. You had to create every object in the game with about 500 lines of complicated text, and you needed years of experience just to write a simple game.
A few years ago, EuroPress released a program called Klik'n Play. With that you could make games by drawing pictures, and placing them where you wanted them. You could Create objects just by Clicking, and make them move by clicking a few times more. It was much easier to write games, and it took about 2 minutes to learn. But you were limited by what you could do. You could not have levels for games any bigger than the screen size, and you could not do "saving-loading" games.
Then the people who wrote Klik'n Play made Click and Create. With that you could do far more than you could in Klik'n Play. You could make just about any game possible. Then they made a program called The Games Factory. It was easier to use than Click and Create, and almost as powerful. The one thing that wasn't as good, was that you couldn't sell the games you made with it. I use Games Factory myself. You can get it from www.clickteam.com. It costs about $20, and you can buy an upgrade that lets you sell games for $20 more.
Although to write games with Games factory (tGF) you don't need to know anything about programming, knowing some can be useful. Writing a turn-based game, for instance, is very hard to do if you don't know how to make flowcharts and how to use Counters, or Numbers to represent which player's turn it is. Or if you want to make a strategy game, you need to know how to use loops to go through the list of "people" on screen, and how to get data from values, and put it in other places. Games Factory makes it easy to create games, but you still need to be able to plan them out, and design them.
If you need help with writing games, there are lots of places on
the web where people can help you. You might be able to join
a group of game- writers who can help you to learn, and who you
can write games with. My web site is at http://www.madprof.net,
and I can help anyone who wants with Games Factory, klik'n Play,
or any other type of programming. At the www.clickteam.com
site, you can get Games Factory, Knp and also some other programs.
There are links to lots of other people's web sites, and a
forum, where you can talk to lots of experienced people at writing
games. There's another thing to remember, when you plan games,
allow flexibility, you'll probably need it. Most of all, Have fun!
Daniel "MadProf" Fairhead