Friday, November 19, 2010

Microsoft Small Basic vs Roblox

Can I commend to you a piece of software from Microsoft... how often do you get to say that? It's called Small Basic, and it's a free download.
I've been on the lookout for a programming language to encourage my 12 year old son Josh to get started on turning into a mini-version of me. I guess some dads, frustrated Wayne Rooneys, buy a football and march their kids out into the middle of a wet field. Me, I just want him to grasp the fundamentals of programming, especially as he wants one day to work for Media Molecule and develop Little Big Planet 8 or whatever.

I've not had a lot of success up to now, but this Small Basic is excellent, and after me showing him a quick demo program last evening, I couldn't prise him off it to go to bed. A breakthrough.
There are very few icons cluttering up the toolbar, and the whole process is very simple. You type code into one window, with an excellent IntelliSense system in place to help remember syntax, then hit Run and either a text window or a graphic window (or both) opens up and you get to see the results immediately.

It's entirely feasible to write little games like Snake and Breakout with this system, and there are plenty of examples on the Net to look at and learn from. Notably, the language uses a 'Turtle' to draw on the graphics screen, which I think is a Logo language like construct to make graphics a little more fun. It works, he loved it.

The beautiful simplicity (and relevance - the code looks like real Visual Basic) of Simple Basic is in stark contrast to my experience using the scripting language associated with Roblox. Now, you may not have come across Roblox, but it is an on-line game based on a Lego-like world. If you have children and they haven't heard of Roblox either, I would advise you don't tell them. Roblox, IMHO, is heroin for children. It is highly addictive. My lad has been on it for 12 months now, and shows no sign of getting bored with it, despite the fact it looks, to an adult, fairly dull and badly rendered. All I can add is that he had the briefest of dalliances with World of Warcraft recently, which appears interesting and looks marvellous - but did not stick at it more than a couple of months. I couldn't afford the fees for both, so he had to choose, and he chose Roblox in an instant.

One possible saving grace (for me) for Roblox is that it has a scripting language. Great, I thought, I'll get the little blighter into programming with that! But could I get it to work, could I coconuts. I'm a software developer of 30 years experience - and I could not get it working. Obviously some people can... maybe I'm being dense, but as an intro to programming it sucks, and I would advise against it.

Just while I'm ranting against Roblox, can I mention something? Roblox cost money to play, fair enough. But it has a currency that is vital to the kids enjoyment of the game. This currency costs real money too - not a lot, but it adds up over the months. If you were clever enough to write a good script, or you design a good costume or a game level, you can sell it to others in the Roblox community. That seems okay, you could reduce your gaming costs by being a bit clever. But even if you do, Roblox takes a percentage cut on all deals! You're enhancing their system by adding good content, and they still screw you for some cash for doing it. This is for kids remember. Humph.

Ahem.

The page for downloading Small Basic is currently here though I guess that might change. Highly Recommended.