El Origen Secreto de la Simulación: Server Meshing, Bots pre-conscientes y Falso 3D
Pulsa para ver el vídeo. No se carga nada de YouTube hasta entonces.Verlo en el canal ↗
Transcripción del vídeo. Verlo en el canal.
Taxonomías: Simulación, El Halo, #InvestigacionesYT, Videojuegos, Investigaciones
Imaginemos que queremos construir una simulación perfecta de la realidad. Con este supuesto nos preguntaríamos: Antes de que la simulación estuviese acabada, mientras la estamos construyendo, ¿cuáles son los elementos clave que la constituyen? En este vídeo analizaremos cuatro tecnologías necesarias para la creación de simulaciones complejas que en la actualidad ya están en desarrollo. En este sentido “precursores de la simulación”, tecnologías del mundo de los videojuegos que se encaminan hacia “algo”.
Como los conceptos que veremos pueden ser bastante raros, trataré de ser ilustrativo y claro / visual. Lo que veremos será:
Server Meshing o mallado de servidores en el videojuego Star Citizen, (Una tecnología necesaria para que exista una realidad muy grande y compartida)
NPCs con IA integrada de Unity
Falso 3D o 2,5D en el clásico shooter Doom, y
Espacios no euclidianos en la tridimensionalidad con Antichamber.
La primera cosa que vamos a ver es el mallado de servidores. Este concepto a priori oscuro es esencial para que pueda existir una simulación de tamaño muy grande. En esencia, el mallado de servidores es esencial para poder tener simulaciones gigantescas (como sería el caso de nuestro universo). En el videojuego Star Citizen llevan más de diez años intentando hacer funcionar esta tecnología y están a punto de conseguirlo. Vamos a ver en qué consiste:
Imagina que hay una fiesta gigantesca con cientos de personas. Es una fiesta tan grande que no cabe en una sola sala, así que se organiza en varias salas conectadas entre sí.
En lugar de tener un solo servidor (una sola sala) que maneje a todos los jugadores, se usan múltiples servidores (varias salas). Cada servidor maneja una parte del mundo del juego, o una sala de la fiesta.
Cuando un jugador se mueve de una parte del mundo a otro (por ejemplo, cuando pasa de una sala a otra), la tecnología del “Server meshing” se asegura de que el jugador se transfiera suavemente de un servidor a otro sin notar ningún corte o introducción.
La clave es que los servidores estén armonizados y coordinados entre sí. De esta manera en lugar de tener un mundo infinito e imposible de computar, tenemos un mundo hecho de instancias/habitaciones/burbujas. Y es importante notar aquí que estas burbujas están fusionadas unas con otras, no hay límite propiamente, no son ladrillos separados: uno transita de una burbuja a otra suavemente.
Star Citizen pretende simular varios sistemas solares enteros a una escala nunca antes vista en el mundo del videojuego. Es un título de ciencia ficción espacial que lleva décadas en desarrollo y del que merecería hablar en algún momento pues es el proyecto de simulación sofisticada más ambicioso que existe ahora mismo. De hecho, a raíz de su creación se está intentando hacer funcionar esta tecnología. Todavía no está operativa, por decirlo así.
Un siguiente paso para tener una simulación funcional sería poder poblarla de entidades ligeras de computar y, al mismo tiempo, indistinguibles de alguien real. Me refiero aquí a los NPCs. La idea sería que en la simulación hay en realidad pocos jugadores reales y que la mayor parte de seres son “entidades artificiales”. Desde hace varias décadas tenemos en juegos de mundo abierto este tipo de seres. Pienso por ejemplo en Red Dead Redemption 2, un mundo abierto en el oeste con una completa población con sus propias rutinas. Existe de hecho una película basada en los NPCs de este videojuego, hecha por un colectivo alemán (os la dejo en los comentarios).
La vuelta de tuerca se da cuando hace unos meses el motor gráfico / programa de creación de videojuegos Unreal Engine 5 sacó sus nuevos NPCs con Inteligencia Artificial integrada. Si hasta el momento los muñecos artificiales tenían un número limitado de líneas de diálogo, ahora responden a cualquier tema o cuestión que les puedas plantear. Se trata de una evolución necesaria para poder tener una simulación poblada y realista “aunque los jugadores sean pocos”. Os dejo un momento de ejemplo de conversación antes de seguir.
(CONVERSACIÓN).
El tercer elemento tendría que ver también con cómo se diseña y se renderizan los mundos simulados. En este caso quiero hacer un breve ejercicio de arqueología de la simulación y fijarme en Doom, un mítico juego de 1993 creado por John Carmack y John Romero (de quienes compré hace muy poco la biografía, pues son dos raros personajes).
Este videojuego es muy famoso porque visualmente es 3D, como vemos en pantalla, pero en realidad utiliza una técnica llamada 2,5D o Pseudo 3D. Es decir, se trata de un precursor de lo que luego fue el 3D real.
Evocamos aquí el famoso mundo en dos dimensiones de Carl Sagan. El famoso astrónomo se preguntaba cómo sería la percepción de alguien que viviera en un mundo en 2 dimensiones?¿Cómo sentiría el peso de una manzana de 3D un mundo donde solo hubiera 2 dimensiones?
El pseudo 3D funciona de la siguiente manera: imagina que el mundo del juego es un mapa dibujado en una hoja de papel. El mapa es completamente plano no hay alturas. Como el dibujo de una ciudad vista desde arriba.
Aunque el mapa es plano, el juego asigna alturas a diferentes partes del mapa. Una parte del mapa puede ser un piso alto y otra un piso baja. Para mostrar el mundo en pantalla el juego utiliza una técnica llamada Ray casting. En esencia es como si el juego usara un proyector de cine para mostrar una imagen plana que parece tener profundidad. Si os fijáis, en Doom los enemigos no son modelos 3D, sino imagenes planas.
Una de las limitaciones de un juego Pseudo 3D es que si tenemos en un momento dado un puente, no podemos cruzarlo por arriba y luego por abajo. Solo tendrá una altura posible dado que el mundo es en verdad 2D, solo falso 3D.
Este proto 3D me resulta muy sugerente a la hora de hablar de precursores de lo que sería una simulación perfecta, esta.
Por último, cierro el vídeo con un colo
