Se trata de llenar el mundo del juego de sucesos espontáneos que sean desencadenados por un algoritmo de probabilidad, algo totalmente aleatorio, para generar dinamismo y organicidad en los mundos abiertos, para que parezca que todo es más humano y real.
Se trata de sucesos controlados por un sistema programado para que estos puedan ocurrir, no se trata de bugs inesperados o eventos prefijados que entras en un perímetro o área y este se activa, no, aunque si, este sistema se puede activar si entras en determinada zona, aunque no tiene que ser así siempre, puede activarse estando muy lejos, entonces se ejecuta un algoritmo de probabilidad que hará que si o no se ejecute el suceso en cuestión, el suceso estará marcado por el algoritmo de probabilidad.
Ir por ese mundo y que todo esté lleno de probabilidades, lleno de azar, como si alguien tirase unos dados de forma constante y la aleatoriedad te acechase a ti y al mundo de forma constante.
Voy a poner varios ejemplos, algunos son cosas cotidianas muy simples y que para nada son complejas de implementar para un estudio AAA, algunas de ellas no aportan nada a la jugabilidad, solo al enriquecimiento de la simulación del mundo virtual:
-Ir por el mundo y que a un NPC le de un infarto o vomite.
-Ir por el mundo y que un NPC resbale (podría ser con el vómito de otro) o se tuerza la pierna. Para los resbalones podría entrar un sistema más complejo de superficies donde cada superficie tiene más o menos probabilidad de generar la animación de caída o la física. Imagina en RDR2 que viene un NPC a dispararte y resbala con el barro porque el barro al correr incrementa bastante la posibilidad de que resbalen los NPCs si corren. Este es un ejemplo mod de RDR2, no ocurre en el juego vanilla, donde un NPC resbala al ir a por ti cuando está herido, otras aleatoriedades es que algunos NPCs se rinden y levantan las manos.-Ir por el mundo y que a un NPC se le caiga la cartera, teléfono, algún objeto de valor.
-Ir por el mundo y que un avión o helicóptero se estrelle. En GTA San Andreas hay un bug en que los aviones vuelan bajo y terminan estrellándose por equivocación contra edificios, está explicado en el hilo de Rockstar Games de este foro. hilo_hilo-oficial-rockstargames_2363333_s100#p1754845222-Ir por el mundo y que una maceta se caiga de un balcón. Sobre cosas que pueden caer de balcones, pues sería divertido añadir múltiples cosas como macetas, globos de agua, juguetes, etc... algo que ocurriría muy poco en el juego, pero que podría irse desencadenando con las horas de juego, el jugado igual pasaría y ya se encontraría el objeto caído.
-Ir por el mundo y que a un vehículo pinche una rueda.
-Ir por el mundo y que un caballo se ponga bravo, tire a un NPC y salga corriendo.
-Que a un NPC se le engatille la pistola (esto es posible que esté en algún juego)
-Que se caiga un árbol.
-Que una tienda un día cierre porque el vendedor está enfermo.
-Que un NPC se olvide de cerrar la puerta de su casa con llave.
-Que un NPC se suicide de múltiples formas, de un disparo, arrojarse a un tren, etc... En cyberpunk 2077 hay un evento donde en determinados puntos cuando te acercas cae un NPC que supuestamente se lanza al vacío ante el estrés de esa vida, aunque no es aleatorio. -Si echas carne al mar hay más posibilidad de que aparezcan tiburones o determinados tipos tiburón, un tiburón blanco por ejemplo, cazas un ciervo, lo cargas al maletero, lo troceas en una carnicería y lanzas la carne al mar.
-Si matas a un NPC en un piso y te quedas en este hay probabilidad de que te llamen a casa o no, la madre del NPC, si no respondes llama a la policía preocupada o hay más probabilidad de que lo haga.
-Ir en un helicóptero y que el motor falle. En este caso un jugador de DayZ experimenta un bug inesperado donde su helicóptero queda inutilizado y cae al mar directamente. -Ir en un coche y que el motor deje de funcionar.
-Ir en caballo y que el caballo muera fulminantemente por un infarto. Ahí ya lo que se le ocurra a la gente, porque se pueden ocurrir millones de cosas relacionadas con un sistema de probabilidad, algunas más complejas que otras, otras muy sencillas, lo que está claro es que muchas de estas cosas si han ocurrido han sido por bugs, han sido cosas no premeditadas, y lo que estaría bien es que se crease un sistema basado en probabilidad premeditado para todo tipo de sucesos.
Se que juegos como RDR2 tienen algoritmos de probabilidad en muchas cosas, pondré algún ejemplo en este post, y otros juegos también, pero no en el aspecto que digo de llevarlo todo a una simulación llena de probabilidades mundanas que harían del juego algo totalmente sorpresivo. Por lo general cuando juegas a un juego todo lo que ocurre sientes que está prediseñado para que ocurra así, raras veces ves esa aleatoriedad y generalmente es causada por fallos en el motor, o por ejemplo por el propio motor de físicas y el gestor de paths, que ya de por si funcionan como un sistema azaroso lleno de cálculos aleatorios con resultados como este:
En este caso el sistema de paths y el motor de físicas cumplen ya de por si ese trabajo, de hecho todo lo que tenga que ver con programar IA y físicas puede dar lugar a resultados inesperados como ese, algo que siempre ha chocado a los jugadores cuando han podido presenciar un suceso parecido en cualquier juego, y es algo que prevalecerá.
Pero sin ir más lejos, un ejemplo claro de este tipo de sistemas basados en la aleatoriedad también está en RDR2, hay un sistema de aleatoriedad con los rayos de la tormenta que se ajusta mucho más a este sistema de probabilidad, nunca sabes donde va a caer un rayo y puede caerte, es rarísimo, pero ocurre, creo que ese sistema describe perfectamente lo que habría que potenciar.
Un ejemplo que me gusta poner es el de los aligátores en RDR2, me parecen las criaturas más desaprovechadas del juego, además de que no atacan a NPCs.
Cuando en RDR2 te acercas a un alligator en tierra este te ataca porque tiene un radio en el que si te acercas rota sobre este, los que habéis experimentado con el juego lo habréis notado, y si entras dentro del límite del círculo sobre el cual rota te ataca y vuelve a su punto o huye, y en el agua igual, solo entrar al agua si estás suficientemente cerca del radio estos van a por ti y te atacan, si o si te van a atracar por cercanía, pero por ejemplo, no hay un algoritmo que haga que algunos se lancen a por ti desde tierra y te ataquen por probabilidad, que uno entre en modo ataque, o que simplemente huyan, siempre están parados, pero también podríamos complicarlo más, si estas manchado de sangre, ya que estos huelen la sangre en la vida real, puedan salir del agua y atacarte, o ir a por ti de forma aleatoria, la sangre influiría en ese sistema de probabilidad, igual que si llevas animales muertos en la bolsa como un conejo, todo ello sin tener que entrar en ese perímetro.
El sistema de ataque y huida existe solo ante determinados actos, por ejemplo, si disparas huyen, lo cual es normal, pero no existe un sistema de probabilidad, no existe un sistema en el cual si estás pescando uno se te acerque al azar y te ataque en la orilla, o si estás cerca que huya de miedo o te ataque, en el juego todo es estático y matemático, no hay azar, están ahí parados todos, todos hacen lo mismo, ninguno se diferencia del resto, solo te atacan si entras al perímetro y si no entras ahí se quedan esperando.
Lo curioso es que en juegos como GTA V o RDR2 donde si hay esa facilidad de implementar todo esto no lo hayan hecho o haya sido de una forma muy superficial sin darle casi importancia.
Por ejemplo, en GTA V hay un sistema de ambulancia donde se recoge a los heridos o muertos, el mismo sistema puede recoger a un muerto por infarto, o un muerto por una maceta. Si va un NPC y le cae una maceta se la quedará mirando y seguirá su camino, si le cae y lo mata el resto de NPCs actuarán igual que si le hubiera dado un infarto o hubiera quedado noqueado por una pelea contigo, llamarán a la ambulancia.
Se podría introducir aleatoriedad en todo, por ejemplo, si la policía te para el coche en un control de policía la aleatoriedad podría decidir si te dejan seguir o no o si te registran el vehículo, e incluso como dije, podría estar asociada a elementos del entorno como ropa, superficies, estado del vehículo, si ven que el vehículo está dañado es más probable que te paren a que si está en buen estado, pero siempre será aleatorio, se lanzarán los dados, aunque la probabilidad esté en cualquier extremo.
Lo mismo que entrar a un local, si llevas determinada ropa la aleatoriedad podría hacer que te dejen o no pasar, por siempre habría la probabilidad de pasar o no, aunque esta se incremente o reduzca en el sistema, no sería que si llevas x ropa no entras, sería que si llevas x ropa tienes una gran probabilidad de que no te dejen entrar, pero siempre podrías ser sorprendido ante algo inesperado.
Esto no sería aplicable a todo y ciertas cosas se desactivarían durante las misiones para evitar problemas en ellas.
En un mundo abierto online tendría mucho más jugo un sistema de probabilidad con mucha profundidad ya que no estás anclado al personaje, por ejemplo, un juego con muerte permanente como DayZ, supongamos que hay bandidos NPCs para el PvE y el juego tiene un apartado técnico decente, si te apuntan y te piden que te estires en el suelo o lo que sea, igual matan a tu compañero pero a ti te dejan vivo, o igual al revés, o igual os perdonan la vida a los dos, o igual os matan a los dos, generando una interacción mucho más humana porque todo es más impredecible, se acercaría mucho más al comportamiento que tendrían unos jugadores reales, ya que no sabes como actuarán, mientras que en un juego suele ser ataque o pasividad, y si ves algo así suele estar scripteado, forma parte del guion, sucede así y no de otra forma.
Yo creo que se podrían hacer muchas cosas así, incluso muchas no tan complejas como la de los rayos, se podrían introducir muchos elementos de aleatoriedad que harían sentir al jugados que el juego no es todo matemático y hardcoded, más bien que todo más orgánico, dinámico e inesperado como cuando ocurre un bug en el juego.
¿Creéis que se debería de potenciar algo así más?