Cuando queremos disfrutar de juegos antiguos de consola, debemos utilizar un emulador. Cuando queremos ejecutar un juego de PC antiguo, al ser la misma plataforma, este debería funcionar incluso mejor que el hardware para el que se diseñó, sin embargo, no siempre es así.
Si bien es cierto que Windows ha evolucionado considerablemente a lo largo de los años, eliminando soporte para aplicaciones y juegos antiguos, este no siempre es el motivo por el que algunos juegos no funcionan en hardware mucho más moderno. Básicamente, se debe que hablan diferentes idiomas.
Bibliotecas antiguas
Para que los juegos funcionan, necesitan utilizar el mismo lenguaje que la gráfica y la tarjeta de sonido. Las versiones más antiguas de OpenGL y DirectX, con sus correspondientes bibliotecas (DLL) no se encuentran instaladas ni en Windows 10 ni Windows 10. Aunque se puede instalar manualmente, estas cochan con los drivers de las tarjetas gráficas más modernas que no están optimizadas.
Muchos de estos juegos muestran glitches gráficos, input lag o incluso escalados extraños, ya que se diseñaron para monitores CRT con resolución específicas. Cuando intentan adaptar la imagen a la nueva resolución, no siempre hacen la conversión correctamente.
Protecciones anticopia
Los sistemas anticopia de los videojuegos no es algo nuevo. Antes de implementarse medidas DRM, los juegos utilizaban una serie de código que solo disponible en el manual de juego o en un disco con diferentes combinaciones (como en los Monkey Island).
Los sistemas DRM que se implementaban antiguamente, como SecureROM y SafeDisc, las versiones de Windows más recientes las consideran vulnerabilidades de seguridad, por lo que tanto no permite ejecutarlos, al menos sin realizar unos cuantos cambios en el sistema operativo.
En juegos donde es necesario una conexión a un servidor para funcionar aunque no para jugar, nos encontramos con el mismo problema. Dependiendo de la popularidad del juego en su momento, lo más probable es que cuente con parche que solucione este problema.
Cambios en la arquitectura
Uno de los principales motivos por el que muchos juegos antiguos no se ejecutan correctamente en procesador modernos se debe a que están diseñados para sistemas de 16 o 32 bits. Conforme Windows ha ido evolucionando, ha ido eliminando el soporte para juegos y aplicaciones más antiguos.
De esta forma, Windows 11 (solo disponible en versión de 64 bits) solo es compatible con aplicaciones de 32 bits, mientras que Windows 10 (disponible en versiones de 32 y 64 bits) es compatible con juegos y aplicaciones 16 bits.
Aunque Windows incluye capas de compatibilidad, cuando los juegos o aplicaciones que ejecutamos intentan acceder a una dirección de memoria concreta, se encuentran con que esta no existe, lo que provoca el desagradable mensaje «El programa dejó de funcionar». Afortunadamente, existente diferentes métodos para ejecutar juegos antiguos en Windows 11 sin problemas.
Velocidad del procesador y núcleos de la CPU
Muchos juegos, especialmente lo más antiguos, vinculaban la velocidad del juego en base a los ciclos de reloj del procesador, es decir, a su velocidad. De esa forma, si un juego está diseñado para funcionar a 16 MHz, si lo ejecutamos en PC que funciona a 3,6 MHz, el juego se ejecutará tan rápido que será totalmente incontrolable.
Un claro ejemplo de esto que estamos comentando lo podemos encontrar en el Tetris ¿te imaginas las figuras cayendo tan rápido que no te dé tiempo ni a cambiar su posición? Los juegos antiguos no estaban diseñados para ejecutarse con varios procesadores de varios núcleos. Esto provoca que se reparta la carga de trabajo rompiendo los timings o bucles del juego.
¿Se puede evitar estos problemas?
La mejor de forma de replicar el funcionamiento de juegos antiguos en un PC moderno es utilizando máquinas virtuales son sistemas operativos de la época, utilizar versiones remasterizadas, emuladores o el modo de compatibilidad de Windows.
