A Most Important Update

I know what you’re thinking. That’s doesn’t look very interesting. Certainly not enough to be important.

Well, yes, it does look a bit on the dull side but it’s not.

Shall I tell you what it is? It’s BLOODY EPIC is what it is.

It means I can tell when people last talked to each other on twitter. The ‘when’ is the really awesome part.

It means people will get stuck, in the Mire (Mare).

HTML5 & Javascript: The New ZX Spectrum (or … insert 8-bit machine of choice with BASIC interpreter)

Raspberry Pi

[DRAFT]

That is a Raspberry Pi. It’s awesome and it’s the brain child of very awesome minds. One of which is a child hood hero of mine, David Braben. Yes, that David Braben. The one who co-developed Elite. Yes, that Elite.

So that is a Raspberry Pi and it’s supposed to ignite a whole ‘new’ generation of kids who’ll pick it up for $25ish and learn to code. Only it wont.

Raspberry Pi won’t get kids coding

Just so you know, I don’t want that to be true, but I think it will be. Sadly, and I hope I’m wrong as there are a lot of smart, generous and wonderful people behind it, the only people who will be into it are people like me (and likely you). We’re coveting them, right now, because they are tiny and cute and it tugs wistfully at our nostlagia. (can you tug wistfully? and if you can, can you tug at nostalgia – Look, I think we both know you can’t, ignore that bit, just imagine it makes sense)

I hope I’m wrong on that but on the positive it will create an enormous buzz around the subject of Computer Science in and outside of education. That is a success in itself! This will be no mere moral victory as anything raising the profile and attraction of computing to current generations is a must. Software is our final frontier, a place where anything can be built and we need people who can build software, software to help at work, at play and importantly to help advance healthcare and science – how much of a DNA sequence can you hold in your memory?

So what’s this got to do with the ZX Spectrum and Javascript?

I’m glad you asked!

The reason a generation grew up unafraid to write code was due to those little 8-bit black, grey and beige boxes plugged into our TVs. Our parents bought them to “help with the homework” but they never saw a jot of homework (if yours did, you have my sympathies).

No, they were for more important things: playing games. And for most, you had to write a program to play a game, even if it was something as simple as: Load "". Let me repeat that, it’s simple but enlightening. To play a game you had to enter some BASIC into the machine. That’s a program. Might be trivial but it’s a start!

This was BASIC. It was built in. It was a service that was part of the box, like being able to add on a calculator, something we would take for granted. It was just there.

Some of us learned to use it to make the computer do things, usually as a result of boredom with a current game, such as: draw things on the screen, print infinite loops in Dixons telling everyone “Martin is Ace”, maybe even a game. Digression: this is a true story, I wrote a basic version of a Teletext on my spectrum and each morning would update the stories from newspapers so my gran could flip through the news in big print on the TV, I was about 11 when I did that. I’m now 38 and have been a professional software developer since 1996. I never had a fear of programming because I’d been doing it since I could remember. For me, code is just part of my language in general.

There’s a platform and language that has the same ubiquity as Micros and BASIC: it’s the Web and Javascript.

The web browser with its Javascript interpreter is the perfect modern equivalent to the 8Bit micro and BASIC. Many households will have at least one and some more than one. In my eyes, the web browser is now also the world’s largest game console. For me, Facebook and Zynga have started proving this.

As a language Javascript is perfect for teaching on, it’s interpreted, it has garbage collection and now with HTML5 and OpenGL a very simple, but powerful, way to draw.

It’s beyond the scope of this rambling but this is all you need todo to draw a line:

var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");

context.beginPath();
context.moveTo(100, 150);
context.lineTo(450, 50);
context.stroke();

The Spectrum’s BASIC had plot and draw which could be used liked this:


PLOT 0,100:
DRAW 80,-35

What makes it similar to the 8Bit generation (remember those listings in magazines for games) is that because it’s interpreted you can view Javascript in any website simply by viewing source! This is how we really learn, we find something we think is cool, copy and change it to see how it works. We learn by doing.

I’ll rewrite this so it’s more conscise but that’s the jist of my argument

All in all, I’d love to see Raspberry Pi in the hands all school kids but part of me thinks they’ll be playing with browsers and apps – and if we can keep them on HTML5, then we’ve got a chance to teach them some code.

Ironic Pic of the Day: They Really Don’t Make ‘Em Like This Anymore

I snapped the cover this morning without realising it was actually a coincidentally apt image. I’ve been swapping emails with Alex – the game engine developer working with me on the current game – who now lives in China.

Communist Mutants From Outer Space

Alex emailed this morning to tell me he couldn’t get the latest build working, because I’m using oAuth to talk to Twitter and the Great Firewall of China blocks Twitter 🙁 Although I think I have a solid plan to get around this it’s still a reminder of the freedoms we take for granted here!

Still, like the man said, we will overcome 🙂

You total git(hub)

Very exciting. I’m creating the first CollisionGames GitHub repo. It’s call xFall (well, the x is a placeholder for something I can’t mention just yet as it will give too much away).

The other exciting (relatively) thing about it being a GitHub repo is it’s designed for remote and asynchronous collaborative development. I can’t describe how good it feels to be able to say that.

So what are we building?

Well, I won’t go into the game yet, but it’s social and will be designed as a free to play HTML5 game – with iOS and droid to follow if it does well.

Everything about it feels solid and well thought through – I imagine that wont last long =p

Making an Impact

Impact BioLab Disaster

I know, two blog posts in as many days. It’s a real hive of activity again isn’t it?

Today actually is quite an amazing day. After all this time we have finally managed to start hacking/prototyping and we have a solid, well defined design requirements technical doc.

So what’s changed?

Well, quite a lot really. Keeping Collision Games alive in my head has been easy. Keeping it alive in the real world was harder. It would have been easy to let it find a nice quiet corner of the internet and, quietly, get old. In fact, after some of the iOS quotes I’ve seen this week I was more than happy for that to happen (versus me frittering away my children’s college money).

Then I remembered the HTML5/Javascript game engine impact.js (http://impactjs.com/). I bought a license to use it last year so I dropped in on their forum and decided to see if any dev’s fancied some work. Turns out they did and we start work next week on the first real Collision Games release.

So I might just make it to GameCity this year to show it off and go through the development saga – it’s only taken 2 years so far!

News: Design Completed and Pinterest!

Finally, have our design completed for the next project. I’ll start blogging about it as soon as development starts (within the next week). Very excited about the concept and initially I’m going to use the impact.js engine for prototyping which will dramatically reduce the development times and cost.

A bit about cost. I wrote a pretty comprehensive requirements specification and had a few iOS/Droid devs look at it and the quotes that came back were pretty astonishing. Some ranging up to around $50k which considering the risk involved in getting an app to make money is pretty expensive – I should add that I don’t think it an unrealistic price for development (i.e. day rate * length of project or fixed price etc) just that as I’ve written previously, I think your marketing budget should be at least equal to your dev budget 🙂

Anyway, in the meantime here’s a Pinterest account I’ve setup to collect themes for the game 😉

Collision Games on Pinterest