Slashdot Mirror


id Software's Original 'Softdisk' Games Open Sourced

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."

57 of 100 comments (clear)

  1. hehehe by Anonymous Coward · · Score: 5, Funny

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

    1. Re:hehehe by Dogtanian · · Score: 2

      OP's wasn't that great a joke, but it was a fair reference to the infamous slogans used in pre-release hype for the game Daikatana- "John Romero's about to make you his bitch" and "Suck it down".

      Aside from how this would have come across at the time, it probably backfired even worse when the game was significantly delayed and turned out to be a damp squib when it did arrive, something that must have rendered the apparently arrogant hype- and by extension, Romero- laughable and hard to take seriously, even if it was tongue-in-cheek and Romero later expressed regret at (reluctantly) approving the slogans in the first place.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    2. Re:hehehe by crywalt · · Score: 1

      If I had mod points I'd upmod the original comment for being hilarious.

    3. Re:hehehe by Anonymous Coward · · Score: 1

      I'm well over the 100 women mark and compared to the garbage he gets, I'm fucking supermodels.

      The ones whose names end in ".JPG" don't count.

  2. Awesome! by DewDude · · Score: 2

    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.

    1. Re:Awesome! by jeepies · · Score: 1

      Apple II? These are all PC games from the early 90s.

    2. Re:Awesome! by Desler · · Score: 1

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

    3. Re:Awesome! by DewDude · · Score: 1

      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.

    4. Re:Awesome! by DewDude · · Score: 1

      Softdisk #114.

    5. Re:Awesome! by Anne+Thwacks · · Score: 1

      Do Android phones support Apple ][ floppies? Where is Woz when you need him!

      --
      Sent from my ASR33 using ASCII
    6. Re:Awesome! by DewDude · · Score: 1

      Yes, they're just .dsk images. They make emulators for Android that will run on probably just about any smartphone out there.

    7. Re:Awesome! by Desler · · Score: 3, Informative

      Can't tell if trolling. First, the Apple II version was released in 1989 while the DOS port was released in 1990. The in 1991 an Apple IIgs version was released. Also, the Apple II version had 15 levels while the DOS only had 10. I was not wrong about anything.

    8. Re:Awesome! by Desler · · Score: 1

      And if you want citations:

      http://en.wikipedia.org/wiki/C...

      It was originally created for the Apple II, and later ported to the PC

      http://abandoneddosgames.blogs...

      John Carmack, the amazing programmer and lead in games such as Wolfenstein 3D, Quake, and many others, released this for the Apple II in 1989. Later on, it was ported to MS-DOS

      http://www.mobygames.com/game/...

      Apple II

      Published by Softdisk Publishing
      Country
        United States
      Release Date
      1989
      Comments
      Softdisk compilation #114

      DOS

      Published by Softdisk Publishing
      Developed byPC Arcade
      Ported byGamer's Edge
      Country
        United States
      Release Date
      1990
      Big Blue Disk #50
      Published by Verbatim PC disk
      Developed byPC Arcade
      Ported byGamer's Edge
      Country
        Australia
      Release Date
      1990

      Sorry, junior but you're a fucktard.

    9. Re:Awesome! by Nyder · · Score: 1

      Can't tell if trolling. First, the Apple II version was released in 1989 while the DOS port was released in 1990. The in 1991 an Apple IIgs version was released. Also, the Apple II version had 15 levels while the DOS only had 10. I was not wrong about anything.

      Actually you are a bit wrong.

      The Apple II version did have 15 levels. But the PC version had 30 levels. The PC Demo version has 10 levels. And they were different, so technically the PC had 40 levels.

      How do I know? You linked the wiki in your reply to yourself and it says so.

      Catacomb consists of fifteen levels in the Apple II version, ten levels in the PC demo version playable online on sites such as RGB Classic Games, and thirty levels (with a different set of level designs) in the full PC version.

      from: https://en.wikipedia.org/wiki/...

      Third Paragraph.

      So exactly, since you and the AC fucked up here, I guess you both are the junior fucktard.

      --
      Be seeing you...
    10. Re:Awesome! by Desler · · Score: 1

      My original post said nothing about number of levels.

  3. Wow.. Pascal. by jcr · · Score: 1

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

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  4. Re:Wow.. Pascal. by TheRealMindChild · · Score: 2
    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
  5. Play them in my browser by randomErr · · Score: 1

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

    --
    You say things that offend me and I can deal with it. Can you?
    1. Re:Play them in my browser by Mark+J+Tilford · · Score: 1

      Surely dosbox has been ported.

      --
      -----------
      100% pure freak
    2. Re:Play them in my browser by jones_supa · · Score: 1

      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.

  6. Re:Wow.. Pascal. by gmuslera · · Score: 2

    Maybe it will compile in fpc (http://www.freepascal.org/). 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.

  7. Re:Wow.. Pascal. by Anonymous Coward · · Score: 1

    It's all C, there doesn't appear to be any C++. 16-bit DOS real-mode C. With bonus assembly.

  8. Re:Wow.. Pascal. by ledow · · Score: 1

    The C code, a copy of Ralf Brown's Interrupt List (and associated DOS documentation), and a pulling back of "optimised" asm to boring old "slow" C code and you'd be up.

    I'd give it a month before someone's made an SDL version without any asm left in it at all.

  9. Re:Wow.. Pascal. by Anonymous Coward · · Score: 1

    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 his book [2]

    And actually there is really great literature out in the wilde like Buchanon's applied PC interfacing .. and Interfacing Sensors to the IBM PC (it's more like an excelent sensors handbook)

    The ISA-Bus has some advantages over GPIO, with bus drivers you can do GPIO, however you can also DMA and PIO based data transfer.

    Also to interface ISA-cards(Sound, NE2000) to other projects is mostly fairly simple when starting with port based i/o.

    No big devellopment environment just Borland Pascal, TASM and Turbo C++

    Be aware of the delay loop error on machines with more than ~200Mhz you need to apply a patch (also found on the internet try searching for xfdisk - which was written in borland pascal)

    [1] http://linuxgazette.net/124/du...
    [2] http://softsolder.com/2011/10/...

  10. Re:Wow.. Pascal. by phantomfive · · Score: 1

    Delphi (OO Pascal) is still going strong, and even targets Android now.

    --
    "First they came for the slanderers and i said nothing."
  11. Re:Wow.. Pascal. by landoltjp · · Score: 1

    Freepascal, and an Open-source version of Delphi

    http://www.lazarus.freepascal....

  12. Commander Keen by kimvette · · Score: 1

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

    --
    The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
    1. Re:Commander Keen by Cley+Faye · · Score: 1

      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

    2. Re:Commander Keen by jones_supa · · Score: 1

      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.

  13. Re:Wow.. Pascal. by Cley+Faye · · Score: 2
    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.

  14. ID's NeXT hard drive images? by linebackn · · Score: 1

    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. http://serverfault.com/questio...

    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!

    1. Re:ID's NeXT hard drive images? by Reziac · · Score: 1

      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. :(

      --
      ~REZ~ #43301. Who'd fake being me anyway?
  15. Back in The Day ... by Toad-san · · Score: 1

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

  16. Ports by DrYak · · Score: 1

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

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
    1. Re:Ports by Anonymous Coward · · Score: 1

      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.

    2. Re:Ports by Cley+Faye · · Score: 1
      "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:
      • http://clonekeen.sourceforge.net/ (GPLv3)
      • http://clonekeenplus.sourceforge.net/ (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.

  17. Re:Wow.. Pascal. by hduff · · Score: 1
    --
    "I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
  18. Re:Wow.. Pascal. by ganjadude · · Score: 1

    the internet

    --
    have you seen my sig? there are many others like it but none that are the same
  19. Re:Wow.. Pascal. by KingOfBLASH · · Score: 1

    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.

  20. Sofdisk - my first sale by Registered+Coward+v2 · · Score: 1

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

    --
    I'm a consultant - I convert gibberish into cash-flow.
  21. Re:Wow.. Pascal. by dunkelfalke · · Score: 1

    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.

    --
    "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
  22. Wow.. Google.` by nurb432 · · Score: 1

    Ever hear of it?

    --
    ---- Booth was a patriot ----
  23. Re:Wow.. Pascal. by FlyingGuy · · Score: 5, Interesting

    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.

    --
    Hey KID! Yeah you, get the fuck off my lawn!
  24. Re:You don't have to do that by rev0lt · · Score: 1

    I still support some Delphi 7.0 applications I built decade ago. Yeah, a decade ago, Delphi 7.0 was *already* "obsolete". They still work today, they still produce actual meaningful results. Try using a VB6 application (or a C++ application) from the same period on a modern windows system. You'd be surprised how well designed Delphi is. And Embarcadero really did everything they could to make sure the product would die.

  25. Re:Wow.. Pascal. by Khashishi · · Score: 1

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

  26. Re:Wow.. Pascal. by FlyingGuy · · Score: 2

    Remember the old days of 64K code and data AND segment offset, and LIM sepc?

    --
    Hey KID! Yeah you, get the fuck off my lawn!
  27. Re:Wow.. Pascal. by Nyder · · Score: 1

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

    -jcr

    http://turbo51.com/turbo-pasca...

    It jumps to the embarcadero.com 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.

    https://thepiratebay.se/torren...

    Dos version there also.

    --
    Be seeing you...
  28. Re:Wow.. Pascal. by Reziac · · Score: 1

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

    --
    ~REZ~ #43301. Who'd fake being me anyway?
  29. Re:Wow.. Pascal. by Reziac · · Score: 1

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

    --
    ~REZ~ #43301. Who'd fake being me anyway?
  30. Re:Wow.. Pascal. by Reziac · · Score: 1

    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.

    --
    ~REZ~ #43301. Who'd fake being me anyway?
  31. Re:Wow.. Pascal. by Cley+Faye · · Score: 1

    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 details will make it technical :-)

  32. Re:Wow.. Pascal. by Reziac · · Score: 1

    Ah. So GNU Pascal is essentially a translator?

    --
    ~REZ~ #43301. Who'd fake being me anyway?
  33. Re:Wow.. Pascal. by FlyingGuy · · Score: 1

    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 space ( MS-DOS 2.x and 3.x ) on 8088 machines and corrupting all sorts of data and code structures.

    Having programming now fr more years that I care to admit to at times I have seen the proliferation of the mind set that simply ignores things like structure and massive abuse of the OOP model. These days you start looking through code and see variables created on an ad-hoc basis for no other reason than laziness when 20 minutes of code refactoring would have solved the problem and the system would have made far more sense and in the end would ave performed faster and been more logically cohesive.

    --
    Hey KID! Yeah you, get the fuck off my lawn!
  34. Re:Wow.. Pascal. by Reziac · · Score: 1

    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 hypersensitive to performance, I have a foul opinion of unstable or inefficient programs, and yeah, I've seen the "It compiles? Ship it!" mentality... so I applaud your principles. And I've read Abrash on false efficiency (which I strongly suspect affects Mozilla from top to bottom) -- that was an eye-opener... ah, here it is, http://www.jagregory.com/abras... -- (I have the book... and a whole collection of old compilers, I think the newest is the last version of Watcom).

    I have the Pascal source for a very old (1991) specialty database that I still use (and have not yet found anything to replace it)... there's not a comment in it, but I've read through it and (being so familiar with running it) can pretty much puzzle out what stuff does, because the author took care to make sense.

    --
    ~REZ~ #43301. Who'd fake being me anyway?
  35. Re:Wow.. Pascal. by cwsumner · · Score: 1

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

  36. Game engines by DrYak · · Score: 1

    2D platformer of that era don't have extremely complicated engines.
    more or less, the only assembler parts and low-lever system calls you're going to see would be the graphics (mostly: gfx-mod init, drawing sprites, drawing tiles. so mostly a bit of bliting) and sound (playing the music. here it's pretty much low level, with music specifically written for hardware, like fm synthesis).
    compare this to 3D engines (where big bunch of assembler handle drawing a whole 3D scene so tons of code, but music is using some 3rd party middle ware for midi playing).

    Rewriting the graphics routine using SDL isn't that much complicated. It boils down to rewriting the 2-3 tiles & sprite blitting routine with modern SDL (compare to a 3D engine, where the best course is to scrape it and rewrite a different engine using opengl).
    Music might be harder (probably the best course is to use an adlib emulation library).

    I happen to have the necessary skill set (it's been a hobby of mine, both back then and now, both writing mine and hacking others') but I won't necessarily have the time :-(

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  37. DOSBox by DrYak · · Score: 1

    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.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]