Reconstructed Commander Keen 1-3 Source Code

(pckf.com)

59 points | by deevus 4 hours ago

5 comments

  • kqr 21 minutes ago
    > They used the same routines they wrote for their day jobs at Softdisk in the Keen code. [...] Most of the IDLIB.C code must have come directly from the PC version of Dangerous Dave. [...] there is some extremely strong evidence showing that the id founders used Softdisk's code in their own game. Sure, it's not the code responsible for the smooth scrolling, but it is code they probably didn't have the rights to use.

    Huh, this is interesting. Is someone able to provide more detail?

    The pace at which Id produced games has always been an inspiration for me. Large amounts of code reuse seems like an important clue as to how they were able to do that.[1] But how were they able to reuse code effectively to such a degree?

    [1]: The other clues I have so far are Romero's legendary tool-making abilities, and Carmack's tendency to produce code that gets computers to do things they couldn't before.

  • guidedlight 12 minutes ago
    These games ran so well on IBM XT computers. Honestly, seeing these games made me realise PC’s could be used for gaming.

    Carmack was a genius.

  • geon 43 minutes ago
    > I had to find names that would allow the variables to appear in the correct order. So after some trial and error, I wrote a small throw-away program that generated a bunch of variables with random names and ran that list of variables through the Turbo C++ compiler. Disassembling the generated .OBJ file showed me which order these variable names would produce

    Nice puzzle!

    Is the ordering the only thing that can be recovered from the binary? If the hash is available anywhere, it should be possible to brute force the exact original names.

  • newsre4der 57 minutes ago
  • oaiey 1 hour ago
    Keeping commander keen alive should be a priority project for humanity!
    • bitwize 44 minutes ago
      Wouldn't be surprised if you see some PRs from Carmack on such a project.