Thrust: A classic 8-bit computer game in JavaScript

April 2010  |  Jump to experiment »
The original game as it appeared on the BBC Micro. The person playing this is far more skilled than I ever was. Find the original videos here: part one & part two.
Play Now

I must have been seven or eight years old when my Dad purchased a BBC B Microcomputer for my brother and I. It may have only come with 32k of memory and an 8 colour display, but it was easily the greatest non-human influence on my life.

Like most kids, our first use of the machine was to play commercial games, but it wasn't long before I was teaching myself how to code simple programs. 26 years later, not much has changed.

I've never been a great fan of computer games. There have only been three I have ever found interesting enough to become 'addicted' to, these being the visionary Elite (BBC), the football gem Kick Off 2 (Amiga) and last but by no means least, the amazing Thrust (BBC).

Thrust was just awesome and it is that game which I have attempted to recreate here using just JavaScript and the HTML <canvas> tag. I have 'cheated' a little in that I use Scott Schiller's excellent SoundManager 2 Javascript audio manager (which in turn uses Flash) to play the sounds, but I think that is fair game in the spirit of what I am trying to do.

If you're looking to write any cool JavaScript yourself, I found the following books absolutely essential reads during this project: JavaScript: The Definitive Guide by David Flanagan, JavaScript: The Good Parts by Douglas Crockford and Pro JavaScript Techniques by John Resig (the author of jQuery).

As featured on Google's ChromeExperiments.com

My version isn't perfect but I hope it goes some way in capturing the spirit of the game. It won't work in any current version of IE, but the other browsers should be fine. Personally, I find it plays smoothest in Google Chrome. If you find any bugs or want to suggest ways I can improve it, I'm all ears. Ready? Play Thrust!

Experiments:

Follow me on Twitter:

  • Loading...
Jon Combe