this post was submitted on 24 May 2024
29 points (87.2% liked)

Linux

48193 readers
1725 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

top 14 comments
sorted by: hot top controversial new old
[–] 4ffy@lemmy.ml 28 points 5 months ago* (last edited 5 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 17 points 5 months ago (2 children)

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.

[–] SpaceCadet@feddit.nl 8 points 5 months ago (1 children)

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 3 points 5 months ago (1 children)

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

[–] SpaceCadet@feddit.nl 1 points 5 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.

[–] sag@lemm.ee 1 points 5 months ago
[–] themoken@startrek.website 14 points 5 months ago (1 children)

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.

[–] slacktoid@lemmy.ml 2 points 5 months ago

He releases compatible WAD files for his current game Sigil for 6.66

[–] helenslunch@feddit.nl 10 points 5 months ago (1 children)

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 3 points 5 months ago

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

[–] bloodfart@lemmy.ml 8 points 5 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 6 points 5 months ago* (last edited 5 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.

[–] SpaceCadet@feddit.nl 6 points 5 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.

[–] Quazatron@lemmy.world 6 points 5 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.