El increíble avance que ha hecho que la emulación supere a las consolas originales
Un método que permite "mirar al futuro" ha conseguido una emulación mejor que la consola original, revolucionando el sector de la emulación.
15 mayo, 2018 21:11Noticias relacionadas
- Airbus presenta un avión con las alas de un ave de presa, ¿el futuro de la aviación?
- Mira cómo una estación espacial china cae a la Tierra destruyéndose en la reentrada
- Una estación espacial china va a caer a la Tierra, aquí es donde ocurrirá
- Crean una computadora dentro de un juego de construir ciudades... y funciona a base de caca
Una nueva tecnología implementada en el programa de emulación RetroArch permite una emulación mejor que la consola original; algo que simplemente hasta hoy no era posible.
La emulación es un tema muy polémico, ya que se suele asociar con la piratería; pero quedarnos en eso sería sólo rascar la superficie de una afición como pocas, dedicada a la conservación y estudio de la historia de los videojuegos.
Porqué la emulación siempre estuvo por detrás de la consola original
Los verdaderos aficionados a la emulación no quieren jugar gratis a juegos piratas; quieren conseguir la ejecución de esos juegos tal y como se ejecutaban en las máquinas originales. Es toda una obsesión, que cuenta con no pocos obstáculos.
Puede que pienses que hoy en día la emulación ya está muy avanzada. Podemos jugar a títulos clásicos a una resolución muy superior, con una calidad de sonido de la que eran incapaces los chips de antes, y en pantallas de calidad. Pero por mucho que mejores los gráficos, un emulador siempre era peor en un aspecto: el lag.
El lag, o retardo, es el tiempo que ocurre entre que pulsamos un botón y vemos la reacción en el juego. Este no es un problema en las consolas clásicas, pero es un auténtico quebradero de cabeza en la emulación; hasta el punto de que es el motivo que lleva a mucha gente a renegar de la emulación y jugar sólo en hardware original.
Para comprender el porqué, debemos darnos cuenta de cómo funciona una consola clásica, como la NES. Cuando pulsamos un botón, esa señal viaja por un cable (no de manera inalámbrica como ahora), directamente a los circuitos internos de la consola; la consola en sí está conectada a un televisor CRT de manera analógica, por lo que la señal no debe ser convertida y se muestra directamente en pantalla.
Es gracias a eso que se consigue un lag mínimo; en cambio, un emulador tiene que dar muchos más pasos, desde traducir el código ejecutable a uno que pueda entender el ordenador, hasta que finalmente muestra la imagen en una pantalla digital. Con el tiempo, los programadores han conseguido quitar milisegundos a ese proceso, poco a poco.
Luchando contra el lag mirando “al futuro”
Sin embargo, es el equipo de RetroArch el que ha conseguido tal vez el mayor avance en emulación en décadas. Se llama “run ahead” (“correr adelante”), y consiste en que el emulador “adelanta” la ejecución del juego para reducir el lag al mínimo posible.
Cuando juegas en una consola original y pulsas el botón, el resultado no se muestra inmediatamente. En el caso concreto de la NES, la consola renderiza un frame y ejecuta la lógica del juego al mismo tiempo; así que el resultado de ese proceso no se puede mostrar hasta el siguiente frame. En algunos casos, pueden pasar varios frames hasta que el efecto del botón que hemos pulsado se muestra en pantalla.
Con el nuevo modo implementado por RetroArch, el emulador va adelantado varios frames por delante de la acción; normalmente se adelanta uno o dos frames, pero puede adelantarse hasta seis frames por cada frame mostrado en pantalla.
Emulación mejor que la consola original con un proceso genial
Ahora es cuando viene el dolor de cabeza:
- El frame actual se muestra en pantalla.
- El emulador registra que has pulsado el botón y procesa esa información.
- Renderiza en segundo plano el siguiente o los dos siguientes frames en base a esa información, y guarda esa información.
- El siguiente frame que ves es el que ha sido calculado en base a esa información, no en base al frame que se estaba mostrando antes.
- Y vuelta a empezar.
Es complicado, pero eso es lo que lo convierte en una genialidad. En Super Mario Bros, cuando pulsamos el botón de saltar normalmente la acción se aplica dos frames después (más dependiendo de si hay mucha carga de trabajo); con este sistema, Mario salta al frame siguiente de pulsar el botón.
Esto se traduce en acción instantánea, y mejor que en la consola original. Los tiempos de reacción son mucho menores dependiendo del juego, y eso es vital en algunos títulos, que dependen de que pulsemos el botón justo en el frame correcto.
Claro, que lo malo de este sistema es que significa que el emulador no es una representación fiel de la consola. Los puristas renegarán de esta opción y la considerarán hacer trampas. Otros lo verán como una manera única de preservar y disfrutar los juegos tal y como fueron programados. Por otra parte, este sistema no funciona bien en todos los juegos; y es que muchos programadores ya tuvieron en cuenta este lag al programar sus juegos, así que la experiencia puede ser muy diferente, demasiado tal vez.
Sea como sea, que a estas alturas se haya conseguido un avance tan grande en la emulación es toda una demostración de dedicación.