Monday, October 16, 2006

Computer programming


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.

1 comment:

  1. rob learned to program in a similar way, well at first he learned logo by playing games with no computer in a room with a big grid on the floor when he was in first grade, but then he had an old computer with games that he was able to mod, and that led to him learning to program. i think he also took classes at school but the program only lasted one semester and then was replaced by a class that had no programing that he found boring. anyhow it is awesome Noah is wanting to learn programing! i personally don't like basic for a first language because well it has some flaws and i prefer python but really it doesn't matter learning any language is a great skill and all of them teach tons of math! also it helps a lot with spelling. and is a lot of fun

    ReplyDelete

This blog is moving to archive-only status. Please consider posting comments instead at the active version of the blog at nurturedbylove.ca/blog

Note: only a member of this blog may post a comment.