¿Cuáles son algunos ejemplos de juegos de computadora que usan aprendizaje automático? ¿Los juegos como FIFA 2013 de EA Sports aprenden de un usuario? ¿La computadora cambia sus tácticas de acuerdo con el estilo de juego del oponente? Si no, ¿es esto posible de implementar?

Como me pidieron que respondiera … Hay dos tipos de aprendizaje automático utilizados en los juegos. Una es aprender en tiempo de diseño, donde los resultados del aprendizaje se aplican antes de publicar el juego; el otro es aprender en tiempo de ejecución, ajustado a un jugador particular o sesión de juego.

Algunos ejemplos de aprendizaje en tiempo de diseño pueden ser:

  • Productos LiveMove / LiveAI de AiLive, que son herramientas ML para reconocer entradas de movimiento o de control, y convertirlas en acciones de juego (por ejemplo, entrenar a un oponente de la computadora)
  • El juego independiente reciente City Conquest, que usaba ML para guiar el diseño + equilibrio de las unidades de juego (ver ¿Obsoleto a los diseñadores? Evolución en el diseño del juego)

Ejemplos de aprendizaje en tiempo de ejecución:

  • Blanco y negro (1 y 2), donde la criatura mascota del jugador aprendió qué hacer mediante recompensa y castigo
  • Serie de criaturas, que incluía una simulación de aprendizaje de redes neuronales y un sistema hormonal que controlaba la entidad
  • Forza Motorsports, donde uno podría entrenar a un conductor artificial basado en su propio estilo (ver Drivatar ™ en Forza Motorsport)

Dicho esto, la cuestión de si hacer que los oponentes aprendan y / o se adapten al jugador en tiempo de ejecución no es en gran medida una cuestión tecnológica, es una cuestión de diseño. Es decir, no es un problema si es difícil, sino una cuestión de si se debe hacer y cómo afectaría la experiencia del jugador. ¿El jugador lo disfrutaría si la computadora aprendiera rápidamente cómo contrarrestar las estrategias particulares del jugador y lo aplastara? A menudo, la respuesta del diseñador es un rotundo “no”.

En este punto, la aplicación automática de ML a los juegos sigue siendo bastante rara. Lo que es mucho más común es la recopilación y el análisis automático de datos, combinados con la interpretación manual, humana y la aplicación al diseño, por ejemplo:

  • Mapas de calor de nivel, utilizados por juegos de acción como Halo (Halo 3: Cómo Microsoft Labs inventó una nueva ciencia del juego)
  • Análisis UX, tal vez más famoso por Zynga, pero también utilizado por la mayoría de los otros creadores de juegos gratuitos.

Piensa sobre esto. Una buena parte del tiempo, avanzar en un videojuego implica aprender los patrones del enemigo y aprovechar las aperturas. Si el enemigo aprendiera a evitar esa apertura y aprovechar la suya, sería casi imposible ganar.

Como resultado, la mayoría de los juegos de computadora no utilizan oponentes basados ​​en el aprendizaje automático. Se prefiere simplemente hacer que el enemigo “parezca” inteligente porque eso es todo lo que le importa a un jugador. Una excepción es la búsqueda de caminos. El juego AI tiene que determinar la ruta más óptima de A a B.

Sin embargo, hay algunos ejemplos notables.

  • Serie Halo

Los maestros en hacer que la IA del juego parezca inteligente [1], pero aún emplean algo de aprendizaje en situaciones de combate.

  • En blanco y negro

Probablemente la aplicación más increíble en mi experiencia. Utiliza el refuerzo para aprender a entrenar a tu “dios”.

  • TEMOR

Asombroso motor de IA enemigo que aprende cuál es la mejor maniobra de cobertura y escuadrón para emplear contra tu estilo de juego.

  • La mayoría de los juegos modernos de estrategia en tiempo real (RTS)

Hay un buen negocio que se destina a la optimización para el próximo “turno”. Gran parte de lo que se aplica se deriva de las técnicas de ajedrez AI [2]

1) Alíate con la IA de Halo: 42 trucos para ayudar a tu juego
2) Inteligencia artificial en juegos de estrategia en tiempo real “Weblog de Umut

Creo que la mejor pregunta es, ¿vale la pena? Incluso los algoritmos de inteligencia artificial “simples” son lo suficientemente inteligentes como para ser un buen competidor para un jugador (Errores inteligentes: Cómo incorporar la estupidez en su código de inteligencia artificial), ¿por qué pasaría tiempo implementando algoritmos complejos de ML?

Hasta cierto punto, esperaría que la mayoría de los juegos tengan algún tipo de algoritmo de ML implementado, pero estoy bastante seguro de que la computadora no es capaz de “pensar” qué debería hacer. Si estás interesado en el desarrollo de juegos, puedes intentar implementar ML en un juego básico de Tic Tac Toe, deberías encontrar muchos recursos en GameDev.net Game Development Community y cientos de trabajos de investigación.

Pero la cuestión es que generalmente obtienes resultados mucho mejores con algoritmos simples. Especialmente cuando piensas en estos grandes títulos, el tiempo dedicado a implementar lo que describes podría aprovecharse mejor al ofrecer una mejor jugabilidad / gráficos / etc.

Hay un par de juegos que lo usan, sí … pero aún es muy raro. MUY, muy raro. Sin embargo, parece que nos dirigimos hacia un futuro en el que ML e IA influirán bastante en los juegos.

Parece que la animación y el modelado 3D podrían ser los primeros en usarlo un poco, lo que disminuye la tensión sobre los animadores en los juegos al usar AI y ML para la animación y el modelado reales.

Herramientas como norah.ai siguen apareciendo y parece prometedor.

Echa un vistazo a este artículo – Hacia una nueva animación basada en IA para mucha más información sobre esto.

Supongo que sucederá cada vez más, pero no necesariamente en la IA. Hoy en día, ML se ha abierto camino dentro de los gráficos y animaciones de computadora, uno usa redes neuronales para acelerar el renderizado o entrenar la animación física de los personajes (por ejemplo, un personaje que monta una bicicleta).

Otro ejemplo podría ser producir una ciudad o naturaleza utilizando estadísticas del mundo real, este tipo de cosas se podrían hacer con el aprendizaje automático.

Supongo que tarde o temprano esto se usará en los juegos, la comunidad tiene que digerir la investigación primero, pero estoy bastante seguro de que sucederá.

Fui el ingeniero de juego principal para Tiger Woods 2013 cuando se implementó el swing Kinect. Utilizamos el aprendizaje automático para determinar si el usuario estaba haciendo un swing de golf. Cientos de personas se registraron frente al Kinect para recopilar puntos de datos de ellos haciendo un swing de golf (o lo que pensaron que era un swing de golf :). Luego usamos el aprendizaje automático para procesar estos puntos de datos para alimentar el juego y determinar cuándo se realizó un swing de golf.

Es un buen ejemplo.
La capacidad de IA del juego tradicional “cinco en una fila” está diseñada por un programador, nuestro juego puede aprender a jugar según su enseñanza. ¡Intentalo!
Android – Master5 (Casa Gomoku)
iOS – Master5 (Casa Gomoku)