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
    4 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
    ·
    4 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
      ·
      4 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
        ·
        4 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
          ·
          4 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
    ·
    4 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.

  • helenslunch@feddit.nl
    link
    fedilink
    arrow-up
    10
    ·
    4 months ago

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

    I believe it predates Linux.

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

    People run DOOM on everything because it’s one of lightest and most popular games ever made.

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

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

  • bloodfart@lemmy.ml
    link
    fedilink
    arrow-up
    8
    ·
    4 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.

  • krdo@programming.dev
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    4 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.

  • Quazatron@lemmy.world
    link
    fedilink
    arrow-up
    8
    arrow-down
    2
    ·
    4 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.

  • DefederateLemmyMl@feddit.nl
    link
    fedilink
    English
    arrow-up
    6
    ·
    4 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.