eli5 Why can’t old computer games run on new computers?

157 views

Wouldn’t they be easier to run since computers are better now?

In: 0

6 Answers

Anonymous 0 Comments

[removed]

Anonymous 0 Comments

They were written to run on old operating systems, so when you try to just move it from the old OS to new ones, unexpected things happen, and it breaks.

So you have to either emulate the old operating system and the game inside that, which isn’t perfect, or you restart and port the game to your new OS, which can take quite a bit of programming skill.

Anonymous 0 Comments

The underlying software those games run on has changed dramatically since their release and is likely no longer compatible.

Things like Microsoft’s .Net Runtime have been almost entirely rewritten depending on the age of the game.

And how those libraries interface with your hardware is also very different today. Drivers and even underlying hardware types have changed. So have the CPUs.

Graphics heavy applications, like games, are also significantly more sensitive to these types of changes.

Anonymous 0 Comments

You can imagine software like a pyramid. There’s plenty of “low level” tiles at the bottom, that do simple things interacting directly with the hardware. In the middle layers you have frameworks and libraries that some people have built, such as programs to do mathematics, or render 3d graphics etc. On the top you have programs that most people write, like browsers, video games or a text editor or something. Each of the blocks in the pyramid relies on the ones below: a video game developer doesn’t want to figure out how to actually draw on the screen, they simply consult a graphics library to do it for them, and the graphics library will consult other blocks further down the pyramid to deal with things like vector arithmetic or controlling the hardware. Now you can imagine that if i destroy a block at the bottom, the whole pyramid will crumble. That’s what updates do, sometimes you figure out how to improve something at the bottom of the pyramid, you change it, and then tons of programs break. Now for programs that have active development its no problem, they’ll recognise that the new way is better and accommodate for it. However old games and other “abandonware” have no active maintainers, so if an update breaks the pyramid they were built on they’ll never work again

Anonymous 0 Comments

A lot of old programs didn’t use the approved programming interfaces. Instead they would use various tricks with the operating system or hardware to do things faster, and the tricks often don’t work with newer systems.

I remember one old program that decided to check for free disk space by accessing parts of the disk file system by itself instead of using the approved OS routine for determining free disk space. The user upgraded his computer and his file system to FAT32, and suddenly the program would no longer install because it was written to calculate free disk space using the FAT file system.

I also had an old game that was tied to very old video cards for video acceleration (it used to be like that). Luckily, the game had an option to run without video acceleration, so it would work just fine on a newer computer because the new CPUs were faster than the old GPUs. But it wouldn’t have run at all without that option.

Anonymous 0 Comments

Both the hardware and the software (i.e. the operating system) change over time and they aren’t always made compatible with their previous counterparts.

Games, like most software, are created and tested for some specific operating system, meaning they might not be compatible with later releases of that operating system.

Game developers could theoretically update the games to make them compatible with newer operating systems, but most don’t bother, especially if it makes little sense financially (as is usually the case with really old games).