5 ms·
The sound effects in the video clip attached to that article make the hairs on the back of my neck stand up! The level of coding chops in the original game is
by macavity23 14y ago
The sound effects in the video clip attached to that article make the hairs on the back of my neck stand up!
The level of coding chops in the original game is hard to comprehend by modern standards. It had a (wireframe) 3d engine, eight galaxies each with hundreds of worlds, a dozen or so ship types and lots of different equipment and engines - and an awesome surprise endgame where after scores of hours trading and battling pirates, suddenly out of nowhere (with no warning in the early game or manual) the galactic navy appeared and sent you on a series of missions.
The RAM footprint of this game? 22KB. KILOBYTES. All written in machine code: that's even lower-level than assembler! Something to think about next time you're tempted to brag about your coding l33tness :-)
I'm enormously glad that this game has hit its target, and very, very excited that David B will have the opportunity to make the game he wants without a publisher exerting pressure on him (which was what ruined Elite II).
This game and Obsidian's Project Eternity (also on KS) are being eagerly watched by many people. If they succeed, this will be a massive turning point in the games industry, just as the original Elite was.
- Direct 14y ago> All written in machine code: that's even lower-level than assembler! Can you clarify? I don't know much about the history of this game or the BBC Micro. But do you mean to say this was written byte by byte by hand? I'm imagining someone typing each individual byte of an opcode here. If so, that's pretty amazing.
- amalcon 14y agoThat was normally done with a hex editor, but yes, that's pretty much how it worked if you didn't have an assembler.
- dasmoth 14y agoThe BBC BASIC interpreter (present in ROM on all these machines) included a pretty good assembler. There may have been issues putting together a 22kb program with it -- probably had to be assembled in several chunks -- but no need to use a hex editor.
- jacquesm 14y agoIt's nonsense, elite was written in assembler. Nobody but masochists were programming directly in hex. The only time I've done it was because there was a quick hack to be done on an apple II and I knew most of the opcodes by heart and how to compute branches. (And the reason for that is that I'd written an assembler). So unless you had no tools you really did not have to program by poking bytes into memory directly. Apropos, BBC basic came with an assembler built in triggered by the [ character.
- gillianseed 14y agoYes, although back in my c64 programming days I knew the 6510 opcodes by heart, one didn't actually program by using machine code. You used an assembler (turbo assembler, those were the days). assembly: lda #00, sta $d021, sta $d020, generated machine code: a9 00, 8d 21 d0, 8d 20 d0 Anyone else remember what this would do on the c64? :)
- SeanDav 14y agoIn ye olde days, machine language and assembler/assembly language were often referred to as the same thing although of course they are different. Assembly language is translated to machine language by the assembler. I believe (but may be wrong) that Elite was written in assembly language as one would have to be a masochist to write directly in machine language.
- waqf 14y agoThe Elite source code can be downloaded at Ian Bell (the other original author)'s site, http://www.iancgbell.clara.net/elite/archive/index.htm http://www.iancgbell.clara.net/elite/archive/index.htm. It is indeed written in assembly language (using the BBC BASIC assembler).
- jiggy2011 14y agoI remember an interview with Linus Torvalds where he said he wrote directly into machine code in some of his early (pre Linux) programs. Mainly because he couldn't afford an assembler and didn't yet realise the difference.
- jacquesm 14y agoWireframe is incorrect, it was hidden-line removal, which is a lot more complex than wireframe.
- primitur 14y agoSpeaking of l33tness, there was recently (2010) a version of Elite finally made for the Oric-1/Atmos family of machines, which never got the game franchise back in the 80's, when they were on the market, and it .. too .. is an act of pure l33tness. Its Elite, for the Oric-1/Atmos, and its called .. 1337: http://1337.defence-force.org/ http://1337.defence-force.org/ If you're into Elite, give this one a try (It runs perfectly in the Oriculator emulator (http://code.google.com/p/oriculator/ http://code.google.com/p/oriculator/), and amazing on the real hardware, should you have one stashed away in the closet somewhere) - and it was made by a very skilled developer who wanted to see the title on the Oric machines, at last. As an avid Oric-1/Atmos fanboix, I can't tell you how amazing it is, finally, to have this title in our collection .. the Oric-1 still LIVES!!!
- gadders 14y agoWhere's the Dragon 32 version, that's what I want to know...
- gadders 14y agoThey also listed a load of items in the manual that weren't actually in the game. I'm disappointed I never found the massive space transporter thing that was supposed to be in there.