Elite may be the most complex 8-bit game ever produced. And it was arguably the most groundbreaking game ever released for its time. Back in the early 1980s when arcade-shooters reigned supreme, two undergraduates at Cambridge redefined what computer games even were.
In this video we’ll look at some of the technical aspects of how David Braben and Ian Bell were able to construct an entire universe, economy, 3D engine and backstory in 22KB on a 2MHZ processor. This story is well known in the UK, but computer games history is largely told through the lens of the US and Japan….so overseas viewers may not be familiar with the impact Elite had on gaming, and the wider world.
For anyone that wants to give Elite a try, you can play it online here:
https://bbcmicro.co.uk/game.php?id=366
Though, I recommend downloading the disc image from that page and running it in ‘beebem’ (free BBC micro emulator). That way you can save your game.
All footage of Elite is taken directly from my BBC Micro via a capture card.
Blender was used for 3D animations
VSCode with the Beeb VSC extension was used to develop my assembly code
BeebEm was used to run 6502 assembly scripts within the BASIC interpreter
Sources:
Mark Moxon’s incredible Elite website, complete with fully annotated source code:
https://www.bbcelite.com/
Elite source code on github (annotated by Mark Moxon):
https://github.com/markmoxon/cassette-elite-beebasm
The BBC Micro user guide (an excellent manual – remember when things came with good manuals?):
http://bbc.nvg.org/doc/BBCUserGuide-1.00.pdf
Another useful reference for the BBC Micro:
http://www.primrosebank.net/computers/bbc/documents/2339_001.pdf
BBC Micro memory map:
https://area51.dev/bbc/bbcmos/memorymap/
Interesting paper about Elite and it’s impact:
https://gamestudies.org/1302
An excellent guide to 6502 assembly:
Original requirements for the BBC Microcomputer:
http://www.bbcbasic.co.uk/bbcbasic/beebspec.html
Intro music credit:
Music: Evan King – Fetch Quest
https://www.youtube.com/ContextSensitive
https://contextsensitive.bandcamp.com/
End music credit:
Krayzius & Brainstorm – Virtual Boy
00:00 Intro
04:03 Some Context
06:02 The BBC Micro
12:35 Elite and its Creators
17:02 Hardware
31:30 6502 Assembly
33:48 Innovations: an Overview
37:08 Innovation #1: split-screen
40:12 Innovation #2: backface culling
45:28 Innovation #3: Procedural Generation
47:32 Innovation #4: the Radar
54:08 Elite’s Impact
56:33 Lasting Impact on Gaming
23 Comments
The BBC Micro ran at 2MHz, not 2GHz. It wouldn't be an 'Alexander the OK' video without a units error. Thanks @MegaCadr
A stack is last-in-first-out, not FIFO as I stated. Thanks @skonkfactory
In the procedural galaxy generation section at ~46:58 you say the three values are added and the result appended to the list, but then only values 2 and 3 are added to make the next number. You also mention that the numbers are limited to 16-bit.
The true product of the three would be 70,629 which would overflow the 16 bits immediately generating only the second system. It seems this would happen fairly quickly (by system 3) anyway, even if only values 2+3 are used to make the next system.
Just curious as to whether Elite actually does what the narration says, or what's shown on the screen.
Back then, they were/are programming gods. I was thick in the middle of things back then in high school/college, but this type of programming skills and logic is far beyond my thoughts, skills, and education.
Great video! And I would like to ask for your help to find some kind of “musical” game, launched in the 80’s that came with a vinil record for the player to play while playing (because the sound cards from that time couldn’t reproduce the sound the devs wanted for the game). Is a game kinda surrealistic
I was an original-generation BBC Micro user back in the days, and learned enough BASIC and machine code to create some simple games and utilities. And although I didn't properly appreciate it at the time, rejecting social convention and making necessarily inexpensive art, that might have had a few rough edges but was all my own work, was very punk.
I recently got back into the BBC Micro via emulation, and somehow found myself wondering: Would it be possible to write a program to design a printed circuit board on the machine, capable of generating the files you would need to send off to a manufacturing company to have the boards made up? Double-sided, with a silkscreen legend? In 32KB of RAM, less some for the frame buffer?
Well, it's actually looking as though it might …..
This is amazing work. It really helps put in perspective what the technology behind video games means to our society as a whole. I can't wait to see what comes next from the games industry and computer technology.
Amazing video! Thank you for creating this. I learnt a lot that I did not know about Elite, and I've loved that game (the original and the newest creation of Elite). Great video!
Its funny i got my spectrum on release and played just about every game except Elite, all my friends raved about Elite and it just passed me by lol
This just showed up as an recommended video. I must say I enjoyed it alot! In sweden in the 80's me and my friends had vic20, c64, amiga500 computers available. So we played alot of games. But the strongest sense of "adventure" and "wonder" came from Elite
Amazing Video 🙂 thanks for your work!
Those 'Elite' screencaps seem to be PC CGA colors.. ?
I don't know big black c*%ks have anything to do with computers
"BBC" and "micro" together in a name dont make sense lmao
Now play it with the inertial dampers switched off 😁
Margaret Thatcher was far and away the best post-war Prime Minister that Britain has had. 1984 was a possibly the most important moment in her government as she was able to take on the Trade Union barons who had been holding the country to ransom for so long, and defeat them! So it’s somewhat fitting that Elite (a game that rewards hard work and free enterprise) came out in this year.
Outstanding video!
Maybe objects should disappear in front of stars?
I went to some Elite play-offs in mid 80s, I was in my 20s and was beaten very quickly by a chap not yet in his teens, similar happened in my 50s at the Angry birds play-off in Hawaii 2011, I was defeated by a teenager very quickly.
Sick burn with the "Unfiltered UV" joke
Your last point on game engines, you missed out a recent addition that is really almost as important as godot. Gaijin recently open sourced its in-house dagor engine, which is far more catered towards high-quality graphics and photorealism than godot is.
I do find it amazing how with such limited compute, elite runs as well as it does. Ive been messing with path traced pseudo-3D graphics (think – Doom) recently, all running on the CPU, and, albeit my code is full of inefficiencies and C#, and relying on some .Net stuff (slow), its amazing just how slow it can get even on modern hardware at 320×240 – and im not even doing proper 3D. The fact my code can slow down to 10fps on a 4GHz CPU, and elite runs faster than that on a 2MHz CPU, with no ability to do specultive execution, run multiple instructions per cycle etc… is pretty amazing for the time.
Having extensively studied the Z80 and written a simulator for it, ive got a decent grip on the nightmare of programming these old systems in assembly. I just about got the code written to do a fibbonacci sequence. The 6502 was really limited in comparrison with just 56 instructions, but similarly to the z80, it was CISC, which would have aomewhat helped speed up computation.
Man, in 84 I was 11 and spent almost all my free time with my best friend in front of his C64. Elite was just… different. We needed HOURS to even get into the first space station!
It also founded my love for trading games 🙂
3D Ant Attack was released in 1983 on the ZX Spectrum?
The whole feel about Elite was exactly right, a bit of commerce, the sense of adventure, the use of roll and pitch for attitude control, when you only have 2 axis to work with. And that iconic radar, that gave me exactly the information I needed for spatial awareness. Thank you for the throwback into my teen years and learning 6502 Assembler on my Apple II.