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.
We played Doom on MS DOS. It was hugely popular because it was a breakthrough for PC gaming. So nothing to do with Linux.
deleted by creator
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.
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.
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.
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.