DOOM Will Never Die: A Historical Perspective of Software Entropy and Games as Art

Community Post: This article was submitted by a member of our community. Find out how you can publish your own writing here!

Recently the Computer History Museum got an interesting little addition from a company called Microsoft[1]. That addition was the source code for early MS-DOS and Word. Now, MS-DOS was a frankly horrible operating system by even the standards of the time that was mostly kludged together from a hobby project bought at a bargain basement price, but only a fool would say it was not influential to the field of home computing. The donation of the source code of MS-DOS will ensure that some of the early human-computer interfaces for home computers is available for future historians to look back on, and no doubt will shine light on what I would argue is a pivotal moment in human development.

As I reflected on this, naturally my thoughts turned to video games. I’m a bit of a computer science nerd and I have my fair share of vintage computing devices around. One thing that really any retro computing or game enthusiast will tell you is that you really need period hardware in order to get an ‘authentic’ experience. This is debatable, however, what is not debatable is sometimes to play an MS-DOS game, you need an IBM 5150 or a Tandy 1000. They simply don’t work with DOS-BOS or similar efforts. This is also true of console games and emulators, or even arcade games.

This is because of a concept called Software Entropy or Software Rot[2]. As computers and software advance they leave older software slowly incompatible. This can even be seen in recent PC titles. It’s not uncommon to upgrade a graphics card or drive to have it hose one of your games. I think any PC gaming enthusiast can recount having to mess around endlessly with compatibility settings to get a fifteen year old game running. Thank god for GOG.

Now, I consider games art. Furthermore, I consider games culturally significant art. One can easily argue for the historical significance of Pac-Man or Mario and I think that the same will be able to be said in the future for modern franchises. In light of this, I consider it very important to preserve games in a format that can later be looked back on and experienced in the same way they are now. There are several projects that aim to do this – I mentioned before DOS-BOX – there are also huge libraries of emulators both for just quick and dirty, high level and precise reproduction of hardware quirks. However, these are imperfect solutions that require a truly staggering amount of effort.

Let me for a moment bring up a few other topics as parallels. Let us look at film, books and patents. When a film is designated as historically or culturally significant in the US, a copy of that film is archived by the Library of Congress[3]. The same is true of every book published; it is in fact required by law that two copies of every book published be given to the Library of Congress. Naturally they don’t keep all of these books, but they sure do have copies of some of the most obscure but impactful literature on the planet. In both of these cases the Library of Congress is keeping these to preserve our cultural heritage, so that once these items become public domain there are definitive copies available (Considering that this can be something like 120 years, it’s a pretty daunting task IMO, but that’s another discussion entirely).

I think that this purpose is most exemplified by patents though. The idea of a patent is that it gives enough information to reproduce its innovations. Modernly, they seem to no longer serve this (especially with software patents), but looking at historical patents you will find extensive diagrams, schematics, and process descriptions that make up most of the documentation. All of this is to say: In nearly every other culturally significant format we as a culture take great lengths to make sure it is a) preserved and b) reproducible.

It is a fairly straight forward prospect to convert a movie from film to a digital format. There will be a lot of tweaking and color correction if you want it to look good, and the actual process of maintaining film for this long is no walk in the park, but the information required to read that data is all there. This is the same with books and most patents. However, software has a bit of a unique problem. It’s not entirely reproducible from the distributed medium. I can not rig up an Atari 2600 to output a game in a format that I can later clean up for a modern process in the same way as I can with a phonograph record or a film reel. The playback relies on interacting with the old hardware, and that old hardware is not easily reproduced.

This leads me to ponder the solutions to preserve what I consider a culturally relevant art form and make it readily available to the masses. This leads to two solutions: document the hardware in an easily reproducible way, or document the software in an easily reproducible way. As patents on old hardware expire, we see people develop clones of old systems like the Retrobit line. This hardware allows some of the original game library to be played with varying quality, however it does not allow the whole library. None the less, this seems to be a good solution to keep some method of play around when the old hardware eventually dies. I would like to see more documentation provided for the old consoles to make this sort of reproduction easier.

This approach doesn’t work as well for PC games, however. PCs are notoriously varied in hardware and the amount of cloning and reverse engineering that would need to be done to get a similarly compatible system to the console clones is ludicrous. Enter DOOM.

DOOM, as you all may know, is a First Person Shooter. But it’s more than that. DOOM was, at the height of its popularity, the most popular computer program, even surpassing Windows itself. The engine behind DOOM also lead to other extremely influential games like Hexen. John Carmack did a rather nice thing with DOOM once he completed the successor to it’s engine. He released the source code and documentation publicly. Because he did this and because DOOM was such an influential game, it now runs on just about everything. Not only that, but because of DOOM‘s source code release, the original executable runs flawlessly under DOSBOX.

We’ve seen similar effects for the various emulators. Beneath a Steel Sky also had its source code released and because of it, it now runs flawlessly on the SCUMMVM project. There is still a large amount of effort that is required to translate source code releases into improvements, but it’s a lot better than having to do so from the game binary itself.

So I posit: as games prove to be more and more influential in our lives it is important that we keep in mind the steps that will need to be taken in order to preserve them in the future. We should encourage hardware companies to publish detailed documentation of their products either in their patents or later as a public service. We should encourage software companies to release historical source code so that efforts can be made to preserve and learn from as much of this medium as we can.

I also want to give a shutout to archive.org for their great work in archiving some of the early gaming history[4]. I would very much recommend dropping by there, giving some of their in-browser emulations of Atari 2600 and ColecoVision games a spin.

Finally, I’d like to ask: do you think we should reward companies for helping us preserve games? Especially with the fate of id, 3D Realms and a lot of the early proponents of this, I wonder if we can really stir up the fervor needed to keep companies with this sort of practice alive. I know there is interest in retro gaming, and we all know how many re-releases popular games get. Now there are commercial ventures like GOG, but these rarely really preserve the historical behavior and quirks of games and often seek to improve on them. I’d like to hear about what aspects of gaming people feel are important to preserve and how they feel we should go abut it.

In any case, I feel it’s an important discussion to have.

Links:
[1]http://www.computerhistory.org/atchm/microsoft-ms-dos-early-source-code/
[2]https://en.wikipedia.org/wiki/Software_rot
[3]http://www.loc.gov/film/filmabou.html
[4]https://archive.org/details/software

Photograph Source: https://en.wikipedia.org/wiki/File:Art_of_videogames-Advances_in_mechani… Creative Commons Attribution 2.0


Community Post: This article was submitted by a member of our community. The views expressed are the opinions of the designated author, and do not reflect the opinions of the Overmental as a whole or any other individual. We will gladly cooperate in the removal of plagiarism or any copyright infringement. Please contact us here.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Back to top button