Why old games are still interesting

Christopher Bazley, August 2022

My father in law recently told me he doesn't understand why people are still interested in old computer games.

Many people of my age have a natural nostalgia for the games of their youth. Some programmers who aren't old enough to remember the early era of games still find interest in the technical challenge of getting the most from limited hardware, much as a few in every generation choose to drive steam locomotives. Some people build ships out of matchsticks. I don't think there has to be a good reason: it's a hobby!

Thinking about this led me onto a related question: why do I invest so much time creating editing and file format conversion utilities for old games?

One excellent reason to create editors for any game is to unlock the creativity of non-programmers who would otherwise be restricted to consuming rather than creating content.

I also find file formats interesting in and of themselves.

Even the most esoteric or special-purpose file format can be abstracted from the software and hardware environment in which it originated, if that environment is sufficiently well documented (e.g. bytes per word, endianness and address alignment).

This is a kind of magic to me, because it allows data to survive and transcend its origins. Content might have been produced using a bug-ridden program written in an unfashionable language for an obsolete computer system and yet it can still be enjoyed today.

Games typically have at least one file format which stores a snapshot of the game world's state. That initial state can evolve differently, for example as a result of improved physics simulation or enemy A.I., without breaking compatibility. It can also be visualised differently from the original game, e.g. drawn from a different perspective or in a different artistic style.

Other file formats store more recognisable assets such as sound effects, music, artwork and 3D models. I'm fascinated by the idea of rendering old data with higher fidelity than was originally possible. The converse ability to import new data into old games is equally interesting, because it provides a unique creative outlet and increases the longevity of such games (at least to the extent that the original game mechanics were interesting in the first place).

None of this would be possible if someone hadn't taken the first step of storing data in a separate file from the program code. It doesn't matter how crudely that separation was originally done: simply dumping part of a program's memory to file might constitute a viable file format, provided that any addresses stored therein have a predictable interpretation.

File formats have less importance to content preservation than they once did, given amazing advances in emulation of older systems, and even just-in-time translation of programs from one machine's instruction set to another. However, there will always be a desire to exchange data between programs which isn't satisfied by emulation.

I like to think of the creators of file formats as (sometimes careless or unwitting) gods, like the Futurama character Bender, whose body plays host to a civilisation of tiny worshippers as he drifts through deep space. Examples of such creators damaging the civilisation which has grown up around their technology include Unisys attempting to enforce their LZW patent on creation of GIF files (in 1994), and Adobe effectively killing off browser support for their own Flash video format (in 2020).

Whether their intentions are good or bad, I don't think anyone should have the right to restrict or end usage of a file format, because they don't own all of the created content stored in such files. Attempting to do so is like setting fire to a public library.

The same consideration applies to programming languages and their APIs. It's irrelevant to me whether such languages are good, bad, or simply long out of fashion: they will exist forever, and must, because they were at one time an important medium for human expression.