Un videojuego que se ejecuta en un ordenador… dentro de otro juego: así creó este programador una máquina virtual en 'Terraria'

Terraria es un popular videojuego que muchos describen como 'el Minecraft en 2D'; uno de los aspectos que ambos tienen en común es la posibilidad de construir cosas verdaderamente complejas dentro del propio juego. Sin ir más lejos, el programador y estudiante de ingeniería física Xander Naumenko ha logrado construir un ordenador de 32 bits.

Es decir, no ha creado una estructura de bloques con la forma de un ordenador, sino que de verdad ha creado un conjunto de circuitos dentro del juego que replican el funcionamiento de una máquina de 32 bits (una compatible con RISC-V), hasta el punto de que es capaz de ejecutar el 'Pong' dentro de Terraria, el cual funciona íntegramente sobre una CPU creada por software.

Y, de hecho, 'amenaza' con ejecutar "Terraria dentro de Terraria". Aunque por ahora deberá optimizar un poco el rendimiento de esta máquina virtual, que cuenta con una velocidad de reloj de ~5kHz, 96 kb de RAM. Esto, y todo el proceso de desarrollo, Naumenko lo cuenta con detalle en un vídeo colgado en su canal de YouTube,

"He estado trabajando en esto durante más de 6 meses y pensé que es lo suficientemente bueno como para que otros puedan estar interesados ​​​​en aprender sobre este software. Absolutamente todo lo que hablo aquí es completamente de código abierto y está disponible gratuitamente en estos repositorios públicos: Computerraria y WireHead".
'CompuTerraria' se ha desarrollado usando una combinación de Rust y Python

Explícamelo despacito, Genbeta

Quizá resulte un poco complicado entender qué es lo que ha logrado exactamente Naumenko. Intentemos explicarlo de manera simple:

  1. Dentro de Terraria, existe una función llamada 'wiring' que te permite conectar diferentes cosas —como abrir puertas o activar trampas— utilizando cables.
  2. Naumenko ha logrado aprovechar esa función de 'wiring' y construir circuitos dentro del juego para simular el funcionamiento de una computadora real, utilizando las puertas lógicas del juego (unos bloques de construcción para hacer cosas más complejas).
  3. Naumenko combinó estas puertas lógicas de tal forma que permitía crear circuitos más grandes, como sumadores y multiplexores, que son componentes básicos en una computadora real.
  4. La parte interesante es que, en el juego, todo funciona con 'pulsos': lo que significa que los circuitos se comportan de manera diferente a los circuitos en el mundo real. Aun así, Naumenko fue capaz de adaptar el diseño de su nueva computadora para que tuviera esta diferencia en cuenta.
  5. Por último, nuestro protagonista mejoró el sistema de 'wiring' de Terraria creando un mod que reemplazaba el sistema original y permitía así acelerar el funcionamiento de la computadora virtual.

Imagen | Xander Naumenko

En Genbeta | Probar varias distribuciones Linux ahora es posible sin necesidad ni de cerrar el navegador, con DistroSea

Ver todos los comentarios en https://www.genbeta.com

VER 1 Comentario

Portada de Genbeta