Monday, October 16, 2006
Noah has been agitating for a while about wanting to learn to program games on the computer. I know enough about programming to know that programming a decent game, by contemporary standards, is an incredibly complex task requiring years of experience and months of code-writing. So I confess I didn't do a lot to encourage his interest, not wanting to put him through the disappointment of realizing the task was beyond him.
One day I realized he was modding. Writing new parameters and relationships into one of his favourite games, WXSand. He was researching how to do what he wanted on the Modders' Forums, opening script files, copying, pasting, modifying, fixing syntax errors. He spent weeks creating a huge inter-related set of elements that would interact in ways that he defined to simulate life systems, geological events, chemical reactions, electrical circuits, water cycles and so on, all things that the program was never really intended to do. I was amazed.
"I want to learn to make my own games, though," he said. "Not just modify someone else's. I want to build the program itself, rather than just adding onto it."
So I pointed him in the obvious directions -- Squeak, GameMaker and StageCast Creator, all graphical game-building tools. He was intrigued by GameMaker... for a day or two. But he made it clear that he wanted to write code, and wanted a language that would be suitable for 3D games. A couple of years ago I'd heard DarkBasic suggested as a good language for aspiring young game-makers, and I muttered something about it one night before bed.
The next day, when I got home from work, I discovered Noah sitting at the computer with a demo of DarkBasic, creating gosub routines, fixing line-wrap with semicolons, moving animated sprites back and forth across the screen. Amazingly most of my facility with Basic from my 1985 experience with a Commodore C64 came back. He showed me what he'd been doing. Together we worked through most of the tutorials that came with DarkBasic and had a blast. He has taken off on his own in the days since, and is working with PaintShopPro to build his own animated sprite.
I'm not sure if he'll stick with it, but he has certainly displayed an incredible amount of serious interest to date, has done a lot of research, taken a lot of initiative, and learned a lot about computer logic, routines and programming conventions.