Evolución de un personaje

CURSO «CREACIÓN DE VIDEOJUEGOS». Lección 12/29 (PCA#209): La IA (y III). Inteligencia Artificial de un videojuego: ¿jugando a ser Dios?. Terminamos a continuación la parte de desarrollo dedicado a la IA de un videojuego

Daniel González (Diseñador de videojuegos)

Evolución de un personaje

13 agosto 2009

CURSO «CREACIÓN DE VIDEOJUEGOS». Lección 12/29 (PCA#209): La IA (y III)

Inteligencia Artificial de un videojuego: ¿jugando a ser Dios?

NIVEL: Intermedio

En esta entrega terminamos la parte de desarrollo dedicado a la IA de un videojuego, un tema que, por nuestra experiencia, hemos podido comprobar que os interesa mucho. Nos alegramos porque es una parte importante en el proceso de creación.

Una de las cosas que más preocupa a la industria es fabricar entornos reactivos, y lo más interesante es que esto se empieza a aplicar a otros sectores fuera de los videojuegos, como simuladores sociales para formación, reconstrucciones virtuales y simuladores bélicos para los ejércitos.

Básicamente, estos entornos reactivos ya existen en muchos juegos, pero se basan en una relación «causa-efecto»; es decir, yo provoco algo y en consecuencia pasa algo (la gente huye, el escenario se derrumba o cambia de forma…).

Juegos como Los Sims son la primera piedra de los nuevos entornos reactivos y evolutivos, que evolucionan solos, tanto porque nosotros provoquemos algo como porque, sencillamente, un personaje decida evolucionar por sí mismo.

El acierto de este «simulador social» es cómo está creado y diseñado su sistema de inteligencia artificial, ya que se reproducen comportamientos y acciones posibles (previamente definidas por el autor) y se las asocia a elementos concretos del juego. Esto crea situaciones divertidas al poder interactuar con un objeto de varias maneras, por ejemplo en la forma de comportarse un «sim» ante los elementos que creamos dentro de la casa, donde las posibilidades son muy variadas.

El juego que está tratando de ir más allá en la evolución de la IA es Spore, del diseñador Will Wright. Se trata de un juego que simula la evolución de una especie desde las etapas más primitivas (seres unicelulares) hasta la colonización de la galaxia por parte de ésta. Con esto os queremos decir que no es ciencia-ficción de lo que hablamos, que ya está ahí.

Ahora bien, ¿cómo podemos aprovechar esto en nuestro diseño de videojuego o cómo diseño algo tan evolutivo? Muy fácil, jugando «a ser Dios». Aunque a nivel de programación es un mundo complejo y tremendamente largo, se resume en una serie de reglas y factores que tenemos que definir. Lo que hay que crear es nuestro propio espacio evolutivo, con evoluciones predefinidas o aleatorias y un marco donde poder combinar todo esto.

Paso 1

Crea las reglas

Si nos imaginamos que tenemos un simulador social, supongamos que queremos que el resto de jugadores que no controlamos puedan evolucionar y llegar a situaciones nuevas. Para eso crearemos las reglas de evolución. Lo primero es marcar qué evoluciona; por ejemplo la ropa. Un personaje puede irse creando distinta ropa y aparecer en varias fases con modelos aleatorios.

Otro elemento de evolución es el del carácter: un personaje puede ser amable, terco, estar enfadado, sentir afinidad por unos personajes u odiar a otro grupo. Como veis, en realidad lo que tenemos son tablas de situaciones a las que pueda evolucionar el personaje. Las podemos hacer en Excel y definir simplemente que tal personaje «Y» puede evolucionar a «X» posibilidades.

Paso 2

Define cuándo evolucionan

Esta parte es la más difícil porque es cuando interviene la jugabilidad. Antes sólo hemos enumerado posibilidades de evolución de un personaje, pero imaginemos un simulador social que se juega a través de Internet, donde tenemos personajes controladores por jugadores y NPC (los controlados por la IA del juego) cuya función es crear situaciones, ya que, a lo mejor, las personas no entran en contacto o no crean situaciones de juego.

Bien, pues nuestros NPC tienen la habilidad de «tocar las narices» a los jugadores para obligarles a hacer algo. Lo bonito sería que nadie supiera qué rol está controlado por una persona y cuál por la IA, para lo cual ese personaje tendría que cambiar constantemente.

Para ello, de nuevo nos crearemos unas tablas de Excel donde podemos definir dos tipos: situaciones de evolución creadas por el jugador y las creadas aleatoriamente sin ninguna regla. Éstas últimas deberían ser las más superficiales, como por ejemplo la evolución física del personaje. Pero las primeras han de ser algo que aporte jugabilidad.

Un buen ejemplo sería un caso en el que un jugador se pasa al «lado oscuro» y el resto de personajes evolucionan hacia una postura contraria o negativa hacía él, incluso puede que hablen mal de ese jugador al resto de jugadores. Para ello marcaríamos en nuestra tabla de Excel que si cometemos determinados actos, los personajes que no controlamos evolucionan hacia ciertas posturas.

Otro ejemplo sería para un juego de naves. ¿Cómo evoluciona el armamento y las características de las naves rivales? Imaginad que subimos de nivel y creamos una nave muy poderosa en ataques a distancia pero que, por el contrario, es muy lenta. El resto de naves controladas por la IA deberían tener la capacidad de decidir en función a las posibilidades de nuestra tabla de Excel cómo evolucionar y convertirse en naves muy rápidas que nos hagan más daño en combate.

¿A que ahora ya vais entendiendo para qué sirve la evolución? Los juegos de estrategia podrían ser increíbles si los ejércitos enemigos atacaran nuestros puntos débiles. Juegos impresionantes como Rome: Total War tienen una buena simulación de combate pero al cabo de equis horas veías perfectamente que el ataque de los enemigos sigue una máquina de estados, va pasando por determinados ataques predefinidos hasta que con uno te hace daño; es decir, es muy mecánico y predecible.

Al final, los jugadores, que solemos ser muy vagos, nos aprendemos tres tipos de ataques y los usamos hasta el final. Por el contrario, en la vida real el enemigo aprendería de sus errores. Si nosotros definimos posibilidades y momentos de evolución, el ejército enemigo tendría casi infinitas posibilidades de atacarnos y será muy difícil que veamos un mismo combate más de dos veces.

Paso 3

Mi propia evolución

Esta parte cada vez tiene más peso en los videojuegos y aún falta un largo camino para que sea real, pero las bases ya están asentadas. Hasta ahora hemos visto juegos como los de Star Wars en los que nuestros actos nos llevan hacia el lado oscuro de la Fuerza o hacia la luz de los Jedis. En otros juegos de rol, como Neverwinter Nights 2, nuestros actos afectan al resto de personajes pero, ¿por qué no puede evolucionar mi personaje solo?

Está claro que siempre va a ser marcado por los actos propios, pero si jugamos en un título multijugador on-line ¿por qué no va a afectarnos lo que hagan los demás? Esto tiene relación con la propia línea argumental del videojuego.

Por eso, lo primero que haremos será crear líneas argumentales o misiones que sólo se puedan hacer cuando el jugador evoluciona hacia algo en concreto; eso le dará un abanico de jugabilidad fantástico al jugador, además de una gran profundidad a la historia. En los juegos de rol se hace más interesante, porque podemos equipar al personaje con determinados poderes o con diversas armas. Pero ¿por qué no se vuelve más arrogante si tiene más poder?

Sería sencillo definir un tipo concreto de animaciones de andares más chulescos o unas contestaciones y forma de hablar más duras. Pero también deberíamos definir que si abusamos de determinadas magias, el jugador sufra por su uso, por ejemplo evolucionando a perder velocidad o puntería en las armas de larga distancia.

Paso 4

Concluimos con la IA

Lo que hemos visto quizá os pueda parecer demasiado teórico pero es interesante hacer pruebas y estudiar estos caminos, porque el mercado de los videojuegos evoluciona, y nunca mejor dicho, hacia ese lado.

Técnicamente, en cuanto a calidad gráfica, estamos empezando a llegar a un techo, es como cuando sólo había escenarios 2D que eran render fijos de modelos 3D. Cuando ya eran fotorrealistas y no impresionaban más, saltamos a tener escenarios 3D en tiempo real.

Pues con la IA pasa lo mismo. Si la industria se vuelca hacia juegos en red no lineales, lo importante es la evolución de todos los personajes, con lo que empezar desde ya a meter pequeñas partes de evolución en cualquier desarrollo es trabajo ganado para el futuro.

En la siguiente entrega veremos los ítems de un videojuego. Desde los básicos como la vida o munición hasta los que nos permiten evolucionar el personaje o subir de nivel. Y aprenderemos a cómo hacer un buen uso de estos recursos, tanto en guión como en jugabilidad.

Temas Relacionados