Tres relojes, un mundo: el problema del tiempo en juegos de simulación

Entre la vida humana y la de un clima hay siete órdenes de magnitud. Ningún juego lo ha resuelto. Cada uno lo apartó distinto y las renuncias aleccionan.

por McGrinseyAuf Deutsch lesen用中文读
Tres relojes, un mundo: el problema del tiempo en juegos de simulaciónGenerado artificialmente
Generado artificialmenteGenerado artificialmenteEl artículo 50 de la Ley de IA exige que el contenido de imagen, audio y vídeo generado artificialmente esté marcado de forma reconocible y legible por máquina. El símbolo es el icono base oficial de la Comisión Europea. Usarlo es voluntario, la obligación de marcar no lo es.Generado por máquina: Texto · Imagen. Con dirección humana.McGrinsey Living Intelligence SystemsMcGrinsey Living Intelligence SystemsLI: inteligencia viva de todo tipo. McGrinsey junta la inteligencia de siempre y la inteligencia nueva en sistemas de inteligencia viva. Esos sistemas simbióticos de máquina y persona trabajan juntos para entregar el destilado más fino, para cada inteligencia.

Construye un juego en el que una sociedad crece a lo largo de más de mil años. Deja que la gente camine por ahí. Y luego mira cuánto tarda uno en hacer cien metros.

En nuestro caso fueron varios años. Un ser recorre por cada paso de simulación una fracción de una casilla, cuatro pasos son un año, y una casilla mide en la escala del mapa quizás un kilómetro. Un humano lo camina en una mañana. Quien mira ve una cámara lenta que al mismo tiempo es un time-lapse.

Eso no es un error en nuestro código. Es el problema central sin resolver de todo juego que muestra largos periodos de tiempo. Y vale la pena ordenar las soluciones, porque todas son declaraciones de renuncia.

Tres relojes, siete órdenes de magnitud

Una sociedad corre en tres planos temporales a la vez:

La Tierra cambia en milenios. Clima, suelo, especies.
Una civilización cambia en décadas hasta siglos. Épocas, técnica, población.
Un individuo vive en horas y días. Comer, caminar, hablar, tener un hijo.

Entre el plano más rápido y el más lento hay siete órdenes de magnitud. Eso es aproximadamente la relación de un segundo a cuatro meses.

Un juego que quiere mostrar los tres los muestra en el mismo reloj. Y entonces ninguno encaja.

Cómo lo apartan los demás

Civilization: renuncia al movimiento

Una ronda es un año o más, y una unidad se mueve en esa ronda una vez, sin importar la distancia. El movimiento no es un proceso, sino un salto. El precio: ninguna simultaneidad, nada a lo que puedas mirar. La ganancia: el año siempre cuadra.

La verdadera invención está en la graduación. Al principio del juego son 50 años por ronda, al final un año. El reloj se vuelve más lento mientras el mundo se vuelve más rápido. Eso no es realismo, es dramaturgia.

Die Siedler y Anno: renuncia al año

No tienen ninguno en absoluto. La unidad más pequeña es el ciclo de trabajo de un porteador que lleva una tabla de A a B. Todo lo visible corre en tiempo real y encaja consigo mismo.

El precio: no hay historia. Nadie envejece, nadie muere, no hay épocas que surjan del tiempo mismo. El juego se desarrolla en un eterno ahora.

Dwarf Fortress: dos relojes, y lo dice también

La solución más directa. En la generación del mundo pasan siglos en minutos, surgen y desaparecen civilizaciones, se tira a dados toda una historia. Después, en la fortaleza, el reloj corre en días y ves a cada enano al caminar.

El cambio es una ruptura, pero visible. Nadie afirma que las dos sean el mismo reloj.

Die Sims: renuncia a la historia

Solo conoce minutos. Un Sim envejece en fases de vida, pero el mundo se queda quieto: ningún progreso, ninguna época, ninguna generación que herede algo. Consecuente: quien quiere mostrar el plano más pequeño con total exactitud debe renunciar al grande.

Populous: no decir absolutamente nada

Muestra movimiento real en tiempo real y simplemente nunca nombra un año. El movimiento de evasión más elegante de todos: lo que no nombras tampoco puede ser contradictorio.

Y tres patrones más

SimCity cuenta años, pero nunca deja envejecer a los ciudadanos. Funciona porque nunca sigues a uno solo. En cuanto pudieras hacerlo, se desmorona.

Crusader Kings cuenta días y deja envejecer a las personas, pero renuncia al movimiento visible en lo pequeño: un ejército es una flecha, no un montón de gente.

RimWorld cuenta días Y muestra a cada colonista, pero con eso solo llega a años en vez de siglos.

El patrón es siempre el mismo: obtienes dos de los tres niveles. Nunca los tres.

Lo que nos cuesta eso

La pregunta que está antes de cada solución no es creativa, sino aritmética: ¿cuál es la unidad de tiempo más pequeña que quieres representar en absoluto?

Hoy calculamos en estaciones, o sea cuatro pasos por año. Si se pasara a horas, serían 8.760, o sea Factor 2.190. Con 5.000 seres simulados, de 25 milisegundos por año saldrían unas 14 segundos. Un siglo dura entonces un cuarto de hora.

Quien quiera un reloj más fino no lo compra con elegancia, sino con tiempo de cálculo. Y además con muchísimo.

El camino que probablemente tomemos

Dos relojes, como Dwarf Fortress, pero sin ruptura: un reloj mundial lento en estaciones, y al hacer zoom en un pueblo un segundo reloj rápido en días, que solo afecta al fragmento visible.

Ese es el mismo pensamiento que también sostiene al escalar: cuesta por resolución observada, no por mundo. Una simulación solo tiene que ser fina donde alguien mira.

El precio sería que ambos niveles ya no cuenten exactamente la misma verdad. Eso tendría que estar abierto en vez de ocultarse, tal como lo hace Dwarf Fortress.

Y un bloqueo muy concreto

No depende solo del diseño. En nuestro núcleo un paso de simulación no es interrumpible: tiene que ejecutarse completo antes de que pueda pasar cualquier otra cosa. Mientras sea así, no puede haber un segundo reloj más rápido, porque ese tendría que correr entre dos pasos del mundo.

Esa es la verdad poco espectacular detrás de la gran pregunta. Antes de filosofar sobre planos temporales, hay que hacer divisible un bucle.


Escrito durante el trabajo en JIJI BAMBAM, Version 0.75.0. Los números sobre el tiempo de cálculo provienen de mediciones propias, la clasificación de los juegos del jugar. Puedes ejecutar la simulación tú mismo.