¿Cuáles son algunos algoritmos de inteligencia artificial necesarios para los desarrolladores de juegos?

Aquí hay algunos simples, pero extremadamente útiles:

  • Comportamientos de dirección: llegar y huir. Si, de alguna manera, calculó un punto en el que desea estar, solo moverse allí con una velocidad constante perderá el objetivo (cuáles son las probabilidades de que la distancia sea exactamente divisible por su velocidad por tic) y parezca antinatural . Con llegar, tiene un “radio de llegada” que utiliza para escalar su velocidad (por ejemplo, por currDist / llegadaRadio si currDist es <= llegadaRadio; por lo tanto, es máximo en la periferia y en el exterior, y se reduce linealmente a cero en el centro, es decir tu destino). Comprender los comportamientos de dirección: huir y llegar
  • Seguimiento de ruta – Comprender los comportamientos de dirección: Seguimiento de ruta
  • Búsqueda de ruta – A * Pathfinding para principiantes
  • Máquinas de estado finito. La idea es bastante simple: hay una variable (digamos una enumeración) que mantiene su estado actual, y una declaración gigante de “cambio” que contiene el código para todos los diferentes estados en los que puede estar su IA, así como un código para decidir si transición a otro estado (es decir, actualizar la variable “currState”). Habrá estados como “inactivo”, “atacando”, “defendiendo”, “explorando”, etc. Personalmente, tiendo a usar “inactivo” como un “centro”; si algún estado no sabe qué hacer, simplemente cambiará a “inactivo” (por ejemplo, estaba en “ataque”, pero de repente algo cambió y esto ya no es posible). En cada tic, simplemente pasa por esa función; por ejemplo, si la IA ha decidido perseguirte, para muchas ejecuciones estará en estado de “persecución”, y ese caso del interruptor puede hacer pasos del comportamiento de llegada mencionado anteriormente, con la posición actual del jugador como destino. Máquinas de estado finito: teoría e implementación
  • Comportamiento de flocado: las tres reglas simples de los comportamientos de flocado: alineación, cohesión y separación
  • Búsqueda de árbol de juego: minimax: una explicación exhaustiva de Minimax, un algoritmo básico de IA

También debería leer este artículo: Arquitectura de IA de juegos para algunas alternativas más avanzadas a los FSM.

Tenga en cuenta que lo anterior se centra principalmente en los juegos de acción; No tengo experiencia con juegos de estrategia por turnos, así que no estoy exactamente seguro de cuáles son las técnicas importantes (además de minimax).

En general, la IA es lo suficientemente compleja como para requerir más que algoritmos. Uno los definiría más como metodologías. Algunos de estos incluyen …

  • Árboles de decisión
  • Máquinas estatales
  • Árboles de comportamiento
  • Lógica difusa
  • Máquinas estatales de Markov
  • Comportamiento orientado a objetivos
  • Sistemas basados ​​en reglas
  • Análisis Táctico
  • AI de aprendizaje
  • Redes neuronales

Por lo general, un juego combinará varias de estas metodologías en función del problema específico de IA. Hay muchas más metodologías, y uno podría escribir un libro sobre cualquiera de ellas (como puede atestiguar mi biblioteca).

Dado eso, hay un conjunto de algoritmos que se utilizan para resolver problemas de ruta asociados con la IA. Estos incluyen los algoritmos Dijkstra y A *. Un problema de ruta básicamente es el problema de cómo una entidad puede pasar de A a B en la ruta más óptima. La mayoría de las personas resuelve este tipo de problema mediante el reconocimiento de patrones, pero las computadoras son muy ineficientes en el reconocimiento de patrones, por lo que se necesita desarrollar otros métodos.

Requerido para desarrolladores en general – ninguno. Más del 95% del equipo del juego no necesita saber nada sobre programación o scripts de IA.

Para las personas que realmente hacen trabajo de IA, depende del dominio del problema. La IA de mis damas es muy diferente en comparación con un oponente RTS o FPS AI. Si estás haciendo tetris, entonces tus necesidades de IA son bastante bajas.

Vladislav Zorov tiene una lista decente de algunas piezas que podrías usar. Mark Baldwin cubrió algunas de las cosas de nivel superior que hacemos cuando la IA realmente necesita parecer inteligente.

En definitiva, no hay reglas duras y rápidas. Tu IA debe hacer lo suficiente para que los jugadores parezcan tan inteligentes como los diseñadores pretenden / cumplen con el objetivo del proyecto. Eso podría requerir algunos árboles de comportamiento serios que manejan colas prioritarias que requieren algunos comportamientos de dirección que interactúan con un gerente de agrupación / escuadrón para la colocación táctica. O podrías teletransportar a tu chico a un lugar que el jugador no está mirando y fingirlo todo.