Fundamentos de IA de juegos

Publicado: 7 septiembre, 2011 en Sin categoría

Por Geoff Howland

pathfinding.jpg

La IA (Inteligencia Artificial) de juegos es el objeto de mucha discusión recientemente, con una buena causa. Como los juegos avanzaron con rapidez en los ámbitos de gráficos y sonidos, esto viene a ser cada vez más evidente cuando las acciones de los jugadores controladores por el juego no están funcionando en una manera “inteligente”.

Más importante que la inteligencia de jugador controlado por el juego, es realmente la estupidez del jugador controlado por el juego. La mayoría de jugadores no están esperando parar cargar shooter en primera persona más reciente y enfrentarse contra el profesor Moriarty con una pistola de clavos. Ellos esperan que no estén jugando contra un paciente de lobotomía endogámica que está confundido por la complejidad de una esquina.

IA del comportamiento de las unidades

La IA de juegos no es necesariamente IA en el sentido estándar de la palabra. La IA de juegos para unidades es realmente un intento de programar cualidades de la vida real para proporcionar un desafío o una apariencia de realidad.

Un guardia en un juego que está parado en un lugar y nunca moviéndose puede, parecer muy poco realista. Sin embargo, si creas una rutina para hacer que el guardia mire a su alrededor en diferentes direcciones de tiempo en tiempo, o para que cambie su postura, puede empezar a parecer más vivo. Al crear una situación en la que otro guardia, que camina en una ruta previamente hecha, ocasionalmente se detiene delante del guardia que está en pie y parece hablar con él, la apariencia de realidad puede ser incrementada considerablemente.

Hay dos categorías de acciones en unidades de IA: Reaccionaria y espontánea.

Las unidades actúan en una manera reaccionaria cada vez que están respondiendo a un cambio en su entorno. Si un enemigo te ve y empezar a correr hacia ti y dispara, entonces ha actuado como una reacción al verte.

Las unidades actúan de una manera espontánea cuando realizan una acción que no se basa en algún cambio en su entorno. Una unidad que decide  moverse de su puesto de guardia de pie a un centinela caminante alrededor de la base, ha hecho una acción espontánea.

Mediante el uso de ambos tipos de comportamiento de unidades en tu juego, puedes crear la ilusión de que tienes unidades “inteligentes” que son autónomas, y no necesariamente máquinas simples.

IA reaccionaria

Las entradas reaccionarias siempre deben estar basadas en los sentidos de las unidades. Cuando se modela la IA después de los personajes humanos, necesitas tener en consideración su rango y distancia de visión, su sentido del oído y si es aplicable, el olfato.

La creación de niveles sin alertas es una buena manera de manejar la entrada de diferentes sentidos. Si una unidad ve a un enemigo directo en su mira, entonces debe cambiar a un modo de alerta que corresponde a la forma cómo reaccionaría al enfrentar a un enemigo. Si la unidad no ve al enemigo pero escucha sus pasos o un disparo, entonces la unidad debe ir a un correspondiente nivel de alerta que aplicaría al conocimiento no directo de la situación.

En el caso de una unidad que era un guardia, al oír un disparo haría el acto de guardia para investigar en el área el disparo que se efectuó. Al escuchar pasos puede hacer la guardia de pie en espera para emboscar a la unidad caminante. Todos estos diferentes tipos de acciones y alertas se pueden configurar en un sistema basado en reglas o en un sistema de lógica difusa para que así pueda interpretar cada sonido u observación por cada unidad y hacer que reaccionen de manera apropiada.

Una alerta general es también un factor importante en la apariencia de realidad e inteligencia en un juego. Si has estado corriendo alrededor disparando a una base llena de personas y sigues encontrando nuevos enemigos que son completamente desorientados al hecho de que no se ha dejado de dispar en los últimos diez minutos, esto va a parecer realmente fuera de lugar. Mediante la creación de un sistema de alerta para todas las unidades, y tal vez un plan de alerta, puedes fortalecer el aspecto de la realidad en el mundo de tu juego.

Un plan de alerta podría consistir en reglas que las unidades seguirían si hubo una alerta, a diferencia de las reglas para situaciones sin alerta. Por ejemplo, si hay una alerta que podría llevar a todas las unidades que se encuentran en áreas no críticas, a correr a la entrada de la base para ayudar en la defensa.

IA espontánea

La IA espontánea es extremadamente importante en la creación de un sentido de vida en los mundos de tus juegos. Si todos los que conoces están allí de pie esperando para que les hables o para que los mates, o peor aún, vagando alrededor sin rumbo, esto no va a ser muy convincente para el jugador.

Algunos métodos para dividir el problema de pie alrededor son para dar a cada una de las unidades un conjunto de objetivos sin alerta. Estos podrían incluir caminar preestablecidas, caminar a regiones preestablecidas aleatoriamente, parar al lado de otras unidades ocasionalmente cuando les pasen y caminar con otras unidades a destinos preestablecidos. He dicho preestablecido en todas estas situaciones, porque a menos que aparezcas con un algoritmo muy bueno para el establecimiento de destinos o rutas de tus unidades, tus unidades van a parecer como que están vagando sin rumbo.

Acciones de las unidades

¿Qué hace realmente a unidad del juego parecer inteligente en sus acciones? Si se mueve de una manera que el jugador también podría, o realizar una acción, como agacharse, en una situación que el jugador también podría, entonces la unidad puede parecer inteligente. No necesitas una gran cantidad de acciones para crear una ilusión de acciones inteligentes, sólo necesitas lo suficiente para cubrir cualquier situación básica en que tus unidades estarán involucradas.

La mayoría de áreas que cubras, si las cubres bien, la mayor posibilidad de que tus jugadores creerán que tus unidades están actuando “inteligentemente”. Colócate en el lugar de tus unidades ¿Qué harías en su situación? ¿Cómo responderías a las diversas formas de ataque o encuentros del enemigo? ¿Qué harías si nada pasó en lo absoluto?

Si respondes a estas preguntas, y correctamente las implementas para cada situación que tus unidades encontrarán, maximizarás tus posibilidades de tener unidades que parecen inteligentes, que es el primer paso para crear una buena IA, una IA de juego sólida.

Traducción: David Soria

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s