hack::soho | Explaining Elite | Mark Moxon

preview_player
Показать описание
Mark Moxon, Software archaeologist, was a guest speaker at our hack::soho in May 2024. He discussed the phenomenal game design of 'Elite,' arguably the first truly open-ended open-world game.

ABSTRACT:

Back in 1984, Acornsoft released Elite for the BBC Micro. Arguably the first truly open-ended open-world game, Elite blew people's minds, and was ported to every major home computer system, spawning an entire genre - the space sim.

Software archaeologist Mark Moxon fell in love with Elite all those years ago, and recently spent lockdown documenting every single byte of this seminal game. In this talk, you’ll find out how Ian Bell and David Braben, the authors of Elite, managed to squeeze an entire 3D graphics engine, 2000 star systems, 8 galaxies and a full galactic economy into just 23K of beautifully crafted machine code. If there is a definition of coding genius, it looks an awful lot like this...

Рекомендации по теме
Комментарии
Автор

mind-blowing what david and ian were able to do on such limited hardware

chukunNOOB
Автор

Mark, this is an exceptional talk! Your enthusiasm is properly infectious, and describing 6502 assembly code as "controlling the electrons" is a beautiful image. Awesome stuff!

ColinHoad
Автор

Elite was indeed a truly awesome game. I first saw it when we had a stand at a BBC Micro show in London, and I was gobsmacked.

Memory was so tight on the BBC we had to adopt extremely complex solutions. I wrote a compressed sprite routine for Bugeyes II and Future Shock that used run-length encoding of the sprites, but allowed optional double-width, double-height, and flipping both vertically and horizontally, and decompressed directly into screen memory in real time. That's how those games each have about 80 huge sprites and 64 screen levels (which were not algorithmically generated), and even a sliding-block puzzle. I even had to compress the bit-maps representing the floors to detect when the character should fall or hit a wall.
I always loved the technical aspects and the optimisation techniques, and I miss those days :)
I also used an interrupt driven palette change through the 6845 to make the eyes of the 'overlord' cycle through colours while the rest of the screen was in 4 colour Mode 5.
BugEyes II used the same underlying concepts, and had almost 80 levels.
I despair sometimes these days when I see the appallingly inefficient code being written, and the apparent reliance on high-power processors to overcome inefficient coding. The layers of third-party libraries insulating developers from low-level concerns add to the complexity and often introduce instability, as any bug in any of the five layers your code depends on can be a nightmare.

JasonSobell
Автор

Great video! Thanks to Mark for his amazing work!

KevinEdwardsRetro
Автор

The old Spectrum version had an interesting bug/feature - if you exited the space station, turned round, headed back to the dock and if you were close enough and hit hyperspace, you arrived at your destination already docked :)

alanwilson
Автор

Great video, I spent such a long time playing Elite and have never found a game which engaged me to the same level.

tmor
Автор

I actually envy those hacker types who had the focus and depth to create this.
This creativity and attention to detail nowadays could have high potential

AnonymousAnonymous-li
Автор

"...we are always at the center of the universe..." is brilliant! Makes me think of that cartoon, Futurama. In one episode, it's explained that the Professor's dark matter engines don't move the ship, they move the entire universe while the ship sits still. Somehow that's how they can travel faster than the speed of light. There's lots of odd little references - perhaps one of the writers was a fan of this game.

richardzeitz
Автор

Picky mistake: at 11:20 the voltages for 0000 0111 are incorrect, they are a copy of 0xA9, not 0x07

dave_lawrence
Автор

Great talk! Those literal voltages 11:01 are a bit off for value 7 - copy / paste, the bane of all coders

StefanDrissen
Автор

What an excellent talk from Mark Moxon!

sassquadsteve
Автор

The dude who laughed his head off at the 'bit of docking' comment made me laugh my ass of too. 😂

fridgeffs
Автор

This game passed me by. I never got to play it on my CPC. It was years later though that I bought Frontier for my Amiga.

MarK-xy
Автор

Thanks Mark, that was fascinating. I am old enough to have "run barefoot on the grass" many times, Z80 back then (I was a Spectrum owner) but PIC and STM32 up to today. All programmers should try assembly language at least once as it really makes you think about what is going on deep inside the hardware. I am, or was, a big fan of Elite Dangerous in VR too, at least up to the point where the stupid fleet carriers were brought in. I tried to persist with it after that but the winding down of VR support, the complete rewrite of the planet surface algorithm and finally "space legs" killed it for me. Such a shame. My gaming nirvana would be a release of ED:Horizons, offline with VR just before fleet carriers.

seankayll
Автор

Geoff crammond, Christopher Sawyer, David braben, genius machine coders! 🤯🤯🤯🤯🤯🤯🤯🤯👍👍👍👍👍😎😎😎😎😎😎

hanniffydinn
Автор

Elite is my all time No One game ❤
But being a Commodore kid it's overwhelming how fast the original BBC version runs 😅

CptSparky
Автор

I had a C64 which couldn't do the split screen, but had 64K of RAM as standard which allowed, as you say, for a few more in-game features. The two CPUs were largely the same (6502 vs 6510). The Z80 port for Spectrum must have been a non-trivial job. My muscle memory has atrophied, but I did play a bit with OOlite a while back and found I could at least still dock with a space station.

davidgillies
Автор

First real procedural game that I'm aware of in terms of a mass-adopted open-world game.

VenturiLife
Автор

I consider myself very lucky to be old enough to have started my computer journey during the 8-bit era. I started in Basic and 6510 assembler on the C64 at the age of 13 and continued with Motorola 68K assembler on the Amiga. After a 25 year carrier in software development it's *still* the most fun I have had coding. The sense of accomplishment was immense when you got things moving on the screen just with the help of computer magazines and whatever books you could get you hands on at the time. This was pre-internet.

And of course I was a *huge* fan of Elite and still have the original C64 disk version in mint condition in a box somewhere. When I got older I mostly lost interest in games and spent most of my free time watching scene demos and trying to figure out how people did the effects and then replicating them myself.

I don't think my story is unique for a lot of computer interested kids in the late 80's :)

Jonteponte
Автор

I’d love to hear what John Carmack makes of this game and its technical achievement.

sunjaykalsi
visit shbcf.ru