5 ms·
Very curious how Mark Moxon was able to understand and comment so much of the code. Just... a very big fan with a lot of free time? No idea how this will be f
by mgkimsal 2y ago
Very curious how Mark Moxon was able to understand and comment so much of the code. Just... a very big fan with a lot of free time?
No idea how this will be formatted, but the level of understanding in the comments is quite deep for just having access to the original source. Or did the original source have this level of comments as well?
How long does a project like this take to comment?
.QQ22
SKIP 2 ; The two hyperspace countdown counters
;
; Before a hyperspace jump, both QQ22 and QQ22+1 are
; set to 15
;
; QQ22 is an internal counter that counts down by 1
; each time TT102 is called, which happens every
; iteration of the main game loop. When it reaches
; zero, the on-screen counter in QQ22+1 gets
; decremented, and QQ22 gets set to 5 and the countdown
; continues (so the first tick of the hyperspace counter
; takes 15 iterations to happen, but subsequent ticks
; take 5 iterations each)
;
; QQ22+1 contains the number that’s shown on-screen
; during the countdown. It counts down from 15 to 1, and
; when it hits 0, the hyperspace engines kick in
- MarkMoxon 2y agoThis should answer your question: https://elite.bbcelite.com/about_site/about_this_project.html https://elite.bbcelite.com/about_site/about_this_project.htm... Some parts of Elite were documented prior to my project, particularly the procedural generation and ship data blocks. But none of it was documented to this level; it's taken time, lots of it! I love this game, and I figured it deserved a proper homage. Or, to put it another way, this is a labour of love. :-)
- WillAdams 2y agoHave you considered turning this into a book? If you used Literate Programming principles: http://literateprogramming.com/ http://literateprogramming.com/ then it could become a seamless narrative which could be very expressive.
- MarkMoxon 2y agoYeah, it's a bit tricky when the code you are documenting is copyright, and you aren't the copyright owner. Website is one thing, but publishing a book? I suspect that is asking for trouble. Also, books can't be updated, and I update this stuff all the time...
- WillAdams 2y agoMaybe just make a PDF and publish that to the site? I am doing that at: https://github.com/WillAdams/gcodepreview/blob/main/gcodepreview.pdf https://github.com/WillAdams/gcodepreview/blob/main/gcodepre... (but admittedly it's a very different project and no copyright complexities)
- MarkMoxon 2y agoHonestly, for me personally and on this specific project with its specific history of copyright issues (look it up!), that would be crossing the line into disrespecting the copyright situation. Websites are ethereal, in a sense, as they are easy to switch off and hard to copy and distribute. PDFs and books are the opposite. Sure, websites get archived and repos get forked, but I think PDFs and books fall into a different area. I run these projects very cautiously and very carefully. I don't think publishing a book or PDF containing copyright material is a good idea in this instance, to be honest!
- kstrauser 2y agoI understand and respect your opinion there. In the spectrum of copyright violation, I might be willing to let my kid install a copy of a game I bought on their own computer, but I would definitely not sell copies of it. But it’s a massive bummer to me that copyright is preventing someone from publishing their research on a 40 year old game that hasn’t been available for sale in decades. I don’t know exactly where that lands on my moral spectrum, but I put it far closer to the left than to the right, legalities aside.
- WillAdams 2y ago
- mgkimsal 2y agoThank you for your service! ;) Seriously, thanks for the details. This was a bit of a pivotal game for me in ... '86 IIRC. It's been interesting to see so much of a following over the decades. Just confirms that whatever was intriguing to me connected with so many other people too!
- anyfoo 2y agoThe comments you pasted in particular are about stuff that makes sense and that someone who wants to fully understand some source code can readily figure out, if they put their mind to it. It's when things don't make sense that it gets interesting, because then you have to guess the original author's intentions, suspect a bug, question your understanding, or deal with other uncertainties. That's usually when a bunch of question marks start to appear in reverse engineering comments (e.g. "increment xyz???")...
- MarkMoxon 2y agoI keep a list of everything that isn’t 100% clear in my commentary, here: https://elite.bbcelite.com/about_site/to-do_list.html https://elite.bbcelite.com/about_site/to-do_list.html This is not a big list, and these are all pretty subtle aspects of the game. After 4 years of analysis, I think we’re pretty close to understanding pretty much everything, which is nice.