¿Cuáles son algunos de los algoritmos de inteligencia artificial o aprendizaje automático que se utilizan en los videojuegos y cómo se utilizan?

IA simple:

Ejemplo A

¿Estás frente al jugador?
Falso: girar hacia el jugador;
Verdadero: si el arma está lista para disparar y tiene munición: Fuego;

Ejemplo B

1. ¿No te enfrentas al jugador?
Verdadero: girar hacia el jugador;

2. ¿Estás en la distancia de golpe del jugador?
Cierto: si estás armado y listo para golpear al jugador: golpea al jugador;
Falso: si puedes moverte: muévete hacia el jugador;

Las complicaciones incluyen cosas como si su velocidad inicial afecta su puntería, ¿hay otras cosas que afecten su puntería? ¿Tiene que tomar la iniciativa para golpear al jugador? Si la recarga tarda mucho o la munición es limitada, ¿desea esperar inteligentemente el mejor momento para ¿fuego?

Y para los problemas de movimiento, búsqueda de caminos y también cosas como si necesitas estar cerca de tus amigos, lo importante que es, a veces es importante abandonar todas las demás consideraciones y simplemente matar a un enemigo especialmente peligroso … etc.

Aprender IA tampoco es difícil, sin embargo, dado que mejora gradualmente, es peligroso para la experiencia de juego si se vuelve demasiado bueno demasiado rápido. El aprendizaje es difícil de predecir o controlar y, por lo tanto, incluso un simple algoritmo de aprendizaje no siempre puede, pero en algunos casos, superar rápidamente a los jugadores y convertirse en un obstáculo para la capacidad del jugador para mejorar. Si es demasiado común, entonces será común que la gente piense que el juego está roto o que es demasiado punitivo para ser disfrutable.

Una forma de usar la IA de aprendizaje es usar el aprendizaje solo durante el desarrollo cuando puede ser controlado por desarrolladores, establecer el nivel inicial como ‘IA fácil’, la versión intermedia ‘IA normal’ y las etapas finales como ‘IA dura’ o incluso ‘ IA loca ‘(increíblemente difícil) si se aplica. Luego, el método de aprendizaje real se elimina o deshabilita de las compilaciones públicas finales, pero se puede reactivar en caso de que los jugadores comiencen a quejarse de que la IA es demasiado fácil.

Dos métodos principales para usar el aprendizaje de IA que prefiero son:

1. Grabar las acciones del jugador como “opciones” y luego analizar estadísticamente los mejores patrones de elección y usarlos para la plantilla de IA.

2. Hacer que la IA pelee entre ellos y registrar opciones similares y también puntuar varias plantillas de IA, también tiene un algoritmo que escribirá nuevos algoritmos de IA para probar nuevos patrones de elección de una manera evolutiva, usando constantemente análisis estadísticos, etc.

Los dos modelos se pueden combinar para obtener la máxima eficiencia. Pero este es el aprendizaje de IA basado en la elección, también hay otros modelos, pero en mi opinión es fácil de implementar, analizar y comprender los resultados.

El inconveniente de este método es que esencialmente necesita tantas computadoras como pueda permitirse simplemente ejecutando las IA durante el tiempo que pueda dedicarles tiempo, ya que mientras más ciclos y variaciones funcionen, mejor serán. El aspecto agradable es que de esta manera, los AI pueden aprender formas de jugar que no surgen para los desarrolladores durante el desarrollo y pueden potencialmente bloquear exploits no deseados.

Por ejemplo, una IA puede explotar una regla que hace que una nave en un juego de guerra sea invencible porque todavía no es parte de la campaña pero aún es involuntariamente accesible. Una de las variaciones aleatorias podría darse al mover ese buque de guerra y bloquear las naves enemigas a su puerto colocando este obstáculo invencible frente a ellos, aunque tal instancia podría ser tan rara que podría llevar años o décadas que ocurra durante el aprendizaje de la IA, dependiendo de cuán complejo sea el escenario que la IA está tratando de aprender.

