Learning to program used to be easy. Turn on a BBC Micro and you'd be ready to write your first BASIC program, and Sinclair's machines had programming shortcuts printed on their plastic keys. Then there was Logo, with its simple approach that let beginner programmers build more and more complex behaviours for its turtle cursor.
But something went wrong along the way. Good old BASIC vanished, and along with it the fun of programming. It was work now, and that's the way it always would be. Kids would play games on consoles before growing up to write Visual Basic applications in the office. Programming was now officially boring.
Article continues below
A group of researchers at Microsoft Research had a different idea. People had experimented with visual programming techniques before (remember the keypad on the back of BigTrak?), and applications like Microsoft's Robotics Studio were mixing it with declarative programming concepts.
BUILD YOUR OWN: Build worlds (and games) in Kodu using the built-in programmable objects. It's just like working with SimCity
Experiments like Popfly had shown there was interest in programming for what Microsoft's Jon Montgomery called the "non-programmer" – the person who puts a Facebook badge or a Yahoo! widget on their web page. However the Microsoft Research work went in a completely different direction, bringing visual programming to the world of gaming.
Straight into programming
The result was Kodu Game Lab, originally demonstrated at PDC 2008 and CES 2009, and which has finally arrived on Xbox Live's community channel. Built using Microsoft's XNA game development tools and costing only 400 Microsoft points (about £3.40), it's a cheap way to start giving children key programming skills.
POPULATE IT: Once you've built a world, populate it with trees, flowers, castles – and then add characters. Everything can be interactive, if you want
It's certainly very good at that – you can quickly put together games that can be shared with other Kodu users, using the built-in animated characters and game elements. Schools can't really justify Xboxes, and there is a Windows version, but it's only available to select educational users at the moment.
Start up Kodu, and you're straight into programming. You're given a simple task: get a character to a tower. All the instructions you need are on the screen, letting you know which buttons to push to select characters and to start writing code. Programming Kodu is surprisingly simple. It's a true visual programming environment, very similar to that used by Lego's Mindstorms. You pick and choose the objects you want to interact with, and decide just how they affect each other.
SIMPLE PROGRAMMING: Kodu's visual programming tools are deceptively simple – it's possible to build very complex behaviours with the available commands. Here we're creating a Pac-Man like character that'll find and eat apples
Programmable objects and associated actions are selected from cascading rosette menus, so you can see what you're doing at all times. Picking commands with the Xbox controller can be a trifle tricky – and you'll be glad of the quick editing tools for when you make the inevitable mistake.
Once picked, commands are added to ribbons that define specific behaviours, and each object can have many different behaviours. One ribbon can describe what a character does when it "sees" an object, another what happens when it reaches the object or meets an obstacle on the way. Combine lots of these behavioural rules together and you've got a game.
KODU GAMING: Characters can interact with each other, and there's the possibility of building multi-user games
That's one of Kodu's strengths, the realisation that very complex actions can be built using a combination of simple commands, and an easy to understand way of showing just how commands fit together.
Each object you add to a world (even the land itself) is programmable, and once you've built a game you can share it with the online Kodu community. Bundled tutorials and game worlds show you how to build your own games – just press the edit button to see the code the Kodu team have written.
Microsoft Research has done a great job with Kodu. It's an ideal tool for teaching basic programming, a Mindstorms for the Xbox, that gets adults and children working together to build their own games. There's a lot of promise in this little download – and it's more than worth the cost of a cup of coffee, even if you don't have kids!