Y reflexionando un tanto, creo tener una solución practica,aunque supongo que ya se habrá estudiado en algún momento, y debe estar escrita en algún artículo de un científico gamer (que cool suena eso), sin embargo, investigando un poco no encontré nada lo suficientemente similar, y en lo que he vivido en mi experiencia con los videojuegos no he visto nada similar.
La Inteligencia artificial Comandada.
Así se denomina mi solución, fundamentada sencillamente en la vida real: los escuadrones de soldados siempre están dirigidos con un líder que organiza y se encarga de las estrategias, por ello son siempre unos blancos apetecidos por el bando contrario, pues al eliminarlo los enemigos entran en caos y se vuelven presas fáciles. En vez de centrar la IA en desarrollar entidades individuales robustas y con gran cantidad de movimientos, la IA debería concentrarse en desarrollar un comandante que encuentre la forma ideal de mover sus peones por el campo de batalla; así pues, cada peón haría solamente las siguientes funciones:
- Buscar disturbios en el entorno para intentar detectar al jugador.
- Informar al comandante acerca del jugador (cuando este ya ha sido detectado).
- Seguir órdenes del comandante.
Estos pasos deberían ser un proceso cíclico y el comandante debería tener la facultad de cambiar la estrategia, una vez calcule que esta es ineficaz contra el jugador, así, en vez de crear robustas IAs individuales, crearas obedientes peones con un comandante impredecible y astuto.
Estrategias.
Si bien existen un montón de estrategias posibles a tomar, y
variaciones dentro de ellas, en este apartado escribo ciertas ideas que se
podrían usar como base en la construcción de estrategias (las estrategias propuestas
se idearon con un FPS en mente, sin embargo podrían ser usadas para otros tipos
de juegos):
Flanqueo: una
estrategia básica para afrontar un enemigo podría ser tomarlo desprevenido por
la espalda, en este caso, el comandante necesitaría calcular un camino seguro
para realizar el flanqueo. Esta estrategia puede ser útil para un jugador con
gran potencia de fuego y siempre y cuando el peón enviado a flanquear no haya
sido descubierto por este. El mayor problema de esta estrategia es la selección
del momento y camino indicado.
Ejemplo de flanqueo: el flanqueo por la izquierda del jugador debería ser mas apetecible para el comandante. |
Un algoritmo de flanqueo efectivo, debería ser capaz de usar
edificios cercanos (subiendo y llegando hasta las ventanas) o detectar nuevos
caminos creados dinámicamente (humo de
una granada, la nueva posición de un vehículo).
Fuego directo: en
caso de que el comandante determine una
potencia de fuego superior a la del jugador, o en caso de que este posea muy
poca vida y además este se encuentre a muy poca distancia, un potente ataque
con todo el equipo disponible puede ser efectivo para eliminar el jugador. En
este caso, los peones se mueven lo más cerca posible del jugador e intentaran
atacar más o menos el mismo momento.
Cubrirse: Una
estrategia bastante viable, en un sitio intrincado, con gran cantidad de sitios
donde evitar los tiros, también, en combinación con el flanqueo. Es una de las
mejores formas de abordar a un jugador armado con rifles sniper. Para esta
tarea, el comandante debe conocer todas las posibilidades para cubrirse, esto
puede ser sencillo mediante waypoints, pero el uso de estos vuelve a las IA
predecibles (además, no pueden usarse cambios inesperados del mapa como
herramienta para nuevas estrategias).
Circulo cántabro:
(gracias por la idea, Laura): Le digo así en referencia a la estrategia de hostigamiento de los caballos cántabros, pero esta es algo
diferente, la idea es posicionar alrededor del jugador a los peones, y hostigarlo
atacando con los peones ubicados en la espalda del jugador.
Usar un señuelo: El
comandante podría decidir usar un señuelo, un peón de gran resistencia para
atacar al jugador de manera directa y a la vez, flanquearlo con el resto de
peones, esta sería un ejemplo de combinación de estrategias de parte del
comandante.
(continuara...)