Alternativamente, podría hacer varios mini-escenarios que juega la IA como se describe anteriormente y luego podría formalizar el comportamiento del subescenario para que la IA lo use. Luego, la AI podría dividir un escenario real más grande en varios subescenarios donde usaría las lecciones aprendidas para esos subescenarios sin tener que tener en cuenta las unidades que no tienen influencia en ese subescenario. Entonces, todo eso puede estar unido por una IA de nivel superior que gestiona las decisiones de nivel superior entre los subescenarios, como qué subescenario es más importante, es mejor evitar algún subescenario, etc.

Muy pocos usan el aprendizaje automático. Los juegos (¡se supone que son!) Se venden correctamente balanceados cuando se envían. Si la máquina se vuelve más inteligente con el tiempo, alterará ese equilibrio y podría volverse inmejorable.

No soy un programador de inteligencia artificial, pero entre los algoritmos clásicos utilizados están la búsqueda de caminos para planificar y ejecutar viajes a través de terreno que contiene obstrucciones, y máquinas de estado finito para unidades autónomas simples como guardias en un juego de sigilo o unidades en un juego de guerra.

Game AI se usa principalmente para encontrar caminos y comportamientos de personajes que no son jugadores.

Aquí está la entrada de Wikipedia que describe los algoritmos de Pathfinding.

La recursión es otro principio de IA utilizado en los juegos para pasar por una serie de decisiones para determinar la mejor secuencia de decisiones. La recursión a veces se usa en programas de ajedrez para mirar varios movimientos hacia adelante para determinar el mejor movimiento posible para hacer. En uno de los primeros juegos que desarrollé, The Prisoner, utilicé la recursión para generar al azar laberintos para que el jugador escapara de la creación de caminos, por así decirlo.

El comportamiento de los personajes que no son jugadores a menudo se controla mediante el uso de máquinas de estado. El diseñador del juego define una tabla que describe los diversos estados en los que puede estar un personaje (por ejemplo, patrullar, perseguir, pelear), junto con las condiciones necesarias para que pase de ese estado a otro estado. Aquí está la entrada de Wikipedia que describe máquinas de estado finito. Utilicé una máquina de estado en mi juego Prisoner para simular que un personaje que no es jugador conversa con el jugador usando un analizador de texto.

Más recientemente, los juegos han utilizado métodos de inteligencia artificial ascendentes para determinar el comportamiento de los jugadores, pero me temo que eso está más allá de mi calificación salarial.

Realmente no lo son.

Game AI es una disciplina muy diferente a Machine Learning, y casi ningún juego las usa.

Muchas compañías como Zynga los usan para analizar los datos de jugadores recopilados a través de análisis, pero casi nada de eso se usa en el juego en sí.

More Interesting

Soy estudiante de CS en mi segundo año y quiero centrarme en el aprendizaje automático, ¿qué camino sigo, qué cursos tomo y cómo obtengo un mentor?

¿Cómo se manejan las metáforas en AI / NLP / ML?

¿Qué posibilidades hay de que EE. UU. Pierda más empleos si Google y Facebook continúan invirtiendo en laboratorios de IA fuera de EE. UU.?

Visión por computadora: ¿Cuál es el estado actual del arte en el reconocimiento de edificios / estructuras?

Brevemente, ¿en qué proyecto de IA estás trabajando ahora?

¿Puede alguien que no es dotado naturalmente en matemáticas contribuir positivamente a la investigación de CS / machine learning?

¿Dónde debo comenzar a desarrollar Chatbot desde el principio?

¿Es justo decir que una inmigración más estricta ha obligado a Google a invertir en China para el nuevo laboratorio de IA?

¿Cuál es la diferencia entre una red neuronal, propagación hacia atrás, red convolucional, aprendizaje profundo y aprendizaje extremo?

Puedo usar una red neuronal y ejecutarla sobre un problema. ¿Cómo lo optimizo y mejoro los resultados?

¿Cuáles son algunos algoritmos de IA que se pueden usar para escribir un bot para jugar juegos?

¿Cómo impactará el aprendizaje automático, la IA y la minería de datos en el futuro?

¿Es posible insertar o programar emociones en un robot humanoide futurista de Android?

¿Dónde debo iniciar una aplicación de inteligencia artificial para hacer una herramienta de productividad?

¿Las personas eventualmente evolucionarán en robots mediante la carga de conciencia digitalizada?