Rich Talbot-Watkins wrote:There are many ways to write 3D code and I don't doubt that Julian Bushell did it differently to Bell and Braben (and probably not quite as well).
Aha, why "probably not quite as well"? I see no reason to asume that...
Rich Talbot-Watkins wrote:Stylistically it's certainly a lot like Elite, particularly the scanner (although the game itself is rather different). But I always felt it was a bit rich that Acornsoft protested so much when they'd made a business out of releasing unlicensed conversions of arcade games (Snapper/Pacman, Hopper/Frogger, Planetoid/Defender, Carousel/Carnival, Bouncer/Q*Bert, etc etc etc), and had even been forced to make changes due to IP infringement. Not sure why they didn't compare the source code of the two titles if they were so certain, though we all know that the real winners would've been the lawyers.
It was Superior who protested, not Acornsoft, right? The original people from Acornsoft were at that point likely not involved any more. But Superior also based a lot of their early games on classics.
As to the scanner, that was apparently not an idea by Braben and Bell but someone from Acornsoft... (Someone mentioned it in a comment somewhere with a story on Elite, I saw it recently but forgot where, shouldn't be too hard to find). I have received comments that the history of Elite is different than portrayed, though details are elusive (mainly because of the inane libel laws in the UK!). I suspect they had more input from people at esp. Acornsoft, than is told... What is clear from what Braben tells about Elite, is that he is a story teller, and not someone who cares a lot about details and getting it right. He is I would wager the person behind the story in Spufford's badly researched "Backroom boys". At least badly researched w.r.t. the part with Elite. My sources tell me that Spufford had 1 source for that part of the book upon almost everything in that part of the book was based. Others whom he consulted later were quite annoyed at all the inaccuracies but it was too late, at least in that for Spufford the deadline was more important than facts.
By the way, I found my Elite disassembly with comments, there are almost no comments with the line drawing code on the disassembly itself, my notebook with improvements on the general drawing code is either lost, or somewhere else, I will look further. There are a few loose pages with my notes on a general drawing code but all snippets (and could be my own drawing code but it doesn't matter, would be a reference). I noted the bytes/cycles saved, but I'm not sure if that is compared to the Elite code or with my own earlier implementation, I would need to check. But there is also a fairly complete section which is definitely about just improving the Elite code, with analysis and improved code for the horizontal drawing. I had a look at it, seems to be OK from checking if I didn't make mistakes. I saved quite a lot of bytes and made the subroutine a lot faster. There are several iterations of improvements so I need to check which is which but that particular section of code in Elite is not so impressive. So need to check which iteration of improvement but on my notes it says: original 29 bytes and 33,34 cycles (or 34,35 cycles, I mention both on that page), my new version: 17 bytes and 23,24 cycles. [ Those numbers are for the code in the subroutine that I altered, there is a bit more code that I denoted with 'left, middle,right' that I left unchanged, so the total speedup would not be 1.5 times, but more on this later ]
So way more than 3 bytes saved there already.
I will make some pictures later, this will probably come after a trip so end of Sept. or in Oct.