Hacker News new | past | comments | ask | show | jobs | submit login
The Making of Elite (edge-online.com)
104 points by jacquesm on June 14, 2014 | hide | past | web | favorite | 38 comments

I spent weeks if not months first playing it and then taking it apart bit-by-bit to see what made it tick. It was like putting your hand in a bag and coming up with one gemstone after another, crazy optimizations incredibly inventive coding and a whole load of easter eggs.

The program did a series of rounds to decrypt itself after loading, with every new round encoded inside the previous one. After manually unwinding the first 10 or so of these onion like layers there was a message for the foolhardy:

"Does your mother know you're doing this?"

Or something to that effect. My buddy Gideon and myself knew right at that moment just how far we were outclassed.

That didn't stop us though and taking elite apart taught me lots about programming. Especially about programming the impossible in a severely constrained environment.

If you want to really learn how to become a better programmer constrain your resources and then make it work anyway.

That's hilarious, I was a huge fan of the game, but didn't ever try this. I presume the encryption was copy protection?

It was to stop your from changing your 'status' to Elite without playing the game. They had a kind of contest going.

I've started taking the Beeb Elite apart, so far as far as the text printing routine: http://xania.org/201406/elites-crazy-string-format

And of course if you want to relive the glory in your browser: http://bbc.godbolt.org/?disc=elite.ssd&autoboot

That was the most dangerous link anybody ever posted to HN.

Incredible how more than 30 years later all the keystrokes are still in muscle memory. Really have to stay very far away from that website :)

With a recommendation like that, how can we not implore mattgodbolt to submit it as its own story?

Matt, please submit it if you're so inclined. :)

Haha thanks for the vote of confidence but I've already submitted it before and had some good feedback. I've written a series of articles on emulating a BBC too, which have also been submitted; my webserver felt the strain then too :)

Super stuff Matt. I was toying with the idea of doing something very much like that a few years ago but felt that the copyright issues were hairy enough that I should stay away from it. I loved the emulation articles. This is totally off-topic and I can probably find out if I go through your website but did you get mode 7 to work as well?

I'm so flagging that ;)

David Braben got an MBE yesterday in the Queens birthday honours list.


Elite: Dangerous is looking incredible too, it could be the first killer app for the Oculus Rift.

I'm so excited for Dangerous and Star Citizen. We haven't had any good space sims for quite a while, and I'm ready for their return.

Elite was probably the most memorable game from my youth. I do hope that Elite: Dangerous is a suitable modern realisation of the world the original portrayed in my imagination. The Frontier titles seemed to fall quite short in my view.

I always thought Eve might be the massively multiplayer Elite I always want to play, but ended up being too impenetrable given limited time to play it... hopefully Elite: Dangerous' online incarnation doesn't fall into the same trap.

The world that the manual and novella painted were incredibly vivid... I always imagined that I might actually encounter a generation ship at some point (in fact, maybe that does happen, I don't think I got passed the mission to track down the stolen prototype ship).

I never played Elite back in the day, though of course I'm familiar with it now, but I did play Frontier and I liked it.

One thing about Frontier that blew my mind and that Elite didn't have (AFAIK) was seamless transitions between planetary surfaces and outer space. Maybe now it's not as technically amazing as it was then -- even though right now I can't think of a modern game that does it -- but the absence of loading screens during the transition between planet and space is what made Frontier so immersive for me.

Have you seen the trailer for No Man's Sky?


Very interesting, but those transitions don't appear to have a realistic sense of scale... not necessarily a bad thing (and maybe I'm misjudging the speeds and distances)

That was awesome, thanks! No, I hadn't seen it. And yes, the seamless transitions I was talking about are there!

And there is of course Elite: Dangerous:



And while I'm dropping links, I found this older interview with Bell (hosted on Bell's homepage, apparently):


I recently witnessed a 'new Elite' being built for a 30 year old computer, and I was very pleasantly surprised to play the game when it was done:


