I continue to advocate for the fact that Michael's code is not bad at all. There are some anti patterns in it for sure, what engineer hasn't fallen into those traps. The fact is Michael is an infinitely better programmer than many of the senior developers I've worked work in my career. I truly sing high praise to his software development capabilities, not just coding itself but building the product, delivering results, and getting it out the door, especially a simulator like this with no reference points, no formal training, no help? Sure it took him 40 years and it's in BASIC and uses gosub everywhere. But the damn thing works and for anyone who took the time to learn the language and structure as I did, you will see that it is actually very enjoyable codebase to work with.
The code is bad by virtue of it putting his wonderful game at risk because no one can port it.
This story is it's own litmus test. Your story is only as notable as bad as Michaels code is!
Don't get me wrong. It seems fantastic game and like others I'm most interested in playing the original DOS version.
But good programs, written by good programmers are not necessarily made with good code!
the difference between gosub and if blocks calling a function is more academic than practical, you still have a main event loop sending your path of execution someplace based on something that happens.
I might not be a basic practitioner, but as someone who as written serious things in bash and powershell, I can see the allure.