If you ever wanted to dive into the source code for the 1980s space game Elite, but didn’t want to invest many hours reverse-engineering the 6502 assembly code, then [Mark Moxon]’s annotated code has you covered. The systems referenced range from the BBC Micro and Commodore 64 to the NES and Apple II, with some of these versions based on the officially released source code. For other systems the available source code was used together with decompiled game binaries to determine the changes and to produce functional, fully commented source code.
This particular game is fascinating for being one of the first to use wire-frame 3D graphics with hidden-line removal and a sprawling universe in which to trade and deal with less than friendly parties using a variety of weapons. After this initial entry it would go on to spawn many sequels and inspired countless games that’d follow a similar formula.
On the respective GitHub project page for each version, you can find instructions on how to build the code for yourself, such as for the Commodore 64. Of note here is the license, which precludes anyone from doing more than forking and reading the code. If this is no concern, then building the game is as simple as using the assembler (BeebAsm) and the c1541 disk image utility from the VICE project.
Some years ago I had written the name generator along with an alternative Markov chains based one. https://codepen.io/killer_angel/pen/gvjqdV
Please change that picture to be the BBC micro, rather than a C64. Elite was first developed on a BBC then ported to the other platforms, frequently using the BBC as the development platform. Give the Beeb a little love!!
Why the C64 focus? Elite was a BBC Micro game first, that was subsequently ported to many other platforms…
Because news about the C64 version was what prompted the article.
Ian Bell released the source code for various ports, including the C64, for the 40th anniversary in September (http://www.elitehomepage.org/fourty/index.htm).
Then, a couple of weeks ago, Mark Moxon released his documented version of the C64 version (https://mastodon.social/@markmoxon@universeodon.com/113601244266459001).
This style of wire graphics and the 3D map were also in a game called NetWars on a Novell network under msdos. When played the network game the whole room sounded line an illegal underground sewing gig (hint: old 286 keyboard space key was one press one shot). That was about 30 years ago.
So true. It also had been part of Novell DOS 7, which included Personal NetWare.
Interestingly, NetWars had been updated again in the years after.
It got support for Sound Blaster, Joystick and so on.
NetWars with VGA graphics is amazing. ^^
https://en.wikipedia.org/wiki/NetWars
Hi Joshua. Does “ed011” rings a bell?
I never played it, but i did play a hell of a lot of snipes ( https://github.com/Davidebyzero/Snipes )
This style was in many games thereafter, but Elite was the first.
I’m hoping that someone has taken the opportunity to fix the most annoying aspect of the original C64 release – the docking computer. Unlike other versions that immediately docked you when you activated the computer in range of the space station, the C64 version forced you to watch as it docked at a snail’s pace. Even when you manually flew to right next to the station and made an approach line-up before engaging the computer it would take a minute or two. I was so jealous of my friend who played on an Amstrad CPC64 – he could trade so much quicker than I could.
“Unlike other versions that immediately docked you when you activated the computer in range of the space station”
The BBC micro disk version also has working docking computers (and most versions that ran on hardware powerful enough), which you had to watch the docking computer maneuver your ship (and occasionally damage your ship). I think this adds a lot to the realism of Elite.
Also, any pilot worth a damn would dock manually! Not meaning to gatekeep, just paraphrase a quote from the manual (or somewhere).
I think the Spectrum version also had immediate docking, which kind of felt like a cheat/shortcut.
The era when this game came out ~ 1984, experiencing 3D graphics like this was breath-taking. There were a few other 3D experiences in the world, like the Arcade Game “Battlezone” (1980), but very little (maybe nothing?) for PCs.
The trading aspect was great, as were the epic space battles. It looks simplistic by today’s standards sure, but as a kid I was super-happy spending hours playing this game. Furthermore the HUD / Radar graph looks weird, but it works really well, given it’s mapping a 3D space into a 2D graph.