I just put 2 and 2 together that hidden surface removal is LITERALLY only drawing the polygons with surface normals facing away from the camera and not some more complex algorithm. As long as the shape is closed any polygon facing away from the camera is going to be occluded by ones facing toward the camera. That is slick as hell! And it explains why models are always partly invisible from the inside
I love the influence that The Hitchikers Guide To The Galaxy had on Elite's creators, Ian Braben & David Bell e.g. "This world is mildly known for its hoopy night life...", as in Douglas Adams' writing "There's that real hoopy dude Ford Prefect, now there's a guy who really knows where his towel is!".
Before the video starts, I want to say NES Elite is my first and only Elite I ever played. ... and sunk ton of time into it. Truly a remarkable game on NES.
The NES port was actually the first time I ever saw it too or even heard of Elite at all. I just found it among my ROMs back in the 00s, and although it's not my type of game I was immediately amazed this was on NES, the graphics and depth of gameplay and interface and everything seemed so far ahead of anything else I'd seen on the system growing up. At the time I assumed it was some sort of homebrew port because the NES couldn't have done all that back in the day, right? If this had come out in the US back at the time it actually came out, I probably would've loved it!
@@RichardCraig The first time I encountered it was on a flea market without a package. It was very cheap, maybe 5 Euros or so in mid 90s. I just purchased it, because I heard so much about the game in general and didn't know it was on NES. Back then I never even had thought about piracy game cartridges, didn't think it was possible. Hell it took years until I saw piracy on games with CDs. It turned out to be a really good surprise.
Graphically, Vectrex is perfect for this. I don't know why I didn't think of it before. I'd be surprised to see it run on the actual console if they can pull it off.
REALLY? They are trying to port Elite to the Vectrex? The game I believe has LONG ago been open sourced. The graphics would have to be handled entirely differently. They don't need ROM or RAM either, just write in on a simulator to begin with. There's basically a recreation of this game with updated graphics. Or there was, I don't know the status of the project.
I've never played Elite in any form, let alone on the NES, but knowing a little (VERY little) about how the NES draws graphics, this game looks really impressive indeed. The ingenuity that programmers used on older games never ceases to amaze me.
There was no such thing as vector graphics on the C=64 I am PRETTY certain, and so they faked it all by change the 256 characters to draw little lines. There's a few videos on Elite that describe all the tricks they pulled to make the game of that time.
You say that it's a marvel getting this to run on the NES, but I'm amazed they got it to run on a C64 (just barely) - with no custom chips, and a CPU that can't even do 1Mhz.
The genius here seems to be how they allocate those 192 tiles. You've said there aren't enough, there'd need to be 600, to do a full screen. So it only uses tiles where they're actually needed. But how does the system keep track of this? Is it part of the drawing routine? That would seem to be the clever part, the part I can't think out for myself.
I've done something similar on the Jupiter Ace (which has no pixel-addressable graphics, but has a character set of 128 characters (plus their inverses) that can be redefined. Basically, you fill the entire screen with your background tile, then your line drawing routine only updates the characters it needs to. For an added optimisation, you check if the tile you've just created already exists, and then re-use that instead of creating a new one, although this can slow things down a bit. If you can't control the complexity of the display to ensure you won't run out of tiles, then you can keep a count of how many unique tiles you've drawn and implement contingency measures when you run out of tiles if needed.
If this had come out in the US when I was a kid, I would have been absolutely lost in it. I found the DOS version of Elite many years later and spent months playing it. The closest game on an NTSC NES to Elite would probably be Star Voyager at least in graphics. It showed that a similar game could run, and that came out in 1988.
@@Dwedit Elite was released in the US on the C64 & DOS, I take it that OP is referring to it appearing on the NES in the US. It is a shame Elite didn't make it to NTSC NES as it was a significantly larger market and it could have been quite a hit.
Pretty crazy how the buffer uses the 'wrong' tiles up until it's rendered. I guess it can anticipate the tile number that's needed so that when it does actually show the buffer it becomes the right tiles. That or there is a certain space reserved for the one or two objects on screen and it swaps in the correct ones on the frame the buffer is shown.
The palette trick is not very rare, albeit I did not expect it in this game. There are games on different platforms that put data or even executable code into screen memory by reducing number of colors or by making all tile colors the same. Or, store several frames of monochrome animation in the same picture, animated by changing the palette. Seen in Jon Burton’s Sega games IIRC and in some Amiga demos.
Impossible is the GB version that I got running with my mate Neil. It was only 10fps, but it was Elite. We even had a battery-saving black-on-white mode. We took it to ECTS (when it existed), but no publisher was interested.
It's amazing what the developers could do here. For the construction of the wireframe graphics (clever solution #4), Jon Burton of Traveller's Tales did something similar with "Sonic 3D Blast"'s Sega Logo and "Game Over" animations. The graphics couldn't be copied fast enough, so each picture self-contained all the frames needed for 1/8th of a second of 30 FPS video. (Four frames per image) Even Sega did something similar, to keep the video graphics requirements low in "Sonic 3"/"& Knuckles"'s special stages. (Just one sphere existed, the other colored spheres were palette-swapped, hiding or revealing the star hidden on the ball.)
I just discovered a really amazing game called Spectre on the SNES. It's a first person 3D polygon game running on the SNES without the FX chip. I found it on SNES Drunk's channel. I was thinking of this channel while watching it.
@@tsvtsvtsv Yeah, I did wonder if what he said was true. That's why I brought it up. It does run very smooth compared to other similarly styled games on the SNES.
Hidden surface removal is one of the unique features of Elite. It is achieved by only using convex models for all objects and then doing back-face culling. Only using backface culling is not sufficient if models are more complex. Also, they of course can’t occlude each other anyway.
I see 'narcotics' are missing from the list of goods you could deal in, not surprising given Nintendo's family-focused seal of approval rules back then. All I ever used to deal in as a 12 year old (in the game, not IRL of course), felt very naughty!
I think they changed a few other trade goods too, Liquour became "Beverages" and Slaves became "Robots". Strangely, they only changed the names not the status bytes, so trading in robots is illegal.
Separate graphics memory was common on Japanese computers of the era. The MSX is probably the best known example. On the NES the main benefit is memory bandwidth not having to be shared with the CPU. Fast ROMs existed, but were more expensive. ROM cost was also the reason for the Famicom disk drive.
ROM wasn't all that expensive. The cartridge makers were never using the latest and greatest (the most expensive) chips. RAM was much more than ROM chips. Batman for the C64 was a 4Mb cartridge and IIRC, was released around the same time as this game.
@@tarstarkusz ROM being expensive is the reason they made the Famicom disk drive. RAM was even more expensive, but that has nothing to do with the split graphics and CPU memory spaces. One if the main reasons why 8 bit systems had limited resolution and colour was not the cost of RAM, it was the available bandwidth. Many had to give the graphics priority over the CPU to even do the low resolutions and few colours they had.
@@kuro68000 I don't disagree that a floppy disk is cheaper than a ROM. If they sell you the disk drive with enough RAM in it, then they can make more money by charging the same amount for a disk that they would have charged you for the ROM cartridge. My point is that they exaggerate the cost of the ROM. It doesn't really save on ROM to have the type of setup the NES has. What it can save on, is RAM (though I don't know if it actually does or not, just that it could by mapping the ROM right into the graphics address space) One way or the other, all the graphics need to be stored on the ROM or on a disk. The C64, either disk or cartridge had to contain the graphics of the game. Same with Colecovision or any other computer or game system.
Graphics memory wasn't common on american and european computers because SRAM was expensive, they chose to make the most cost efficient systems. Compared to the C64 and the ZX spectrum, the NES was disadvantaged because it couldnt modify sprites on the fly without ROM controller or display anything other than 8x8 blocks of graphics with a limited number of sprites. It's really fast and efficient though, but yes to me that NES had too many boring 2D action games with endlessly spawning enemies. Not very easy to make something other than that, but games like elite proved its not impossible albeit with an extra effort compared to programming it for computers, and extra hardware such as the 8K SRAM used for elite.
@@tarstarkusz well ROM chips were insanely expensive next to casette tapes and floppy disks. Maybe over 100 times as expensive as a tape that could store 10 times as much data. In that sense, yes ROM was expensive, and loading data from magnetic storage into DRAM would save you lots of money, but console buyers were more concerned about upfront cost than lifetime cost. The NES was cheap even though the games were not, especially the ones with actual longevity. Nintendo made the FDS to solve this issue, but soon realized that they could make more money and prevent piracy if they kept using cartridges despite the higher cost. Besides ROM PCB prices had fallen a bit although still very much more expensive than magnetic storage, and the customers didnt care about paying extra.
Another brilliant video. Thank you! I loved this on the BBC B and, it’s sublime to see the extent people used to go to to make things work on modest hardware
I admit I did wonder, and now I know. We can be happy Elite for NES exists, but I have to wonder whether the sales prospect for the port was any real incentive for what had to be a massive headache.
I might be off base here and all this I typed here is for nothing, but it sounds like the programmer likes the challenge and has fun with it. He wants the 'headache'. Developers had more say about publishing decisions back then when teams were smaller so it's likely despite it not being financially wise they still did it because of his influence. And chances are since it's a port and made by the original developer it's going to take less time to develop than the original version. The design is already complete, the experience of making it even.
On the BBC Micro Elite used the function keys and came with a key strip. I played it on an analogue joystick with other keys bound to buttons. The NES version looks like the BBC Master / 6502 second processor versions which had at least another 64K and 4Mhz and 3 + 2Mhz processors. The second processor version also did the screen copy thing from the parasite to host processor. I wasted so much time on elite!
12:25 - OMG this explains the emulation glitch I saw the first time I tried this many years ago! The graphics would show the glitched buffered version for a single frame before it corrected itself, so every time the graphics updated they'd blip for a frame with the buffered version making it twitch.
14:03 is footage of !ArcElite - the 32bit version for Acorn Archimedes and A-series machines, likely a wip from 1990 with wireframe ships (solid in the 1991 release) so I'm guessing any ntsc copy is just a rumour, Bell would most likely be hosting it xx
As an Elite enthusiast and one that’s played it on almost every platform (including the NES) I commend you on your video. Extremely interesting, thank you! 🙏
Colour cycling used as a frame buffer? That really is a brilliant solution! I wonder if any other game ever did this. Mega CD Silpheed is still a bit of a mystery to me. I assume the backgrounds are streamed animation. But the game still shifts a bunch of stuff using smaller polygons in real time in the foreground, like no other Mega Drive or Mega CD game can apart from Virtua Racing.
The original Silpheed was running on 8-bit computers that ran slower than the Genesis so presumably if it's using similar code techniques it wouldnt be too much for the Genesis to process especially when the CD is providing some extra grunt and is taking care of the background
I only found out about Elite because Dangerous but I have become obsessed with how impressive the original one is. I want a BBC Micro someday so I can run it in the original hardware.
Elite AGB by quirky is worth a look. Gba port with so so so much more content. I've been playing it since I was in the 8th grade. I have almost a thousand hours in
You might think that the nes could generate vector graphics trough software and then output it’s graphics via the expanded workram as tile sets on screen,but at the cost of speed i suppose, Also while it is true that the nes is limited to only view 512 tiles atonce on screen,BUT with the mmc5 chip,it can be expanded to over 16000 tiles on screen,thus allowing more graphical details on screen without wasting much processing power but at the cost of extra memory in both ramd and rom.
I'd love to give this game a play, but I only own NTSC NESs. I do have both PAL and NTSC C64s however, and I know the game was ported to the C64... hmmmm
I've played this version in an emulator and while I think it's an amazing port, I have to disagree that the icon interface works better than using a keyboard. I find using the icons to be really awkward, especially in the heat of battle. Having to go to the icon bar to use the missiles or the ECM is kind of a PITA. I also find the save screen to be confusing. Why are there two columns that you save to? Why isn't there just a single list of slots that you can save to or load from? Why the complicated save to one column, then save to another column?
@@anon_y_mousse True. I usually use save states while playing, but make an in-game save before quiting. Besides, I wanted to see how they implemented all aspects of the game. I understand why they used the icon bar, since the NES only has two buttons, but the save screen is a mystery to me. It's also quite easy to overwrite a save by accident.
@@lurkerrekrul Technically, it has four button and a D-Pad, but yeah, given the number of actions and the button limitation, it can be a bit daunting. I can't say I particularly like the NES version, but it's still impressive they were able to do it at all. It would be nice if someone ported it fresh and made it everything it could be.
@@anon_y_mousse True, I always forget that the Start and Select buttons can be used as inputs as well. As for porting and improving it, if you make changes to it in the process, it's not really the NES version anymore. And if that's the case, why not just go for porting the Archimedes version? Better graphics, events happening that don't always revolve around the player, etc. I'd like to say I've played it and it's great, but unfortunately I can't play it with either the mouse or the keyboard and I don't know how to get a joystick to work with it. I don't even know if the version commonly available supports a joystick. If you want to talk about a modern version of Elite, have you tried Oolite? It really could have been named Elite Ultra. Beyond the base game, which is a virtual copy of Elite with modern graphics and silky-smooth gameplay, there are all sorts of add-ons to add new ships, planets, moons, etc. Other ships go about their business, you can follow them through wormholes, etc. It can be harder than Elite though. It's not unusual to get jumped by huge swarms of pirates. The police may come to your aid if there are any in the area, or you may be on your own. And the one time I ran into a Thargoid, it wrecked me in a matter of seconds. It was just continuous laser fire no matter which way the ship was oriented. My only other complaint about it is that while each station offers jobs that you can do for money, almost all of them are out of reach for new players, who are the ones who would most benefit from them. They either need a bigger ship, or more experience. By the time you qualify for most of them, you can make more money just trading a full load of computers or furs, making the jobs kind of pointless. "Do I make 1,000+ credits trading a load of computers in a single jump, or do I take this job that will require me to go halfway across the galaxy for 400 credits?"
@@lurkerrekrul I'd never heard of that game before. Apparently it was inspired by Elite, and it's open source and free. As for porting Elite, I'd actually rather see someone enhance it a little and port it to the Genesis. Imagine having 7 buttons to play it, if you count the start button, and better graphics. I suppose the SNES would be cool too, but I was a Genesis kid.
Does anyone know how Elite's hidden surface removal works? I've never actually played the game. Are all 3D objects convex? If so then it's relatively easy, I think (you can decide on a per-face basis and just check whether it's facing the camera).
Yes they are all convex and they just check what's facing the camera like you said. There's a disassembly of the BBC version here, github.com/markmoxon/cassette-elite-beebasm#readme I don't know for certain what's going on in the NES version, but being as they are both done by Ian Bell, it's probably pretty similar.
Ah yes, the NTSC NES is clocked differently so it blows everything out of sync as judging by this video Elite is VERY CPU frequency dependent and does changes on a certain tick. Porting it to an NTSC variant would require actual porting.
To be fair, a lot of ports to the NES were "impossible", and to the SNES for that mater. Since the game is open source now, one could actually port it to an NTSC NES, and they do have new games written for old consoles all the time.
@@Dwedit I don't know if you saw my reply as it looks like YT deleted it, but I did not say that specific version was open sourced merely that Elite was and could be ported. I won't bother posting a link or anything resembling one as I think that's why it was deleted, but it is out there to be perused.
Nintendo also made them change "liquor" to "beverages", and remove an entire galaxy, because one of the (pseudo randomly generated) star systems was called "Arse".
These days, if a game runs poorly, we upgrade the hardware, rather than write more efficient code. I can’t help but think we’ve got things the wrong way around. 🤔
Nah, that's just very disrespectful. Today's developers are similar creative if you thinks about stuff like FXAA, SMAA, HBAO, screen space reflexions, virtual displacement mapping, normal mapping, LoD systems etc. These are all performance tricks to make games look better with a fraction of the calculations that you would normally need for the same image. These are all genius level hacks like the stuff Elite does on the NES. Of course there are still crappy games but back in the 80s and 90s there were much more crap. Amazing stuff like Elite were rare master pieces.
Okay...something very puzzling is happening here that you might be able to explain. The polygons on display here appear to be filled in and not of the hollow variety seen in games like Starblade for the Sega CD. The question is are they filled polygons or are we seeing rudimentary culling taking place? For example, when a ship does a 360° turn you cannot see through the ship and it appears that it is made from solid material.
@@hicknopunk I specifically mean games that started on the C64, which also had scrolling, not a DOS PC. PC didn't mean the same back then as it does now. PC just meant personal computer which included all home computer architectures, not just IBM. Plus scrolling didn't work when they tried to port flight simulators like Infiltrator, but that's primarily because the NES controller was not really meant for those kind of games. You really need a flight stick or a joystick for those games.
@@lordevyl8317 yeah, wing commander was barely controllable on the SNES because everything has to be translated from a keyboard to a controller. Elite on a NES controller is equally nuts. I was talking in general though about scrolling games being often better on the NES/PC. I had a mac iici and it could do software scrolling, but not on a hardware level.
The two weird things about NES Elite are: 1991 and PAL only. Not only is that pretty late given the 16-bit era was upon us, but also the NES didn't sell bucket loads in PAL territories either. So I guess my question is: why?
Overall the NES had pretty middling success in the UK but it did see a bump in sales here in 1990 when it was bundled with the TMNT (or TMHT) game. Although it didn't enjoy the dominance it had in other territories it actually sold similar numbers by end of life to other systems like the Master System and Commodore Amiga (about 1.5 - 2 million apiece) - the key difference being that it mainly started selling late in its life, post 1990, when it became more of a 'budget' system - which is probably why this release seems late to others when it was actually at the peak of NES interest in the region. While the 16 bit era was technically 'here' with the Megadrive, Amiga and ST, the SNES hadn't been launched yet and Elite was already ported to the Amiga and Atari ST. Also 1990/1991 was a transitionary time in the UK at least, where even 8 bit computer games were still selling very well, so 8 bit was far from dead. Rather it was more seen as a cheaper option vs 16 bit as the premium option - hence Sega re-releasing the Master System (II) around the same time of the Megadrive launch, kind of an Xbox Series S vs Series X situation. Elite was a popular enough game in the territory to be ported to just about everything - Megadrive and SNES versions were started too but never released (maybe because by 1993 the sequel was out on 16 bit computers and it was just a bit too outdated and maybe because it was a more computer-oriented game and NES sales had been lacklustre). That's my take anyway.
It's not impossible. The PAL NES did it just fine. I actually remember going through Hell trying to get it to run on my PC back in the day. Had to buy a newer one just for Elite.
Why impossible? The nes had more power overall with hardware chips than the typical 8 bit computers of the earlier 80's that the game originally came out on...
Vector games use raw CPU power and writing direct to the frame buffer. The architecture of some consoles doesn't suit that. C64 was worse for such games than the Spectrum for instance. Even the Commodore Plus4 was better than the C64.
It's low on RAM, the memory required to manipulate complex data structures on the fly. Its also a tile based system, as explained in the video, so you cannot just draw vectors on the screen. Did you watch it?
While you admit you know nothing of the technicalities of how Elite works, this video also demonstrates you are a long, long, long way away from being equipped to make...this video ;)
It did feel boring to me by the time it was released on the NES. I appreciate the difficulty and achievement of a NES port but having experienced the OG I did not get the same feeling at all. It was far from boring in 1984 on the BBC micro, surviving a Thargoid attack playing only on keys. Things are relative my friend .
I just put 2 and 2 together that hidden surface removal is LITERALLY only drawing the polygons with surface normals facing away from the camera and not some more complex algorithm. As long as the shape is closed any polygon facing away from the camera is going to be occluded by ones facing toward the camera. That is slick as hell! And it explains why models are always partly invisible from the inside
More specifically, the shape has to be entirely convex - there can be no indentations, holes or or the like, where one face can obscure another.
I love the influence that The Hitchikers Guide To The Galaxy had on Elite's creators, Ian Braben & David Bell e.g. "This world is mildly known for its hoopy night life...", as in Douglas Adams' writing "There's that real hoopy dude Ford Prefect, now there's a guy who really knows where his towel is!".
Don't forget to grab your towel!
Before the video starts, I want to say NES Elite is my first and only Elite I ever played. ... and sunk ton of time into it. Truly a remarkable game on NES.
I did the same, but on ntsc. Oh the corrupted graphics 🤣
The NES port was actually the first time I ever saw it too or even heard of Elite at all. I just found it among my ROMs back in the 00s, and although it's not my type of game I was immediately amazed this was on NES, the graphics and depth of gameplay and interface and everything seemed so far ahead of anything else I'd seen on the system growing up. At the time I assumed it was some sort of homebrew port because the NES couldn't have done all that back in the day, right? If this had come out in the US back at the time it actually came out, I probably would've loved it!
@@RichardCraig The first time I encountered it was on a flea market without a package. It was very cheap, maybe 5 Euros or so in mid 90s. I just purchased it, because I heard so much about the game in general and didn't know it was on NES. Back then I never even had thought about piracy game cartridges, didn't think it was possible. Hell it took years until I saw piracy on games with CDs. It turned out to be a really good surprise.
They're trying to port it to the Vectrex, but it will need a ROM and RAM cart.
Graphically, Vectrex is perfect for this. I don't know why I didn't think of it before. I'd be surprised to see it run on the actual console if they can pull it off.
man I would love to see this on Vectrex in any form, even if it's just a proof of concept!
REALLY? They are trying to port Elite to the Vectrex? The game I believe has LONG ago been open sourced. The graphics would have to be handled entirely differently. They don't need ROM or RAM either, just write in on a simulator to begin with.
There's basically a recreation of this game with updated graphics. Or there was, I don't know the status of the project.
I've never played Elite in any form, let alone on the NES, but knowing a little (VERY little) about how the NES draws graphics, this game looks really impressive indeed. The ingenuity that programmers used on older games never ceases to amaze me.
There was no such thing as vector graphics on the C=64 I am PRETTY certain, and so they faked it all by change the 256 characters to draw little lines. There's a few videos on Elite that describe all the tricks they pulled to make the game of that time.
You say that it's a marvel getting this to run on the NES, but I'm amazed they got it to run on a C64 (just barely) - with no custom chips, and a CPU that can't even do 1Mhz.
But c64 had an actual framebuffer to make it easier
@@mariowario5945 Yes, but that doesn't do much if it takes half a second to calculate the geometry for the next frame.
they managed to get it running on an Amstrad CPC which was the laziest computer ever (at the time, because now they can do wonders with it)
Had this on the C64 - took me an absolute age to be Elite - still happy with that achievement 🤣🤣🤣
The genius here seems to be how they allocate those 192 tiles. You've said there aren't enough, there'd need to be 600, to do a full screen. So it only uses tiles where they're actually needed. But how does the system keep track of this? Is it part of the drawing routine? That would seem to be the clever part, the part I can't think out for myself.
I've done something similar on the Jupiter Ace (which has no pixel-addressable graphics, but has a character set of 128 characters (plus their inverses) that can be redefined. Basically, you fill the entire screen with your background tile, then your line drawing routine only updates the characters it needs to. For an added optimisation, you check if the tile you've just created already exists, and then re-use that instead of creating a new one, although this can slow things down a bit.
If you can't control the complexity of the display to ensure you won't run out of tiles, then you can keep a count of how many unique tiles you've drawn and implement contingency measures when you run out of tiles if needed.
I believe they implement this as Bresenham algorithm twice. First pass computes tile positions then the next pass renders the line into the tiles.
If this had come out in the US when I was a kid, I would have been absolutely lost in it. I found the DOS version of Elite many years later and spent months playing it. The closest game on an NTSC NES to Elite would probably be Star Voyager at least in graphics. It showed that a similar game could run, and that came out in 1988.
The US did get Wing Commander: Privateer for MS-DOS in 1993, which is of the same genre as Elite, and is an amazing and highly engrossing game.
@@Dwedit Elite was released in the US on the C64 & DOS, I take it that OP is referring to it appearing on the NES in the US. It is a shame Elite didn't make it to NTSC NES as it was a significantly larger market and it could have been quite a hit.
@@captaincrispier8155
It couldn't. The only reason it works in PAL is the lower frame rate.
@@captaincrispier8155 must have run terribly slow on c64. It doesn't run great on a stock Amiga 1200
@@1invag Are you sure you aren't getting the original Elite & Frontier Elite 2 mixed up?
Pretty crazy how the buffer uses the 'wrong' tiles up until it's rendered. I guess it can anticipate the tile number that's needed so that when it does actually show the buffer it becomes the right tiles. That or there is a certain space reserved for the one or two objects on screen and it swaps in the correct ones on the frame the buffer is shown.
The palette trick is not very rare, albeit I did not expect it in this game. There are games on different platforms that put data or even executable code into screen memory by reducing number of colors or by making all tile colors the same.
Or, store several frames of monochrome animation in the same picture, animated by changing the palette. Seen in Jon Burton’s Sega games IIRC and in some Amiga demos.
Impossible is the GB version that I got running with my mate Neil. It was only 10fps, but it was Elite. We even had a battery-saving black-on-white mode. We took it to ECTS (when it existed), but no publisher was interested.
It's amazing what the developers could do here. For the construction of the wireframe graphics (clever solution #4), Jon Burton of Traveller's Tales did something similar with "Sonic 3D Blast"'s Sega Logo and "Game Over" animations. The graphics couldn't be copied fast enough, so each picture self-contained all the frames needed for 1/8th of a second of 30 FPS video. (Four frames per image) Even Sega did something similar, to keep the video graphics requirements low in "Sonic 3"/"& Knuckles"'s special stages. (Just one sphere existed, the other colored spheres were palette-swapped, hiding or revealing the star hidden on the ball.)
I just discovered a really amazing game called Spectre on the SNES. It's a first person 3D polygon game running on the SNES without the FX chip. I found it on SNES Drunk's channel. I was thinking of this channel while watching it.
snes drunk makes some of the best videos on this side of the internet but he got that one pretty wrong. the "polygons" in that game are all sprites
That's new to me! Thanks for the tip, it's now on my list of interesting SNES games, cheers.
Horrible game..lol
@@tsvtsvtsv Yeah, I did wonder if what he said was true. That's why I brought it up. It does run very smooth compared to other similarly styled games on the SNES.
Bro, it's mode 7, no polygon in sight in that game.
Hidden surface removal is one of the unique features of Elite. It is achieved by only using convex models for all objects and then doing back-face culling. Only using backface culling is not sufficient if models are more complex. Also, they of course can’t occlude each other anyway.
I see 'narcotics' are missing from the list of goods you could deal in, not surprising given Nintendo's family-focused seal of approval rules back then. All I ever used to deal in as a 12 year old (in the game, not IRL of course), felt very naughty!
I think they changed a few other trade goods too, Liquour became "Beverages" and Slaves became "Robots". Strangely, they only changed the names not the status bytes, so trading in robots is illegal.
Separate graphics memory was common on Japanese computers of the era. The MSX is probably the best known example. On the NES the main benefit is memory bandwidth not having to be shared with the CPU. Fast ROMs existed, but were more expensive. ROM cost was also the reason for the Famicom disk drive.
ROM wasn't all that expensive. The cartridge makers were never using the latest and greatest (the most expensive) chips. RAM was much more than ROM chips. Batman for the C64 was a 4Mb cartridge and IIRC, was released around the same time as this game.
@@tarstarkusz ROM being expensive is the reason they made the Famicom disk drive. RAM was even more expensive, but that has nothing to do with the split graphics and CPU memory spaces.
One if the main reasons why 8 bit systems had limited resolution and colour was not the cost of RAM, it was the available bandwidth. Many had to give the graphics priority over the CPU to even do the low resolutions and few colours they had.
@@kuro68000 I don't disagree that a floppy disk is cheaper than a ROM. If they sell you the disk drive with enough RAM in it, then they can make more money by charging the same amount for a disk that they would have charged you for the ROM cartridge.
My point is that they exaggerate the cost of the ROM.
It doesn't really save on ROM to have the type of setup the NES has. What it can save on, is RAM (though I don't know if it actually does or not, just that it could by mapping the ROM right into the graphics address space)
One way or the other, all the graphics need to be stored on the ROM or on a disk. The C64, either disk or cartridge had to contain the graphics of the game. Same with Colecovision or any other computer or game system.
Graphics memory wasn't common on american and european computers because SRAM was expensive, they chose to make the most cost efficient systems. Compared to the C64 and the ZX spectrum, the NES was disadvantaged because it couldnt modify sprites on the fly without ROM controller or display anything other than 8x8 blocks of graphics with a limited number of sprites. It's really fast and efficient though, but yes to me that NES had too many boring 2D action games with endlessly spawning enemies. Not very easy to make something other than that, but games like elite proved its not impossible albeit with an extra effort compared to programming it for computers, and extra hardware such as the 8K SRAM used for elite.
@@tarstarkusz well ROM chips were insanely expensive next to casette tapes and floppy disks. Maybe over 100 times as expensive as a tape that could store 10 times as much data. In that sense, yes ROM was expensive, and loading data from magnetic storage into DRAM would save you lots of money, but console buyers were more concerned about upfront cost than lifetime cost. The NES was cheap even though the games were not, especially the ones with actual longevity. Nintendo made the FDS to solve this issue, but soon realized that they could make more money and prevent piracy if they kept using cartridges despite the higher cost. Besides ROM PCB prices had fallen a bit although still very much more expensive than magnetic storage, and the customers didnt care about paying extra.
Another brilliant video. Thank you! I loved this on the BBC B and, it’s sublime to see the extent people used to go to to make things work on modest hardware
I admit I did wonder, and now I know. We can be happy Elite for NES exists, but I have to wonder whether the sales prospect for the port was any real incentive for what had to be a massive headache.
I might be off base here and all this I typed here is for nothing, but it sounds like the programmer likes the challenge and has fun with it. He wants the 'headache'. Developers had more say about publishing decisions back then when teams were smaller so it's likely despite it not being financially wise they still did it because of his influence. And chances are since it's a port and made by the original developer it's going to take less time to develop than the original version. The design is already complete, the experience of making it even.
On the BBC Micro Elite used the function keys and came with a key strip. I played it on an analogue joystick with other keys bound to buttons. The NES version looks like the BBC Master / 6502 second processor versions which had at least another 64K and 4Mhz and 3 + 2Mhz processors. The second processor version also did the screen copy thing from the parasite to host processor. I wasted so much time on elite!
12:25 - OMG this explains the emulation glitch I saw the first time I tried this many years ago! The graphics would show the glitched buffered version for a single frame before it corrected itself, so every time the graphics updated they'd blip for a frame with the buffered version making it twitch.
That pallet switch trick to “double buffer” was also used in BBC games.
Great to see this broken down further in its own dedicated video! Good stuff as always!
14:03 is footage of !ArcElite - the 32bit version for Acorn Archimedes and A-series machines, likely a wip from 1990 with wireframe ships (solid in the 1991 release)
so I'm guessing any ntsc copy is just a rumour, Bell would most likely be hosting it xx
And now it's being ported to the TI-84+ CE
Accidently ran this in ntsc mode on my mister and it's kinda fascinating watching the tiles get messed up in the way they do.
As an Elite enthusiast and one that’s played it on almost every platform (including the NES) I commend you on your video. Extremely interesting, thank you! 🙏
Colour cycling used as a frame buffer? That really is a brilliant solution! I wonder if any other game ever did this.
Mega CD Silpheed is still a bit of a mystery to me. I assume the backgrounds are streamed animation. But the game still shifts a bunch of stuff using smaller polygons in real time in the foreground, like no other Mega Drive or Mega CD game can apart from Virtua Racing.
The original Silpheed was running on 8-bit computers that ran slower than the Genesis so presumably if it's using similar code techniques it wouldnt be too much for the Genesis to process especially when the CD is providing some extra grunt and is taking care of the background
on top of the pre-rednered video in the BG, the objects are more than likely pre-rendered sprites, the game moves too fluidly smooth to be real time
Astonishing conversion. Thanks for researching and presenting this. Loving your videos.
Elites frigging amazing. That said frontier/ffe engines are amazing as well with planets and all
I only found out about Elite because Dangerous but I have become obsessed with how impressive the original one is. I want a BBC Micro someday so I can run it in the original hardware.
Elite AGB by quirky is worth a look. Gba port with so so so much more content. I've been playing it since I was in the 8th grade. I have almost a thousand hours in
Would be cool to see versions done for the Sega Master System, the Atari lynx, the Sega Game Gear, the Nintendo Gameboy & the Gameboy Color.
I spent more time than I should on Elite 2. Both games are an amalgamation of code and black magic.
ASP Explorer forever! Haven't reached Elite status yet.
5:05 no, that's Sonic
Oh wow, I didn't even know there was an NES port of Elite
I wonder how it was done....now time to sit back and listen. :)
Thanks for covering this! Truly a lost treasure.
Had this on my zx spectrum back in the day. Amazing game for that time
You might think that the nes could generate vector graphics trough software and then output it’s graphics via the expanded workram as tile sets on screen,but at the cost of speed i suppose,
Also while it is true that the nes is limited to only view 512 tiles atonce on screen,BUT with the mmc5 chip,it can be expanded to over 16000 tiles on screen,thus allowing more graphical details on screen without wasting much processing power but at the cost of extra memory in both ramd and rom.
I'd love to give this game a play, but I only own NTSC NESs. I do have both PAL and NTSC C64s however, and I know the game was ported to the C64... hmmmm
I've played this version in an emulator and while I think it's an amazing port, I have to disagree that the icon interface works better than using a keyboard. I find using the icons to be really awkward, especially in the heat of battle. Having to go to the icon bar to use the missiles or the ECM is kind of a PITA.
I also find the save screen to be confusing. Why are there two columns that you save to? Why isn't there just a single list of slots that you can save to or load from? Why the complicated save to one column, then save to another column?
Should've just used save states, way easier than using in-game save methods, and you can save literally anywhere that way.
@@anon_y_mousse True. I usually use save states while playing, but make an in-game save before quiting. Besides, I wanted to see how they implemented all aspects of the game. I understand why they used the icon bar, since the NES only has two buttons, but the save screen is a mystery to me. It's also quite easy to overwrite a save by accident.
@@lurkerrekrul Technically, it has four button and a D-Pad, but yeah, given the number of actions and the button limitation, it can be a bit daunting. I can't say I particularly like the NES version, but it's still impressive they were able to do it at all. It would be nice if someone ported it fresh and made it everything it could be.
@@anon_y_mousse True, I always forget that the Start and Select buttons can be used as inputs as well.
As for porting and improving it, if you make changes to it in the process, it's not really the NES version anymore. And if that's the case, why not just go for porting the Archimedes version? Better graphics, events happening that don't always revolve around the player, etc. I'd like to say I've played it and it's great, but unfortunately I can't play it with either the mouse or the keyboard and I don't know how to get a joystick to work with it. I don't even know if the version commonly available supports a joystick.
If you want to talk about a modern version of Elite, have you tried Oolite? It really could have been named Elite Ultra. Beyond the base game, which is a virtual copy of Elite with modern graphics and silky-smooth gameplay, there are all sorts of add-ons to add new ships, planets, moons, etc. Other ships go about their business, you can follow them through wormholes, etc.
It can be harder than Elite though. It's not unusual to get jumped by huge swarms of pirates. The police may come to your aid if there are any in the area, or you may be on your own. And the one time I ran into a Thargoid, it wrecked me in a matter of seconds. It was just continuous laser fire no matter which way the ship was oriented.
My only other complaint about it is that while each station offers jobs that you can do for money, almost all of them are out of reach for new players, who are the ones who would most benefit from them. They either need a bigger ship, or more experience. By the time you qualify for most of them, you can make more money just trading a full load of computers or furs, making the jobs kind of pointless. "Do I make 1,000+ credits trading a load of computers in a single jump, or do I take this job that will require me to go halfway across the galaxy for 400 credits?"
@@lurkerrekrul I'd never heard of that game before. Apparently it was inspired by Elite, and it's open source and free. As for porting Elite, I'd actually rather see someone enhance it a little and port it to the Genesis. Imagine having 7 buttons to play it, if you count the start button, and better graphics. I suppose the SNES would be cool too, but I was a Genesis kid.
Never heard of this game or played it for that matter. Looks interesting
In 1984 you were Buck Rogers, Captain Kirk or whatever you wanted. Quite possibly the greatest game of all time.
Shame it didn't also get ported to the SNES, using the chip they used for Starfox they could have recreated the Amiga version's solid polygons.
Thx Sharopolis. Beautifully explained as usual.
I've played the NES one, do they have the missions like in the other ports?
wow I wish i had known about this back then ......wow Now I know why they waited to put wing commander on the SNES
I thought there was a patch, seemed to work fine on my ntsc nes.
This game looks like a smart copy of Star Raiders that was launched in 1979 for the Atari 800
Your video made me wonder how the Game Boy gets away with not having a video buffer.
People who watch your channel Sharopolis concur that this is a "tale" neighborhood! We don't need the American "tie-ulls" around here.
Sweet - I've been waiting for this!
I am so devastated that there is no NTSC version of this... ;_;
And now we have No Man's Sky on Switch which was also an impossible port.
My dad tried and tried. But i did it. And i love its difficulty.
Another superb video, well done. 👏🏻👏🏻💪🏻💪🏻
Does anyone know how Elite's hidden surface removal works? I've never actually played the game. Are all 3D objects convex? If so then it's relatively easy, I think (you can decide on a per-face basis and just check whether it's facing the camera).
Yes they are all convex and they just check what's facing the camera like you said. There's a disassembly of the BBC version here,
github.com/markmoxon/cassette-elite-beebasm#readme
I don't know for certain what's going on in the NES version, but being as they are both done by Ian Bell, it's probably pretty similar.
Ah yes, the NTSC NES is clocked differently so it blows everything out of sync as judging by this video Elite is VERY CPU frequency dependent and does changes on a certain tick. Porting it to an NTSC variant would require actual porting.
That's why ZX Spectrum is better! Speccy have fully color 3D games! :))
Good video but everyone knows the best version was on the Sinclair Spectrum 48k.
Awesome. Cheers!
what do people think you are saying when you say "tile"? I don't understand what it could be confused with?
Based on some of the comments on his other videos, some people think it sounds like "tail" or "tale".
Pretty nifty port
Thanx for unique content. Hello from Ukraine
Awesome!!!
Lot of "hoopy" stuff in the galaxy.
To be fair, a lot of ports to the NES were "impossible", and to the SNES for that mater. Since the game is open source now, one could actually port it to an NTSC NES, and they do have new games written for old consoles all the time.
When did NES elite become open source?
@@Dwedit I don't know if you saw my reply as it looks like YT deleted it, but I did not say that specific version was open sourced merely that Elite was and could be ported. I won't bother posting a link or anything resembling one as I think that's why it was deleted, but it is out there to be perused.
No drugs,and robot slaves instead of slaves
Nintendo also made them change "liquor" to "beverages", and remove an entire galaxy, because one of the (pseudo randomly generated) star systems was called "Arse".
I made it to Dangerous rank on my Commodore 64.
@ 3:32 wtf? is that connor McGregor?
These days, if a game runs poorly, we upgrade the hardware, rather than write more efficient code. I can’t help but think we’ve got things the wrong way around. 🤔
Spending a bunch of time trying to get stuff running on low spec hardware cost money so you would need to know there was a market for it
@@dustinssimpson thanks to chip and gpu shortages, maybe the tide is turning?
@@FatNorthernBigot on PC you can already turn the GFX options and resolution down
Nah, that's just very disrespectful. Today's developers are similar creative if you thinks about stuff like FXAA, SMAA, HBAO, screen space reflexions, virtual displacement mapping, normal mapping, LoD systems etc. These are all performance tricks to make games look better with a fraction of the calculations that you would normally need for the same image. These are all genius level hacks like the stuff Elite does on the NES. Of course there are still crappy games but back in the 80s and 90s there were much more crap. Amazing stuff like Elite were rare master pieces.
@@michaelmuller1433 You found my tepid comment on software/hardware “very disrespectful”? The UA-cam comments section is not for you.
Mission:impossiport
Okay...something very puzzling is happening here that you might be able to explain. The polygons on display here appear to be filled in and not of the hollow variety seen in games like Starblade for the Sega CD. The question is are they filled polygons or are we seeing rudimentary culling taking place? For example, when a ship does a 360° turn you cannot see through the ship and it appears that it is made from solid material.
It is culling, I could be wrong but I believe Elite was the first game to do it.
They are see through but it's using hidden line removal.
Clever coding to get this on the NES for sure!
Maybe.
Agreed. Especially considering that most games that started on a computer never translated well to the NES.
@@lordevyl8317 one of the big features of the NES is scrolling. Games with it will generally be better on the NES than a PC.
@@hicknopunk I specifically mean games that started on the C64, which also had scrolling, not a DOS PC. PC didn't mean the same back then as it does now. PC just meant personal computer which included all home computer architectures, not just IBM. Plus scrolling didn't work when they tried to port flight simulators like Infiltrator, but that's primarily because the NES controller was not really meant for those kind of games. You really need a flight stick or a joystick for those games.
@@lordevyl8317 yeah, wing commander was barely controllable on the SNES because everything has to be translated from a keyboard to a controller.
Elite on a NES controller is equally nuts. I was talking in general though about scrolling games being often better on the NES/PC. I had a mac iici and it could do software scrolling, but not on a hardware level.
i wonder if someone could port elite to the snes...
Muito interessante
Bene
The two weird things about NES Elite are: 1991 and PAL only. Not only is that pretty late given the 16-bit era was upon us, but also the NES didn't sell bucket loads in PAL territories either. So I guess my question is: why?
Overall the NES had pretty middling success in the UK but it did see a bump in sales here in 1990 when it was bundled with the TMNT (or TMHT) game. Although it didn't enjoy the dominance it had in other territories it actually sold similar numbers by end of life to other systems like the Master System and Commodore Amiga (about 1.5 - 2 million apiece) - the key difference being that it mainly started selling late in its life, post 1990, when it became more of a 'budget' system - which is probably why this release seems late to others when it was actually at the peak of NES interest in the region.
While the 16 bit era was technically 'here' with the Megadrive, Amiga and ST, the SNES hadn't been launched yet and Elite was already ported to the Amiga and Atari ST. Also 1990/1991 was a transitionary time in the UK at least, where even 8 bit computer games were still selling very well, so 8 bit was far from dead. Rather it was more seen as a cheaper option vs 16 bit as the premium option - hence Sega re-releasing the Master System (II) around the same time of the Megadrive launch, kind of an Xbox Series S vs Series X situation.
Elite was a popular enough game in the territory to be ported to just about everything - Megadrive and SNES versions were started too but never released (maybe because by 1993 the sequel was out on 16 bit computers and it was just a bit too outdated and maybe because it was a more computer-oriented game and NES sales had been lacklustre).
That's my take anyway.
super fx?
No.
Suberb video!
elite legend zx 128k
It's not impossible. The PAL NES did it just fine. I actually remember going through Hell trying to get it to run on my PC back in the day. Had to buy a newer one just for Elite.
Why impossible? The nes had more power overall with hardware chips than the typical 8 bit computers of the earlier 80's that the game originally came out on...
Vector games use raw CPU power and writing direct to the frame buffer. The architecture of some consoles doesn't suit that. C64 was worse for such games than the Spectrum for instance. Even the Commodore Plus4 was better than the C64.
Tilemaps. The NES wasn't made for raw vectoring, just raw reading of premade art off the CHR ROM.
The NES also had nearly no ram.
NES has no framebuffer that's directly accessible to the CPU. That's the reason it's considered an "impossible" port.
It's low on RAM, the memory required to manipulate complex data structures on the fly. Its also a tile based system, as explained in the video, so you cannot just draw vectors on the screen.
Did you watch it?
Infohazard
First XD LOL ... 1. View | 1. Like | 1. comment XD great work love your videos
While you admit you know nothing of the technicalities of how Elite works, this video also demonstrates you are a long, long, long way away from being equipped to make...this video ;)
it was boring when it was launched, its still boring now..
It did feel boring to me by the time it was released on the NES. I appreciate the difficulty and achievement of a NES port but having experienced the OG I did not get the same feeling at all. It was far from boring in 1984 on the BBC micro, surviving a Thargoid attack playing only on keys. Things are relative my friend .
like the fred dibnah of retro gaming