tl;dr: Just take me to the game!
I must have been seven or eight years old when my Dad bought a BBC B Micro for my brother and me. 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, we initially used it to play games, but it wasn't long before I was teaching myself how to code simple programs. Decades later, not much has changed.
I would never be described as a gamer. There have only been three titles that truly got me hooked: the visionary Elite (BBC B), the football gem Kick Off 2 (Amiga) and last, but by no means least, the amazing Thrust (BBC B).
Piloting a spacecraft through a two-dimensional world, the aim is to destroy a reactor, pick up a pod using a tractor beam and escape with it into outer space. Add enemies shooting at you, flying through caves, (reversible!) gravity, and a lot of physics (the pod is heavy), and you find yourself in a game much more tricky than it first looks.
<canvas> tag in a continuous loop. My version isn't perfect but I'm proud of how playable and close to the original and it is.
Before I give myself a pat on the back, think of the original author, writing this in 1986 on the original machine with just 16k of memory. No build tools. No debugger. Maybe a reference book or two. StackOverflow? We don't know how lucky we are.
I enjoyed 5 minutes of fame when this page was featured on Google's Chrome Experiments website back in the day.
The 2010 version of my game used a Flash plugin to play the game sounds (it was effectively the only option at the time). When Flash disappeared from our browsers a few years later, my game stopped working. Feeling the itch to play again in 2023, I finally got around to swapping out the Flash sound player for native browser audio.
Enough talk. Ready? Play Thrust!
Some people complained they found the keys confusing. They are same as the original game:
You can also configure the game a little before playing:
Press the space bar to start. Happy flying!