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]