Become a fan of Slashdot on Facebook


Forgot your password?
Classic Games (Games) Open Source Games

id Software's Original 'Softdisk' Games Open Sourced 100

An anonymous reader writes "The original games developed by John Carmack, John Romero, and Adrian Carmack at Softdisk, where the legendary programmers originally met and went on to start id Software, have been open-sourced under the GPLv2. The games are now owned by Flat Rock Software and the open-source titles available are Catacomb, The Catacomb, Catacomb 3D, Catacomb Abyss, and Hovertank3D. The oldest of these games are written in Borland Turbo Pascal while the others are in Borland C++. The source-code can be downloaded from GitHub."
This discussion has been archived. No new comments can be posted.

id Software's Original 'Softdisk' Games Open Sourced

Comments Filter:
  • hehehe (Score:5, Funny)

    by Anonymous Coward on Saturday June 07, 2014 @12:04PM (#47186421)

    Will John Romero make me his bitch for sucking this code down?

  • Till now I've been limited to playing them in an Apple II emulator; which some of these were the reason I bought the old Softdisk collection in the first place. These are the true roots of id Software; and some of the games they'd make later clearly had their roots here. Dangerous Dave? I first encountered him on Softdisk! Glad id could acquire whatever rights they needed to.
    • Apple II? These are all PC games from the early 90s.
      • by Desler ( 1608317 )

        Catacomb was an Apple II game that was ported to DOS. It was also from 1989.

        • by DewDude ( 537374 )
          Softdisk #114.
      • by DewDude ( 537374 )
        Softdisk had a very long history of publishing their monthly Apple II "magazette". While the guys did work on the PC side of that; they also developed A LOT of stuff for the Apple II side. Even after they left, some of the properties kept getting used and credited to the original guys. I never had the PC edition of Softdisk. But some of these games did in fact start on Apple II, or were ported to the Apple II or PC later.
    • Do Android phones support Apple ][ floppies? Where is Woz when you need him!
      • by DewDude ( 537374 )
        Yes, they're just .dsk images. They make emulators for Android that will run on probably just about any smartphone out there.
  • Haven't compiled any Pascal code since the mid-80s. Anyone know where you can even get a Pascal complier these days?


      • by Reziac ( 43301 ) *

        Do they still have the old versions anywhere on the site? they used to give them away.

    • by gmuslera ( 3436 )
      Maybe it will compile in fpc ( But probably will be tied a lot to DOS to not being able to run outside DOSEmu, probably an old Turbo Pascal version to compile it should be the best choice. Or take out those ties and make it run in modern OSs.
    • by Anonymous Coward

      You will find the original Borland Pascal 7.01 lurking somewhere on the internet, on some "VINTAGE" something named url. Easily to be found via "google".

      Yes, there is freepascal, yes there is delphi, ..

      But Pascal really - and only - rocks on a rock bottom DOS-WFW3.11 machine with ISA slots, Creative Labs SB16 , I have one machine prepared and in operation.

      And I do code in Pascal, Assembler(tasm) and interface with the real world[1] what do I need a raspberry Y for .. ;)

      Ed Nisely was so kind to open source h

    • Delphi (OO Pascal) is still going strong, and even targets Android now.
      • Who in their right mind would want to program in Pascal these days.

        IIRC you had to declare every single variable at the beginning of the program.

        That's nice if you are using a small code base, but anything larger and things get hairy really quickly.

        • At the beginning of a procedure/function. It also helps that Pascal supports nested functions.

          If the functions are that long then there is something wrong with the said functions.

          More modern dialects of Pascal are IMHO vastly superior to C.

        • Re:Wow.. Pascal. (Score:5, Interesting)

          by FlyingGuy ( 989135 ) <> on Saturday June 07, 2014 @05:36PM (#47187607)

          Wow, really?

          It is called analyzing your project and mapping the thing out before you write a single line of code. Programming is a discipline as well as an art and a science.

          I was once talking to a guy and he as complaining the compiler kept erroring out on "symbol table is full". I asked to look at his code and OMG he was declaring variables by the butt load, but the thing of it was they were all subtle variations of the same thing, and lots and lots of structs. So I should him how to make a linked list of a single of structs with variants. I explained that with little effort these would be declared on the heap and that running out of space in the symbol table would be a thing of the past. Also he was no longer limited by the stack and that he had all the memory the machine could muster for variables.

          These days troubleshooting code has become such a chore simply because languages these days let you declare variables anywhere so you have to track down where things declared just to figure out what is happening and dynamically typed languages are the absolute worst thing to come along simply because they only add to the confusion since the compiler or intepreter has to try and determine intent and they all pretty much suck at doing it.

          I have written pascal programs in excess of 100K lines broken up into many modules and I actually find them easier to debug than other so called modern languages simple because the discipline of declaration forces you to really think things through, rather than just popping things in here and there in an ad-hoc manner.

          • Interesting. Why was the symbol table implemented in such a way that it could be full? Is it not dynamically allocated?

          • by Reziac ( 43301 ) *

            As a non-coder but interested observer ... I've noted that Pascal programs never, ever take down the system when they abend. Now I'm wondering how much of that is a result of enforced upfront planning.

            • Hmm you user the term ABEND

              Were you ever a Novell CNE? The term of course means, Abnormal End, but it is rare to see the usage outside of the Netware ecosystem.

              As to Pascal Programs failing gracefully and not taking the entire system with it... I think that might have been the advent of actual protected mode operation -v- declaration and discipline. In my early days of my programming career first learning how to use pointers effectively I would routinely crash my machine by running a pointer into the OS

              • by Reziac ( 43301 ) *

                Nope, not a CNE, tho a good friend is a Netware 3/4.x maven, and I followed Novell (went to all their presentations when I lived near Los Angeles) up thru Netware 6 when IMO they went off the rails. So a little exposure down the years. But I probably picked up abend from reading programming conferences on the BBS, back when I was still using the 286 for everyday (I still have a DOS setup... on a P4...!!) Great, now I feel an urge to mow the lawn. :D

                Since rebooting is against my religion, and I'm hypersensit

        • If you don't declare your variables explicitly, then you are building a "Bug Farm".
          Never use undeclared variables, you will regret it...

    • Freepascal, and an Open-source version of Delphi

      http://www.lazarus.freepascal.... []

    • If that's your thing, you can try GNU Pascal. Quoting wikipedia:

      GNU Pascal (GPC) is a Pascal compiler composed of a frontend to GNU Compiler Collection (GCC), similar to the way Fortran and other languages were added to GCC. GNU Pascal is ISO 7185 compatible, and it implements "most" of the ISO 10206 Extended Pascal standard.

      • by Reziac ( 43301 ) *

        How does it differ from FreePascal? (Use small words; I'm not a coder, just an interested bystander.)

        • FreePascal is a "complete" compiler that was ported on different systems.
          GNU Pascal is a frontend to gcc: it takes the pascal input, translate it in some intermediate language that gcc can understand, and let him finish.
          This mean that FreePascal have to be designed to produce outputs for all platforms, while GNU Pascal only have to follow gcc evolutions, and is instantly able to build on all supported gcc targets.
          To summarize, they are different software for roughly the same purpose. I believe that more
    • the internet
    • Ever hear of it?

    • by Nyder ( 754090 )

      Haven't compiled any Pascal code since the mid-80s. Anyone know where you can even get a Pascal complier these days?

      -jcr []

      It jumps to the website, but unlike the other one that goes to delphi, these actually give you the older versions that will work.

      Need to sign up to download though. []

      Dos version there also.

  • I can't wait until someone ports them over to Google Native Client so I can play them in my browser.
    • Surely dosbox has been ported.

    • I can't wait until someone ports them over to Google Native Client so I can play them in my browser.

      Gah! Of all the possible environments, you want to play them in a web browser.

  • I've love to see them re-release the Commander Keen series, as open source. I miss those games. :-)

    • Unless the opensource part is an actual requirement for you, you can get them on steam (sadly windows only) for a very reasonable price.
      Commander Keen Complete Pack []
      • by DrYak ( 748999 )

        The point of having the source would be to easily port the game with SDL to any other platform.

        • by Anonymous Coward

          but DOSBox is ported to many, many, platforms- So I mean, having the original source won't make it any more portable.

          If you want to run Commander Keen on whatever OS you just port DOSBox to it.

          • The problem with DOS Box, it that's a full blown emulator. You're emulating a complete clone of a PC (which take some performance hit, specially if you consider playing the game on a handheld device, where DOSBox still has a significant impact on battery life).
            Whereas 2D game engines of the era aren't extremely complex and could be ported to modern hardware without excessive work.

        • "easily" is a relative word. If it's full of assembly and dependency on low-level system calls, it's still gonna take some time.
          Anyway, for reference, although not technically like the original, there are open-source projects that might be of interest:
          • (GPLv3)
          • (GPLv2)

          I tested the second one, and it handle the original game files (available through steam) pretty well. The first one might, too, but I'm way too lazy to build it right now

    • I've love to see them re-release the Commander Keen series, as open source. I miss those games. :-)

      I think there was some talk about the possibility of releasing the Keen sources. The code may still be around. One might want to poke Carmack/Romero to get this going.

  • It is great to see more of ID's early work opened up.

    A while back there was even some talk about releasing the hard drive images from some of their NeXT computers used to create DOOM. []

    I wonder if anything will come of that? It would be doubly awesome right about now because the NeXT emulator "Previous" has gotten far along enough where it can actually boot to a 68K NeXTSTEP desktop!

    • by Reziac ( 43301 ) *

      Somewhere among my antique disks I have another old shareware game by Carmack & Co -- a really early attempt at visual 3D (walls, not just lines), that looked and played rather like the old BBS game "Wizard War"... looked a bit like Catacomb 3D but the walls were just flat colors. Maybe it became one of these lately released, but none of the names sounds familiar, and damned if I can remember what it was called. :(

  • I'd have KILLED for some of that source! But today? Naaaah ...

  • I sold my first work to them. Od course, they went on to bigger and better ...

"Remember, extremism in the nondefense of moderation is not a virtue." -- Peter Neumann, about usenet