OPERATING SYSTEMSOS Linux

Elite: "The game that couldn't be written"

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:

‘Middle aged men roasting video games’:

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

source

by Alexander the ok

linux foundation

20 thoughts on “Elite: "The game that couldn't be written"

  • 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

    At 30:21 I simplified how branching operations work. Only a single byte is updated in the program counter for a branch – not two as shown. I didn't think anyone would notice this simplification but it's been pointed out enough times that It's best I clarify it here.

    The third row on the XOR table at 52:47 is incorrect. This is a case that isn't applicable for writing to the framebuffer, hence me forgetting to change it (the second column should be black).

  • 8 galaxies, 250 stars a piece…elite has literally always pushed the scope of capability in video games, damn 💪🔥

  • First, Elite. Then, 20 years later Egosoft X3 series. Habbits never change. Scared to think what we will see in 2040.

  • Thankyou for a gem of a video. Surfing Youtube is widely and unfathomably disappointing, but occasionally videos like yours redeem the experience. It was very engaging and as an early 80's baby it resonated with me. Unfortunately my parents didn't see the value in the 'computer fad' to spend barely anything on it, so my experience was a little distanced. I've gone on to study an MEng and currently a PhD, so I get to play with computers more than I'd like.
    Unfortunately I feel qualified to offer the following observation. My fingers and I may be wrong, but I think the narration logic is screwy @44:10 "More formally…etc.". The angle between face vector (defined as FROM object centre TO face surface), and the line of sight vector (defined as FROM player TO termination of face vector), needs to be obtuse for the face to be SEEN, not hidden as stated. The subsequent assessement approach still holds just with inverted logic. If I'm wrong I apologise, but I was listening and following intently and this just crashed me and clawed at my OCD!
    Otherwise a fantastic video, and I just wish you'd gone into more detail on the glossed over bits towards the end. You've earned a subscription from me.

  • Always knew Elite: Dangerous was biased on an older game… Didn't know it was THAT old though. Thanks for this!

  • Vector Graphics, i think i played this way back when, mid 80`s.

  • Is this Ian Bell the same Ian Bell who created Slightly Mad Studio and made Project CARS afterwards?
    If that's indeed the same person, he sure changed A LOT.

  • I missed the original Elite experience in my youth. I've more recently enjoyed Elite Dangerous. Now I understand how they are all connected. Thank you so much.

  • AMAZING vid. I'm an American software developer of a certain age (the NES generation) so I knew nothing of the UK hardware and software scene. I didn't learn of things like the ZX until the last 10-15 years or so, and it took me a little bit to understand the ins and outs of a gov subsidized "for the people" computer, or what the BBC had to do with it. The mere existence of the ZX and others in it's sphere taught me a lot about the UK, and it made me instantly jealous haha.

    With the BBC's renewed jump into electronics with things like microcontrollers via the BBC MicroBit, and groups like Element 14, I dove deep into microcontrollers as well (and, my first Pi was an Element 14 Pi).

    It's funny to me that the BBC is helping kids and adults GLOBALLY now the same way they helped their own citizens in the 80's.

    As a non-Commonwealth citizen, I don't have to care if the UK gov is good or bad; I only know that I hugely appreciate certain parts of it, and I'm sure there are countless others out there that would agree. Kudos to them, and kudo's to you for leaning into that "spectrum" of the story haha.

  • By far the best game of the 80s & one I spent the most time on in my youth. You did a wonderful recap & thanks for a trip down memory lane!

  • ugh… "microcontroller" instead of "microprocessor". "GHz" instead of "MHz". Very basic mistakes.

  • Its already better than Starfield….

  • My school's (in Brisbane, Au) first computer room had BBC Micros in them. It wasn't until 1988 (grade 11) that we had a semester on computers for one of our advanced math classes. At around that time, perhaps 1989, the school added a second computer classroom using IBM machines. The writing was on the wall for the BBC machines.

    I managed to hack the teacher's login to the BBC network. I innocently changed the text of the boot up screen to something Star Trek related. Everybody knew who did it when the change was noticed. I think I earned some points with the class jocks (who were a bit nerdy anyway, this was not a basic math class). With there being no concept of the implications of such hacking, I cannot recall ever getting in trouble for it. The teacher just changed their password and onward we went.

    Years later, I picked up a copy of Frontier Elite to play on my IBM compatible machine. Still quite primitive compared to today's options, but a little more advanced over the original.

  • I'm not sure what was relation of BBC Micro to C64 or Atari, having the same 6502 CPU, similar video memory encoding (C64 had great sound chip though) ,.. indeed I liked the beauty in the simplicity.. Thank you for the insight, Elite was a marvel if the time.

Comments are closed.