Project Spark is a sneaky way to teach your kids to code

Yeah, it's fun, but perhaps the most interesting part of Microsoft Studios’ new world-building game is that it teaches you a visual programming language
Project Spark is a sneaky way to teach your kids to code

It's an oft-quoted fact that while the generation that grew up in the 1980s and early '90s learned programming languages (on their BBC Micros at school, and their ZX Spectrums at home), today's nippers don't have the same opportunity.

And it's something that large numbers of people, from Codecademy to the Raspberry Pi foundation, are working to correct. The trouble is, programming languages have a steep learning curve, and the initial results - simple displays of text, calculations or very basic animations - aren't all that impressive. To begin with at least, staring at lines of text-only code doesn't exactly fire the imagination.

That's why one aspect of Project Spark, Microsoft Studios' new build-your-own-adventure game, really caught our attention: part of the game involves using a simple, intuitive visual programming language.  

What is Project Spark

Project Spark is a sneaky way to teach your kids to code

Project Spark is a free-to-play game along similar lines to Little BigPlanet, with the object being to build your own game world. You're given a 25-square-kilometre space in which to sculpt mountains, valleys, rivers and so on.

You then paint this landscape with textures, dot it with trees and populate it with characters, creating a home-made game within a set of parameters. It's designed to be easy to use, and there are some really nice touches, such as the Recording Studio, in which you use Kinect to  record your voice and movements and then apply them to a character in a cutscene - you can use this feature to make your own animated machinima movies, too.

Bird Brain

Project Spark is a sneaky way to teach your kids to code

The coding comes in when you begin making the story, by applying 'Brains' to your character, or to an enemy or object in your gameworld. A Brain is what causes something to happen in the game, so if you put a flock of birds in your game, you can apply a Brain to them that makes them fly away when the player character approaches.

If you want a cutscene to happen as the player crosses a bridge, you apply a Brain to the bridge, and by using Brains you can cause NPCs to talk to or attack the character. Brains also determine how the player character behaves and what s/he can do. They're made up of blocks, which you string together using connectors like 'if - then', 'and' 'or', to turn them into rules - exactly as you do in any other programming language. Build them into longer strings and you can start to do fairly complex things, such as building a little AI for an end-of-level boss.


Project Spark is a sneaky way to teach your kids to code

What's really nice about Project Spark is that, while others have tried to teach kids to code using visual programming languages, this isn't presented as a lesson - it's just part of the game. Project Spark arrives as a free-to-play (spend-to-upgrade) title on Windows 8 at the end of October (and Xbox 360 and Xbox One later on), so stay tuned for a review and we'll see how much you can learn from it.

Other visual programming languages (VPLs):

Automator: a simple VPL that comes with Mac OS, which helps you build strings of actions to automate tasks. Very handy for renaming batches of pictures.

Hopscotch: an attractive-looking iOS app designed to teach children basic programming.

Blockly: Google's open-source, web-based graphical programming language.