Los Sims es una casa de muñecas digital, habitada por pequeñas personitas virtuales.
Y es tu trabajo mantenerlas vivas y felices, así como mantener sus casas
provistas de muebles y accesorios cada vez más caros.
Pero la microgestión de las necesidades y deseos de una familia entera puede llegar a ser muy tedioso.
Así que los desarrolladores en Maxis pronto se dieron cuenta que
necesitarían darle a estas personitas una cierta cantidad de autonomía.
Libre albedrío.
La capacidad de pensar por sí mismos cuando el jugador no estuviera dándoles comandos directos.
Lo que, eventualmente es... ¡Una labor muy complicada!
Estos personajes deben parecer seres humanos convincentes.
Y deben ser capaces de adaptarse a cualquier casa que contruyas a su alrededor
o a cualquier situación en la que se encuentren.
Pero es indispensable que no sean demasiado inteligentes,
para que no limiten al jugador a sólo observar y no hacer nada.
Así que, ¿cómo haces una I.A. que sea capaz de cumplir con todo eso?
Bueno, pues, eso es exactamente lo quiero explorar en este vídeo.
Voy a desglosar los ingeniosos métodos que usaron en Maxis para diseñar el componente
de autonomía en esta franquicia de cuatro juegos. Aunque centrándome sobretodo en el juego original
y, seamos honestos, en el mejor de todos: Los Sims 3.
No vamos a ponernos demasido técnicos, pero si quieres ahondar más en el tema,
dejaré una buena tanda de fuentes y recursos en la descripción de este vídeo.
Habiendo dejado eso en claro, soy Mark Brown, esto es Game Maker's Toolkit
y hoy vamos a ver cómo "piensan" los Sims.
Bien. La toma de decisiones en Los Sims se rige por un conjunto de necesidades
psicológicas y físicas. A las que en Maxis denominan "motivos".
En Los Sims 1, esas son el hambre, la higiene, la diversión, la energía,
la vejiga, la comodidad y la habitación o el orden de esta.
Todas ellas van desde 100 en negativo hasta 100 en positivo.
Y si las combinas todas, obtienes el valor total de felicidad de un Sim.
Estos contadores están en constante disminución, cada una decayendo a una velocidad distinta
que aumenta si el Sim está realizando una acción relacionada a la necesidad.
El contador de la vejiga baja más rápido cuando el Sim está comiendo, por ejemplo.
Maxis ajustó cuidadosamente cada tasa de disminución con el objetivo de imitar
la rutina normal de un ser humano. Como necesitar dormir ocho horas y comer tres veces al día.
Por lo que, si el jugador no le da una orden al Sim, este decidirá qué hacer por su cuenta.
Y esa decisión está impulsada por el deseo de satisfacer alguno de estos "motivos".
Ahora bien, puede que creas que un Sim sabe qué cosas le corresponden a cada necesidad:
el baño para orinar, el refrigerador y la estufa para el hambre;
y los libros, la televisión y mesas de pinball, para la necesidad de diversión.
Sin embargo, no es así cómo funciona. En realidad, funciona de forma opuesta.
En su lugar, son los objetos en la casa del Sim los que poseen esta información,
y le comunicarán lo que pueden ofrecer.
Una cama le dirá "Úsame para dormir y obtener 10 puntos de energía",
un baño le ofrecerá 20 puntos a su vejiga o 5 puntos al orden si el Sim lo limpia.
Y otros Sims actuarán como formas de ganar puntos sociales.
En Maxis se refieren a esto como "Ofertas".
Siempre que un Sim decide qué hacer, realiza rápidamente una lista
de todos los objetos de la casa y lo que estos tienen para ofrecer.
El Sim puede entonces sopesar el valor que ofrece cada objeto, en base a sus necesidades.
Y lo hace al aplicar un multiplicador al valor ofertado por el objeto,
dependiendo del nivel de necesidad actual del Sim.
Por ejemplo, si el Sim no está cansado, el aumento de energía que da una cama se ve reducido.
Pero si el Sim está exhausto, entonces ese mismo valor se verá potenciado exponencialmente.
De esa manera, el Sim puede comparar la lista de interacciones
con sus respectivos valores y clasificarlos.
En lo más alto de la lista, pondrá la interacción que más lo beneficie de momento.
Y acto seguido, la personita digital elegirá esa interacción.
Este ingenioso sistema está inspirado en el juego anterior del diseñador Will Wright: SimAnt.
Una colonia virtual de hormigas donde se usan feromonas de atracción
para incentivar a los insectos a realizar ciertas acciones.
Es básicamente el mismo principio, pero en lugar de feromonas, se usan
televisores, refrigeradores, juegos de mesa y bañeras.
No obstante, las personas no son hormigas.
Por lo que, si este sistema se implementara exactamente como lo acabo de describir,
daría lugar a comportamientos extraños que harían
parecer a los Sims como seres robóticos o irracionales.
Así que es necesario hacer varios ajustes prudentes para hacer que funcione apropiadamente.
Por ejemplo: no todas las necesidades tienen la misma prioridad.
Si un Sim está muriendo tanto de hambre como de aburrimiento,
debería preferiblemente comer un sandwich antes que sentarse a ver Netflix.
Pero si tanto la tv como el refrigerador le ofrecen ambos el mismo valor...
¿Entonces cuál de ellos debería elegir el Sim?
Bueno, se puede lograr un comportamiento más racional definiendo curvas únicas para cada "motivo".
Para el hambre, buscamos una curva como esta:
si bien el valor ofrecido por el refrigerador bajará hasta casi cero cuando el Sim esté lleno,
será extremadamente alto cuando el Sim esté muy hambriento.
Dándole mayor prioridad que a cualquier otro motivo.
De forma similar, se definen curvas más pequeñas para otras necesidades fisiológicas
como el orinar, la higiene y la energía.
Sin embargo, necesidades menos importantes como el entretenimiento, la socialización y la comodidad
tienden a incrementar aún más entre más feliz esté el Sim.
Esto está basado en la Pirámide de Maslow, que establece que los seres humanos darán
prioridad a necesidades cognitivas y sociales sólo cuando hayan cubierto sus necesidades más básicas.
Además, la necesidad de orinar se ve saciada al momento en el que vamos al baño.
Pero cuando se trata del entretenimiento; siempre queremos más.
También se pueden evaluar los valores que ofrecen los objetos, en base a otros factores.
Por ejemplo, cada Sim tiene una personalidad propia.
Determinada por unos valores en áreas como la amabilidad, pulcritud y carácter lúdico.
De manera que, aunque una mesa de pinball y una biblioteca ofrezcan el mismo aumento de diversión,
un Sim escogerá alguna, basándose en su nivel de carácter lúdico.
Por lo tanto, un Sim que sea de carácter más serio escogerá leer un libro.
Adicionalmente, la interacción también se evaluará en función de su distancia respecto al Sim.
Lo que provocará que los objetos cercanos resulten más tentadores para este.
Por último, algunas interacciones tienen mayor prioridad: como una llamada o el autobús escolar.
Y otras interacciones pueden pueden verse bloqueadas por completo.
Por ejemplo, ciertos objetos no ofrecerán ningún valor a niños, adultos o a huéspedes.
Todos estos factores combinados proporcionan un valor o puntaje
mucho más adecuado para el Sim, ajustado a sus necesidades, personalidad y proximidad.
Y es de acuerdo a estos valores que el Sim decide cuál será su siguiente acción.
Sin embargo, y probablemente lo más importante, el Sim en realidad no siempre escoge la mejor opción.
En su lugar, el Sim elige al azar alguna de las interacciones con mayor puntaje en la lista.
Esto evita que los Sims se sientan robóticos y excesivamente predecibles,
a la vez que garantiza que no vayan a satisfacer todas sus necesidades al completo.
Para que así el jugador, bueno, pueda tener algo que hacer.
Lo que he descrito hasta ahora, es un tipo especial de inteligencia artificial, llamada
Inteligencia Artificial utilitaria o también
Inteligencia Artificial basada en necesidades.
Consiste en un sitema en el cual un personaje posee un conjunto de necesidades predefinidas,
evalúa las opciones disponibles a su alrededor y elige la que mejor cumpla con sus necesidades.
La que tiene mayor "utilidad".
Y en Los Sims, eso significa que una de estas mini personas puede
ser colocada dentro de cualquier casa y actuará de forma realista:
atendiendo debidamente sus necesidades alimenticias y energéticas cuando sea necesario,
y usando el resto del tiempo para socializar y divertirse.
Asimismo, al hacer que sean los objetos los que contengan los valores y no los Sim,
Resulta más fácil para Maxis poder añadir cientos de objetos nuevos al juego,
o agregar un sinnúmero de expansiones, sin tener que tocar el resto del código del juego.
Es por estas razones, que este sistema base ha sido usado en los cuatro juegos de la franquicia.
Sin embargo, en Maxis querían llevar las cosas aún más lejos
cuando se encontraban diseñando el ambicioso tercer juego de la saga.
Bien, pues, en Los Sims 1; vimos cómo la personalidad de cada Sim,
como su pulcritud y carácter lúdico, influye en su toma de decisiones.
Esto hace que cada Sim se sienta único en cierto modo.
Pero para Los Sims 3, esta idea fué dramáticamente expandida
al reemplazar los medidores de personalidad por rasgos o atributos.
Cosas como "pulcro", "neurótico", "dormilón" o "inseguro".
Con 5 ranuras para poner un rasgo y 60 rasgos en total solamente en el juego base,
hay aproximadamente 5 millones de combinaciones distintas, haciendo que cada Sim sea, en efecto, único.
Estos ragos influyen de muchas maneras en la identidad del Sim,
haciendo que un Sim "torpe" tropiece al caminar
o que un Sim "holgazán" se eche gases y eructe cuando esté quieto.
Los Sims también cambiarán de humor al realizar actividades que se relacionen con sus rasgos
y hay también ciertas interacciones que son exclusivas de ciertos Sims con rasgos específicos:
por ejemplo, un experto en informática puede hackear para conseguir dinero.
No obstante, estos rasgos también influyen en la toma de decisiones del Sim.
Esta vez, sin embargo, en lugar de evaluar los valores en base a la personalidad del Sim,
Los Sims 3 simplemente añade más "motivos" para considerar.
Por lo que, en el código, cada Sim tiene sus necesidades básicas usuales;
como el hambre, la energía y la necesidad del baño,
pero también cuentan con otros 5 motivos, relacionados a sus rasgos.
Así pues, un "sendentario" necesita sentarse en el sofá a ver la televisión
en la misma medida en la que necesita comer, ir al baño y dormir
Y así, de la misma manera en la que un refrigerador se ofrece como una solución al motivo "hambre",
otros objetos pueden ofrecerse como soluciones a motivos específicos de un rasgo de un Sim.
Por ejemplo, las interacciones como asustar a un Sim, robarle el dulce a un niño,
aplastar una casita de muñecas y escribir un comentario troll en la computadora de otro Sim
son todas interacciones ofrecidas a aquellos Sims que tengan el rasgo de "malvado".
Esto quiere decir que los Sims son alentados a actuar de forma autónoma
de acuerdo a sus respectivas personalidades, al tiempo que velan por sus necesidades básicas.
Ahora bien, esta idea de agregar motivos adicionales a un Sim
puede usarse también para simular situaciones sociales.
Por ejemplo, si un Sim entra a un gimnasio, ganará temporalmente el motivo "ejercitarse",
el cual será satisfecho solamente por los objetos del gimnasio a su alrededor,
como un banco de ejercicios o una cinta para correr.
Y cuando se vaya, perderá el motivo.
Estando en casa, un Sim será alentado a tratar con hospitalidad a los invitados que tenga
a la vez que estos serán alentados a comportarse de una forma que sea socialmente aceptable.
Y en Los Sims Medieval, el Sim adquirirá motivos relacionados al trabajo, mientras
esté en horas laborales; y los perderá durante los descansos o tiempo libre.
No obstante, estos motivos pueden ser alterados por los rasgos del Sim.
Por ejemplo, si un Sim se sienta a tener un picnic, los amigos y familia de ese Sim
serán alentados a unírsele, y los Sims desconocidos serán desalentados de hacerlo.
Pero un Sim que tenga el rasgo de "inapropiado", pasará por alto esta condición, y en cambio,
querrá sentarse con personas que no conoce, sólo para incomodarlos.
Todo esto implica que los Sims se comportarán de forma realista y convincente en cualquier situación
en la que estén, pero con un par de Sims actuando de forma extraña debido a su personalidad única.
Esto es posible simplemente ajustando las motivaciones del Sim en cuestión,
en lugar de establecer una serie de reglas e interacciones específicas.
Aunque, aún con todo, algunas veces es necesario establecer reglas más estrictas.
Tomemos el ejemplo de la visita que mencioné.
Un Sim visitante es, en efecto, alentado a comportarse de una forma apropiada.
¿Pero qué pasa si prolonga demasiado su estadía?
¿O si el jugador interviene y hace que el Sim se comporte de forma inapropiada?
Bien pues, para que esto sea posible, la visita a la casa está sujeta
a una serie de reglas que dictan cuáles son las normas sociales a seguir.
Así, si un huésped duerme en la cama del anfitrión o usa su computadora,
el conjunto de reglas instruirán al anfitrión para que le llame la atención al invitado
o para que lo saque de la casa si su comportamiento persiste o empeora.
Así mismo, las conversaciones requieren mayor intervención directa para reflejar
interacciones extremadamente específicas o formas de expresión marcadamente distintas.
Por ejemplo: ¿Cómo debería reaccionar un Sim ante un chiste de alguien con quien está furioso?
¿O ante un chiste que ya ha escuchado 5 veces seguidas?
La respuesta dependerá de unas reglas,
que involucran una entrada, una serie de condiciones y una salida
Por lo que, para el escenario del chiste...
Si el Sim tiene el rasgo "buen sentido del humor", este se reirá.
Si su relación a largo plazo con el otro Sim no es buena, se sentirá ofendido.
Y si ya ha escuchado múltiples chistes uno tras otro, se aburrirá.
Estas autodenominadas "Reglas de producción" están ordenadas en base a su uso específico,
definido por el diseñador, y el resultado con el mejor puntaje es el que se usará como repuesta.
En Maxis, acabaron escribiendo cerca de 1000 reglas hechas a mano
que determinaran las respuestas para cerca de 100 temas de conversación posibles.
Y ya que sólo se usa la respuesta específica más adecuada de entre las posibles respuestas,
no se producen conflictos, errores en el juego, bucles infinitos o cualquier otro tipo de problemas.
Igual que con los objetos, los desarrolladores pueden seguir ampliando el abanico de respuestas.
Hasta ahora, hemos estado hablando de Sims de forma individual.
O en contextos sociales pequeños como conversaciones o fiestas.
¿Pero qué ocurre si ampliamos la escala a un pueblo entero?
Ocurre que, en Los Sims 3, tu casa hace parte de un extenso macrovecindario
junto a docenas de otros Sims; así como también casas, restaurantes, un parque, entre otros.
En Maxis debían inventar nuevas herramientas que garantizaran su funcionamiento,
pero a decir verdad, el macrovecindario opera de una manera similar a como lo hacen los Sims.
Esto se debe a que el pueblo también tiene unas necesidades o "motivos"
y toma decisiones que le faciliten satisfacer esas necesides.
Por ejemplo, el pueblo intenta tener idealmente un equilibrio de género de 50/50.
Así que, cuando se agrega un Sim nuevo al vecindario,
La probabilidad de que sea masculino o femenino estará sujeta a las necesidades actuales del pueblo.
El pueblo también necesita una tasa de empleo de alrededor del 80%, así que forzará
la contratación o el despido de algunos Sims secundarios como mejor considere.
Básicamente; una vez al día, a la medianoche, el pueblo comprobará su nivel de felicidad
y tomará algunas medidas con el fin de satisfacer sus necesidades.
Los establecimientos individuales también tienen motivos propios.
El restaurante, por ejemplo, querrá tener un aproximado de 8 personas
comiendo en las mesas de afuera durante las horas del almuerzo y la cena.
Para lograr eso, el establecimiento le otorgará provisionalmente
a algunos Sims, el motivo de "comer afuera" para tentarlos a ir al restaurante.
El restaurante puede incluso limitar su efecto a Sims que tengan rasgos específicos,
como "culinaria" y alejar a aquellos con otros rasgos como "frugal".
Ahora bien, estos Sims en el restaurante parecen ser individuos completamente autónomos.
Tienen necesidades, tienen familias e incluso pueden haber tenido un bebé
o haber cambiado de empleo desde la útima vez que los viste.
Así que, ¿Acaso viven sus sencillas y simuladas vidas detrás de cámara?
Bueno....
no realmente.
Los Sims secundarios son en realidad simulados a un nivel de detalle muy básico.
Cada día, el sistema analiza a cada Sim, y le asigna posibles cambios en su vida
que puedan tener lugar: como obtener un empleo, econtrar una pareja o contraer matrimonio.
Estos cambios son determinados en base a los rasgos, relaciones preexistentes y trayectoria profesional.
Los desarrolladores también crearon modelos para trazar
cómo cambian las necesidades de los Sims en el transcurso del día.
Así, después de la hora del almuerzo, por ejemplo, probablemente no estarán muy hambrientos.
Y cuando un Sim secundario es promovido a ser un Sim principal,
debido a que se encuentra cerca del jugador
el sistema comprueba la hora del día y aplica los motivos correspondientes al Sim.
Bastane igenioso.
Así que ya tenemos herramientas para simular personajes,
conversaciones, visitas, restaurantes y ciudades enteras.
Se vuelve entonces tentador simular todo tipo de de cosas cuando se tiene semejante tecnología.
Tomemos por ejemplo la regla del urinario.
Si has usado uno antes, ya sabes cómo va el asunto:
cuando vayas a usar uno, intentar mantenerte siempre
a un urinario de distancia respecto de la otra persona.
Es como una norma social no escrita.
Los de Maxis añadieron esta regla al juego también...
Pero luego la removieron antes de sacar al juego.
Eso se debe a que, cuando los Sims seguían esta regla, se volvía un poco predecible y aburrida.
En cambio, si los Sims elegían urinarios de forma aleatoria,
se producían momentos extraños entre los Sims, que a menudo resultaban graciosos y memorables.
Verás, aunque Los Sims nació como un juego de simulación complejo;
esencialmente un SimCity, pero a una escala mucho más pequeña,
rápidamente se convirtió en algo muy diferente.
En los playtest del juego original, Will Wright se sorprendió de ver que los jugadores
creaban historias elaboradas acerca de sus familias de Sims.
Embelleciendo ciertos detalles, interpretando sus decisiones y resaltando momentos al azar.
"Me resultaba fascinante la facilidad con la que la gente ideaba historias en el juego", dice Wright.
Así que, para fomentar eso, en Maxis añadieron al juego una funcionalidad a último minuto:
la posibilidad de hacer una captura, escribir un comentario y crear un cómic sencillo
que luego podría ser subido a la página de EA con sólo un clic.
Esta funcionalidad fué extremadamente popular, probando que para muchas personas...
Los Sims era un medio para contar historias.
Y eso sigue siendo verdad a día de hoy: basta con buscar "Los Sims" en YouTube para comprobarlo.
Pero dar soporte a la creación de historias es algo muy delicado de equilibrar:
el juego necesita ser lo suficientemente específco para poder crear historias detalladas,
pero lo suficientemente ambiguo, para que los jugadores todavía puedan rellenar los espacios con su imaginación.
Por lo que la pieza final para este puzzle de I.A....
es saber cuándo contenerse.
Saber qué cosas NO se deben simular.
Saber cuándo hacer que la elección de urinario sea aleatoria en lugar de estar predefinida.
Una forma de hacer esto, es implementar la ambigüedad cuidadosamente.
Básicamente, dejar algunas cosas sin definir, para que los jugadores puedan hacer sus propias
supocisiones y plantear su propio headcanon sobre los eventos que ocurren en pantalla.
Un buen ejemplo de esto, es el icónico dialecto que balbucean los Sims,
conocido como "Simlish".
En registros de etapas tempranas del desarrollo, se puede ver que en Maxis experimentaron con
hacer que los Sims hablaran idiomas reales como el inglés, el Navajo, el Estonio y el Ucraniano.
Pero debido limitaciones técnicas y logísticas, se decantaron por contratar a dos comediantes
para que inventaran un lenguaje absolutamente incoherente.
Sim: Droba droba droba. Seeka neeba huh.
Esto funciona de maravilla a decir verdad. Cuando los Sims conversan en su lengua incoherente,
el jugador puede asumir lo que dicen, rellenar los espacios, proyectar su
propia imaginación sobre los Sims y hacer suya la narrativa del juego.
"Si usáramos idiomas reales, el juego pecaría de ser simplista y perdería encanto,
y todo el mundo tendría la misma experiencia", comenta Matt Brown, empleado de EA, sin relación.
La ambigüedad puede también hacer que los Sims parezcan ser más inteligentes de
lo que en realidad son y disimular los casos en donde la simulación presenta errores.
Otro método es seguir siempre el ritmo del jugador y no usar nunca la autonomía
para alejarse de la historia que el jugador está tratando de contar.
Esa es la razón por la que los Sims usarán su libre albedrío para aliviar su vejiga
y llenar su estómago, pero nunca renunciarán a su empelo o iniciarán un romance con un Sim aleatorio.
Similar a como ocurre con el Sistema Némesis de Shadow of War.
Los de Maxis se inspiraron en la regla de aceptar y sumar, "Sí y..." propia de la comedia improvisada.
De manera que los Sims actuarán a tono con las acciones del jugador, y no en contra de estas.
Por ejemplo, si el jugador hace que dos Sims entablen un romance,
el sistema de autonomía no hará que rompan la relación.
Igualmente, los Sims creados por el usuario entran al mundo sin una preferencia sexual.
Pero si un Sim masculino es instruído a coquetear con otros Sims masculinos,
el juego entenderá que ese Sim deberá ser bisexual u homosexual y se adaptará a ello.
El juego intentará siempre mantener la consistencia de la historia del jugador.
Como vimos, Los Sims cuenta con un fascinante sistema de inteligencia artificial, que permite
simular humanos de forma realista y crear narrativas guíadas por el jugador.
Y buena parte de este sistema está impulsado por un concepto bastante simple.
Personajes, lugares y vecindarios enteros son dotados de un conjunto de necesidades
y estos toman las decisiones que mejor los ayuden a satisfacer esas necesidades.
Y haciendo los ajustes adecuados, se consigue crear personajes convincentes, situaciones sociales
donde los Sims se comportan de forma apropiada y vecindarios enteros, consistentes y equilibrados.
Pero la utilidad de este sistema no se limita solamente a simuladores casuales de vida.
La Inteligencia Artificial Utilitaria también es implementada en otros tipos de juegos.
Como por ejemplo en XCOM, donde un enemigo evaluará cada casilla dentro de su rango
y le asignará un puntaje en base a factores como la distancia, posibilidades de flanqueo,
ángulos, cobertura extra, visibilidad y proximidad; antes de moverse a la casilla con mejor puntaje.
También puede ser usada en la generación procedural
para la construcción de mundos que cumplen con unos requisitos predeterminados.
La I.A. Utilitaria es una adición fantástica al abanico de herramientas de un desarrollador.
Y su implementación en Los Sims, puede servir como un maravilloso
ejemplo a seguir para desarrolladores de videojuegos.
Y para terminar, sólo para estropear tus neuronas, aquí tienes a Katy Perry cantando en Simlish.
Katty Perry: [absolutamente incomprensible]
Katty Perry: [palabrería sin sentido]
NT: Estoy perdiendo neuronas, aiuda. ;_;
Katty Perry: [creo que me está dando un derrame]