The Oric-1/Atmos machines (http://en.wikipedia.org/wiki/Oric) never got the respect they deserved at the time in the 80's .. but they sure get some great stuff made for them these days! In case there's anyone out there on HN that has an Oric-1/Atmos, and feels the need to vindicate their purchase with a classic, stellar, high quality game that was always only ever available on 'those other machines' .. well then, wire up your machine, and check l337 out immediately - because the Oric can finally play Elite too! (And don't forget about all the other new, 'old' stuff, being made available for the Oric scene at http://oric.org/ .. Space 1999, anyone! :)

I remember the Oric. The first machine they put out had calculator like keys that put it right in there with the Sinclair stuff, good for a few weeks and then you'd be longing for something a bit more solid.

At the same time Oric came out with the Atmos there was competition from Tandy/Radio shack (with the 6809 based Color Computer), the BBC Micro, the earlier Acorn Atom (you can see where the Atmos got its name), the Dragon 32 (a color computer knock-off from the UK) and a whole bunch of low end machines much like the Oric Atmos and of course the wildly popular Commodore 64 and ZX Spectrum.

It's no wonder they didn't make it, as a Spectrum-clone but 6502 based and only a little bit cheaper than the Spectrum it was clearly a 'me-too' product, and with the build quality of the '1' I think they damaged their brand.

I dunno, I have had both since the beginning, and I feel on the basis of experience during that era that the Oric-1 just felt tons, tons better. (Still have my Oric-1, long since got rid of the Speccie kit..)

Maybe it doesn't really look like it in pictures, but its quite more usable as a keyboard than most other bits of gear. Much, much better than the ZX Spectrum, anyway .. but I learned to touch type on my Oric, so maybe I'm biased. Also, it can be argued that the Oric was a better machine than the Spectrum - although the Spectrum had far better market traction.

This was a lesson I learned during that era but applied every decade since: its not about the power, its about the users. It doesn't matter if the machine is 'better' on spec; if the market allows for lesser technology, so be it for us developers to follow along.

But .. what is it about the 6502 that made it 'worse' than the Z80? A lot of the other machines in your list used similar CPU's .. even the C64 had a 6502-derived processor (6510) ..

There is absolutely nothing that made the 6502 worse than the Z80, I far preferred programming 6502 asm above Z80 asm.

Don't confuse the machine with the CPU.

Being late to the party and not offering anything that made it stand out at a similar price point was enough to make it a non-starter. I don't fault them for trying though, the '8 bit home computer' was an area that everybody was trying to get into back then.

Eh, the Z80 had a memory move command that was fast and convenient, and successors (Z80K!) that went to 32 bit. Now, the 6809, that was a sweet 8-bit. :)

And OS/9 a sweet bit of code...

The Oric was derisively referred to as the "doorstop" amongst many Commodore users...

As a C-64 owner that went through several, and then a few power supplies, the same could be said about Commodores.

I did a stint of hardware repairs for an Amsterdam based computer retailer (ugly story, owner committed suicide). I was the guy in the 'back room' trying to piece together working machines from DOA's and within warranty failures.

The failure rate of Commodores was incredible. I got pretty good at the strip down, test, combine 6 bad machines to make 5 working ones routine, it wasn't rare to sell 50 machines on a Saturday and to get back a few of those by the time the week was out.

As a kid I used to take copyright protection apart on cassette based games, mostly on Z80 based computers so I could add infinite live pokes and stick a trainer on the front. I remember Elite on the ZX Spectrum (I played it mostly on the MSX, although I never got round to cracking it). The copy I had used a funky loader used in games released by Firebird.

The Firebird bleepload was interesting in that it had a small leader tone and loaded small blocks of data, checked them with (IIRC but I could be wrong) a CRC, incremented a block count and then loaded the next block. Because this was all done at the standard spectrum loading speed it actually made games take longer to load than normal, but had the supposed advantage of being able to rewind and retry a block if it didn't load successfully, or as was the case for many people, continuously fail to load a block successfully.

There were a fair few releases of Elite, I remember there being a version that used a terrible copyright protection mechanism called Lenslok (I first saw it in a game called TT Racer). Lenslok was a plastic prism that had to be calibrated to your TV each time you loaded a game. It would display two characters mangled in a way that supposedly could only be read through the prism (but you could just document the characters that came up when you had the lenslok viewer and then look them up when you didn't have one.

Using a Multiface (which was a hardware device that would jump to a special area of onboard memory with a hex editor when a special red button was pressed) and a debugger you could pull the loader apart, find the jump to the decompression/game start routine then usually step through to the code, patch the jump to lenslok out (although I preferred changing the code that checks user input to always compare to itself in case any later checks would match, some people would just jump to the successful code entry address too) and then modify the loader to patch the code or jump to the address on start.

The multiface also had the ability to dump out the contents of memory to disk as a snapshot, but it would check to see if the multiface was there afterwards as it's own form of copyright protection. This again was pretty straightforward to patch out, but felt like cheating, and if you hadn't already cracked the loader then if you wanted to dump out the loading screen you'd risk losing the bottom 512 bytes IIRC due to the menu that popped (but I might be wrong, it's been nearly 30 years since I've used one).

They're working on a modern version nowadays. I think it's in beta. http://elite.frontier.co.uk/

and while we're waiting there's www.oolite.org and www.pioneerspacesim.net

Very timely article, I've just published a long post about Oolite, an open source remake of Elite (that goes way beyond the original):


Seems to be down, friend.

Doesn't mention that Elite was heavily influenced by a pen and paper RPG Traveller. I did start messing around trying to write a Traveller ship combat game at my first job.

Good book on this (and similar) subjects:


Jimmy Maher goes into more detail on the making of Elite here: http://www.filfre.net/2013/12/elite/

Elite (well, Frontier) changed my life, and for the better. I've met Vint Cerf a few times now, but I think I'd be more star-struck meeting Braben.

It helps to think of Braben & Bell as the 1980s version of John Carmack & Markus Persson.

This was the game that made me buy an Amiga :o) I'd played other versions previously, but the Ami version was the best.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact