So I’ve been thinking, the DOOM game code was made available openly and if I am not mistaken, was based off the linux version.

Is it right to say that’s why DOOM got incredibly popular with the “It can run on anything i.e a cash machine”

I say this because we all know Linux is a rock solid and efficient system compared to the bloat of Windows.

If anyone can enlighten me, This is pretty much why you can find DooM on almost any platform BECAUSE of its Linux code port roots?

Consider me a nutcase but I genuinely thought this was the case.

  • 4ffy@lemmy.ml
    link
    fedilink
    arrow-up
    28
    ·
    edit-2
    6 months ago

    The reason that Doom is so portable goes beyond Linux and is an artefact of its development. id developed Doom on NeXTSTEP (i.e. Unix) machines and obviously targeted DOS. This is pretty unique among DOS games at the time and required id to write as much code as possible in a platform agnostic way. This means that the main engine does not care about where it is running and the usual DOS hacks are contained to DOS-specific files. In order to port Doom to a new platform, ideally one only needs to rewrite the system-specific implementation files for video, sound, filesystem access, etc., and this mostly holds true today. (These files are prefixed with i_ in the Doom source).

    The Linux port is just one of many versions developed at the time. I don’t believe that it was commercially released; it was more of a portability test. The reason that the Linux version was chosen for the source release over the DOS version was because it didn’t rely on the proprietary DMX sound library that the DOS port used.

  • moody@lemmings.world
    link
    fedilink
    arrow-up
    17
    ·
    6 months ago

    The reason Doom got a reputation that it can run on anything is that it did run on just about anything.

    The original requirement was for a 386 CPU which ran between 12 and 40 MHz. The 386 was launched in 1985. That means that at the time the Doom was released, it could run on 8-year-old hardware.

    • DefederateLemmyMl@feddit.nl
      link
      fedilink
      English
      arrow-up
      8
      ·
      6 months ago

      It ran like absolute ass on 386 hardware though, and it required at least 4MB of RAM which was also not so common for 386 computers. Source: I had a 386 at the time, couldn’t play Doom until I got a Pentium a few years later.

      Even on lower clocked 486 hardware it wasn’t that great. IIRC, it needed about a 486 DX2/66 to really start to shine.

      • moody@lemmings.world
        link
        fedilink
        arrow-up
        3
        ·
        6 months ago

        I ran it perfectly on a 33MHz 486 with 4mb RAM for a long time. Even Doom II with some of its heavier maps ran fine.

        But the point was that the hardware requirements were low enough that it could be ported to just about any hardware. It ran on SNES which was like 4MHz

        • DefederateLemmyMl@feddit.nl
          link
          fedilink
          arrow-up
          1
          ·
          6 months ago

          I ran it perfectly on a 33MHz 486 with 4mb RAM for a long time. Even Doom II with some of its heavier maps ran fine.

          “Perfectly” would mean it ran at 35fps, the maximum framerate DOS Doom is capped at. In the standard Doom benchmark, a dx33 gets about half that: 18fps average in demo3 of the shareware version with the window size reduced 1 step. Demo3 runs on E1M7, which isn’t the heaviest map, so heavier maps would bog the dx33 down even more.

          I’m sure you found that acceptable at the time, and that you look back on it with slightly rose-tinted glasses of nostalgia, but a dx2/66 and preferably even better definitely gave you a much better experience, which was my point.

  • themoken@startrek.website
    link
    fedilink
    arrow-up
    14
    ·
    6 months ago

    John Carmack, author of the Doom engine, is a long time Linux user and for a while the policy was to open source the idTech engines once they had moved on.

    However, Doom was hugely popular on its own before this, and was actually more pivotal for making Windows a gaming platform (over DOS).

    The reason it runs everywhere is a combination of it’s huge popularity, it’s (now) open source and it’s generally low system requirements.

    • Bitrot@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      3
      ·
      6 months ago

      id software is six months older than Linux, but Doom was released a couple of years later.

  • oo1@kbin.social
    link
    fedilink
    arrow-up
    8
    ·
    6 months ago

    TLDR;
    Doom was massively popular in it’s day because it was and still is an awesome game played on ibm pc compatibles.
    Popularity was basically nothing to do with ports to other os ses or hardware.
    Doom is an “MS- DOS game” not a “windows game”.


    It had a brilliant shareware (free) version containing 1/3rd of the game - that spread like wildfire.
    It had great multiplayer network deathmatch and coop modes.
    It maybe gained a bit of notoriety by some morons (who probably didn’t know what a BBS or shareware was) calling it to be banned as a “video Game Nasty” - but it’d have been insanely popular without that because of how many light years ahead it was the previous gen - say wolfenstein or catacomb abyss in basically every way.

    It also grew a network of BBS communities who shared user created WADs with levels and mods and stuff extending the game’s content and longevity - and creating a subculture of doom-obsessed tech geeks. Competitive home gamer “speedrunning” and stuff became possible at home as you could basically “record” and share a level on BBS and people could effectively validate each key-press to check for cheating.

    It’s true that it was ported to mac and linux and a few other OS fairly soon after release, but the vast majority of home gamers would have been on MS-DOS. Probably there were a bunch of workplace deathmatches on networks of solaris terminals or something like that - but if you had a pc at home, you were playing DOOM on MS-DOS.

    Back in 1993/1994 and for years after linux was just nowhere near MS-DOS in popularity, stability, usability, compatibility etc. Debian was literally only just born the same year - but if you think Arch or GEntoo is hard to get up and running . . . that’s peanuts to what a 1993 era linux user would be doing. In fact “linux programmer” is likely what you were - I don’t believe there was such a thing as “linux user” until a years later - and it was still very painful and unstable.

    Back then MS-DOS with it’s CLI was stable, simple and fairly efficient - massively more so than the “windows GUIs” that would follow.
    DOS was fairly cheap - and there were “other” ways to get it anyway - I don’t think MS cared about home user piracy much - they just wanted B2B deals (and pre-installs with pc sellers).

    “Windows” was just not relevant for gaming in 1993 - even in win’95 and win’98 days windows was not really an “operating system”.
    windows 3.x/95/98 was just a program that you could choose to run after booting into MS-DOS - and you’d only start up that mess if you wanted the GUI or some wizzywig programs like desktop publishers or something - of course Mackintosh was still the no1 choice for most pro GUI stuff.

    Even when windows 1995/98 and so on came out for most gaming I’d have been booting into DOS anyway. everyone had a few DOS 6.2 boot disks lying around. Going into the naked DOS CLI meant you could access the large contiguous chunks of extended memory that games typically needed - starting windows always RAMmed you somewhere uncomfortable.

    It wasn’t really until 3d graphics drivers became packaged into directX that that Windows became a real thing for gaming.
    From memory something like Grand Theft Auto (1) in about 1997 would have been the first game I would have actually started windows for.

    Doom was basically 4 years old and pretty ancient by then. But it was still the number 1 multiplayer game in my house - since by that time we had a couple of PCs capable of Doom plus maybe a laptop or one brought over from a firends. . . . and a bloody unreliable BNC-coaxial bus network. Couldn’t get enough PCs that could run quake well enough to be a fair fight.

    However I could imagine a lot of people wanting to get up to four networked devices going to death match at home. SO that may well have been a driver for porting.

    I didn’t install it on weird devices like sony ericsson P800 or my ipod until much later - for example not until those devices were invented and cheap enough.
    And all that was just a gimmick -or geeks fucking around “because they can” - the control interface of P800 touchscreen was just nowhere near the proper keyboard experience. If you can’t simultaneously sidestep+sprint+turn and run backwards - you can’t play doom.
    DOOM on a ipod click-wheel - just fucking stupid - surprisingly slightly better than the P800 though.

  • bloodfart@lemmy.ml
    link
    fedilink
    arrow-up
    8
    ·
    6 months ago

    Someone already talked about the platform agnostic development process and the platform agnostic code that it produced, but no one has talked about what doom itself is and how the limitations of its operations meant that it could reasonably run on a wide variety of hardware.

    Doom doesn’t have much of what we expect of games now, the objects are 2d sprites and the level geometry is very simple. The music is midi and the play area is 2d.

    Some of what people refer to as bugs in doom are simply artifacts of the design and the good source ports have compatibility levels that can be invoked to match those original bugs and whatnot. By aggressively cutting away anything that wasn’t required, doom became a program that could be ported to anything.

  • Quazatron@lemmy.world
    link
    fedilink
    arrow-up
    8
    arrow-down
    2
    ·
    6 months ago

    We played Doom on MS DOS. It was hugely popular because it was a breakthrough for PC gaming. So nothing to do with Linux.

  • krdo@programming.dev
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    6 months ago

    Carmack actually developed Doom on NeXTSTEP, not Linux. The windows and DOS ports were not released as open source, due to copyright issues concerning the sound library. So they released the source of the Linux port instead. I don’t think it made much of a difference in practice since it was a fairly popular game even before that.

  • DefederateLemmyMl@feddit.nl
    link
    fedilink
    English
    arrow-up
    6
    ·
    6 months ago

    If anyone can enlighten me, This is pretty much why you can find DooM on almost any platform BECAUSE of its Linux code port roots?

    I mean yeah. Doom was extremely popular and had a huge cultural impact in the 90s. It was also the first game of that magnitude of which the source was freely released. So naturally people tried to port it to everything, and “but can it run Doom?” became a meme on its own.

    It also helps that the system requirements are very modest by today’s standards.