
Cómo funciona Nexus
Complejidad plana
El enfoque clásico de los juegos gira en torno a sistemas rígidos: cada mecánica es un código aparte, cada conexión entre mecánicas es otro código más. Incluso los sandbox siguen siendo un conjunto de sistemas separados. La variedad crece, pero la arquitectura no cambia - y la complejidad del desarrollo crece con ella.
Nexus funciona de otra manera. Los elementos básicos del juego son átomos a partir de los cuales se construye todo lo demás. Añadir nuevas mecánicas no aumenta la complejidad arquitectónica.
Millones de elementos, pero la arquitectura no se complica por ello. El sistema escala - a mecánicas, reglas y mundos de cualquier complejidad.
Red semántica
Nexus almacena datos como tripletas (hechos) - afirmaciones simples con el formato "sujeto → predicado → objeto". En un mismo formato se describen tanto los hechos sobre el mundo como las reglas de las mecánicas:
- Manzana → es → comestible (hecho sobre el mundo)
- Ciervo → es → herbívoro (hecho sobre el mundo)
- Golpe → inflige daño → 6 (regla de mecánica)
- Veneno → ignora armadura → sí (modificación de regla)
- Hierba → crece → con humedad por encima de cierto nivel (hecho sobre el mundo)
- Sindicato → controla → barrio de la ciudad (hecho sobre el mundo)
Los datos y las reglas se registran en un mismo formato, en un mismo grafo. A través de tripletas se describe todo: objetos, propiedades, estados, relaciones, acciones, tecnologías, magia. Esta es la diferencia principal respecto a los enfoques clásicos, donde datos y lógica viven por separado.
El mundo se sostiene sobre una gran cantidad de hechos: animales, tecnologías, objetos, edificios, eventos históricos - desde principios generales hasta detalles concretos.
Intérprete
El intérprete procesa las tripletas y deduce consecuencias de los hechos:
- Manzana → es → fruta
- Humano → puede comer → frutas
- Conclusión: el humano puede comer manzanas
La deducción se construye por coincidencia de hechos. Las cadenas pueden ser largas. Un ejemplo más complejo:
- Goblin → es → criatura
- Criatura → tiene → salud
- Conclusión: el goblin tiene salud
- Golpe → inflige → daño
- Daño → reduce → salud
- Conclusión: un golpe puede dañar al goblin
Si se añade un veneno con predicado de daño, automáticamente funciona contra todo lo que tenga salud.
El intérprete trabaja con consultas formalizadas, no con lenguaje natural.
Grafo de conocimiento
Los objetos y propiedades del mundo necesitan describirse de forma flexible, sin hardcodear.
La base son las entidades: personajes, objetos, animales, organizaciones, naves, plantas. A cada entidad se le vinculan hechos mediante predicados.
Cada predicado expresa una conexión o una propiedad:
- "Es" (clasificación: goblin → criatura)
- "Tiene" (posesión: la criatura tiene salud)
- "Daño" (efecto: el golpe inflige 6)
- "Coste" (consumo: el golpe cuesta 3 de maná)
- "Absorción" (defensa: el escudo bloquea 5)
- "Relación" (vínculo: el goblin odia a los humanos)
El golpe tiene un predicado Daño = 6. El escudo tiene un predicado Absorción = 5. El motor deduce: 6 - 5 = 1 pasa a la salud. Una sola mecánica para cualquier fuente de daño y cualquier defensa - espada, veneno, fuego, hechizo.
Las propiedades forman una red donde cada nodo es un hecho. Las reglas y las interacciones existen como datos, no están codificadas en el programa.
Para el rendimiento se utilizan caché, índices y detalle adaptativo (LOD).
Reglas como patrones
Datos y lógica aún no son un juego. Para la jugabilidad se necesita una capa de reglas. En el desarrollo clásico, las reglas son código: cada mecánica la escribe un programador. En Nexus, las reglas se describen con las mismas tripletas que los datos.
La base son patrones universales, comunes a todos los géneros. Efecto: la espada inflige daño a la salud, la corrosión a la durabilidad, la inflación al poder adquisitivo. Consumo: el golpe cuesta maná, la construcción madera, el viaje combustible. Absorción: el escudo bloquea daño, el contraargumento la acusación, el seguro la pérdida.
El diseñador describe qué ocurre, no cómo. "El golpe inflige 6 de daño" - una tripleta. El motor determina por sí mismo: el daño pasa por la absorción, el resto va a la salud. La fórmula no se escribe para cada acción - se deriva del patrón.
Los patrones se combinan libremente. Un juego de cartas usa efecto y absorción. Una estrategia - consumo y acumulación. Un RPG - combina todo.
Un juego nuevo son nuevas entidades y nuevas combinaciones de patrones.
Agentes
Una entidad puede ser descrita como un agente - con su propio estado y reglas de comportamiento. Es una propiedad opcional. Un enemigo en un juego de cartas elige su propia acción. Los bárbaros en una estrategia atacan cuando las condiciones lo permiten. Un comerciante en un RPG se desplaza entre ciudades. Un agente:
- Percibe el mundo dentro de los límites de su conocimiento
- Evalúa las acciones disponibles
- Toma decisiones basándose en objetivos y las reglas del mundo
El agente se describe con las mismas tripletas que todo lo demás. El herrero sabe forjar (hecho), necesita mineral (hecho), el mineral está en la mina (hecho). De estos hechos, el intérprete deduce la acción: ir a la mina, extraer mineral. La mina se inundó - el herrero no puede extraer mineral - busca un comerciante - compra. El comportamiento surgió de una cadena de hechos.
Escala sin perder la lógica
En una simulación profunda, el mundo puede contener una enorme cantidad de procesos: desde migración animal y crecimiento urbano hasta dinámica de sistemas estelares. Recalcularlo todo es imposible e innecesario - el jugador siempre percibe el mundo de forma subjetiva y limitada.
El mundo se organiza como un mapa de hexágonos. Cada hexágono almacena las propiedades de su escala: a nivel planetario - clima y recursos, a nivel regional - ciudades y caminos. Un clic en el hexágono revela el siguiente nivel - dentro hay un nuevo mapa con propiedades más detalladas. El algoritmo es el mismo en todos los niveles - desde un sistema estelar hasta un edificio individual.
Tiempo y espacio
Para periodos largos, el sistema puede usar modelos estadísticos en lugar de cálculo paso a paso. Se puede avanzar en el tiempo sin simular cada momento. Por ejemplo, en mil años un bosque puede crecer o desaparecer, un río cambiar de cauce, un asentamiento expandirse o ser abandonado. Las tendencias y conexiones se mantienen.
El escalado del espacio determina el nivel de entidades y procesos. A gran escala - clima, migraciones, política. A nivel local - entidades individuales y sus propiedades. La lógica de causa y efecto es la misma en todos los niveles.
Las abstracciones abarcan un mundo de cualquier escala: una aldea, un planeta, una galaxia. Los detalles aparecen cuando se vuelven relevantes. El resto se describe de forma simplificada, pero conservando las conexiones.
El jugador puede profundizar en la estructura del mundo, estudiando entidades y navegando por sus propiedades - similar a navegar por un sistema de referencia.
Materialización del mundo
El mundo se construye a medida que se explora. Mientras el jugador no ha visitado una ubicación, existe como datos y reglas. Los objetos aparecen en el momento de la interacción, no se almacenan de antemano.
Fuera del campo de observación, los eventos los determina la probabilidad, no una simulación completa. El mundo parece coherente, aunque los detalles se crean bajo demanda.
Después de interactuar con una ubicación, su estado se guarda y ya no se recalcula.
En intervalos largos de tiempo funcionan las tendencias estadísticas. Mil años después del inicio, el sistema decide por probabilidad: qué especies sobreviven, cómo cambia el clima, dónde aparecen asentamientos.
Juego en red
El juego en red funciona con el mismo principio. El servidor almacena datos, reglas y lo que los jugadores ya han descubierto.
Si varios jugadores están en la misma zona, el servidor recopila el estado común y lo sincroniza entre ellos.
Fuera del área de juego, el mundo permanece como potencial - reglas y tendencias, sin detalles.
La arquitectura básica de red ya funciona: cada jugador recibe una sesión aislada a la que otros pueden unirse mediante un código. Las acciones se sincronizan en tiempo real.
La arquitectura como lenguaje
Datos, reglas, interfaz y comportamiento de agentes - un solo formato. Las entidades no se conocen entre sí, las conexiones surgen automáticamente a través de predicados compartidos.
¿Cómo funciona en la práctica? El bosque es una entidad con hechos: tiene madera, es un refugio, es inflamable. El hacha tiene un predicado Tala. La Tala actúa sobre la madera. El fuego actúa sobre lo inflamable. La sequía aumenta la inflamabilidad. Cada hecho es una sola línea. El bosque no sabe de hachas, el hacha no sabe del bosque. La conexión surge automáticamente a través de predicados compartidos. Si se añade un cortador láser con predicado Tala - funciona contra el bosque. Si se añade un bombardeo planetario con predicado Fuego - el bosque arde.
Si una situación de juego se puede describir con palabras - funciona en Nexus.
