Por juegoadmin | Desarrollo de juegos de unidad | 8 de noviembre de 2022
UNITY ML-AGENTS: un breve resumen sobre el aprendizaje automático en Unity
Machine Learning (ML) es una tecnología que tiene un potencial inmenso. Es cuando la IA (inteligencia artificial) aprende de los patrones de datos para predecir resultados específicos. La IA analiza grandes cantidades de datos obtenidos a partir de la experimentación y otras fuentes y gana con ellos para mejorar su comportamiento.
La tecnología ha experimentado un uso generalizado recientemente, particularmente en diferentes industrias donde la IA puede hacer lo que los humanos no pueden hacer. Incluso está presente en aplicaciones y soluciones tecnológicas.
Otra industria que tiene el mismo potencial en ML es la de los juegos. Los juegos ya han demostrado sus posibilidades en los últimos años, desde vencer incluso a jugadores humanos expertos en el juego hasta hacerse cargo de ciertos procesos dentro del desarrollo del juego, como el modelado del comportamiento de los NPC y la generación de procedimientos.
En términos de desarrollo de juegos, la última solución son los agentes de Unity ML.
Agentes de Unity ML y sus casos de uso
Unity ML-Agent es un complemento que permite empresa de desarrollo de juegos unity3d para crear entornos para capacitar a los agentes de ML en Unity. Los desarrolladores pueden elegir entre entornos existentes o crear nuevos entornos desde cero para capacitar a sus agentes.
Además, los agentes de Unity ML son un proyecto de código abierto. Tiene una comunidad de desarrolladores trabajando en él, lanzando nuevas funciones y probándolas para un mejor uso del aprendizaje automático en juegos creados con Unity.
Hay varios casos de uso para juegos con agentes ML en Unity:
-
Equilibrio del juego
El equilibrio del juego consiste en equilibrar los diferentes aspectos del juego para que no surja una estrategia dominante. Por ejemplo, los diseñadores deben asegurarse de que ningún arma en el juego tenga una ventaja injusta sobre otras armas para que, eventualmente, la mayoría de los jugadores se decanten por una sobre todas las demás.
Los desarrolladores pueden hacer que los agentes de Unity ML prueben diferentes instancias para ver si alguna estrategia dominante se repite. Si, por ejemplo, los desarrolladores ejecutan múltiples simulaciones del mismo juego y los agentes buscan repetidamente la misma arma, entonces existe la posibilidad de que esa arma en particular sea dominada. Los diseñadores del juego pueden equilibrarlo.
-
Pruebas de juego
Los agentes de ML en Unity también se pueden usar para realizar pruebas junto con las pruebas manuales. Por ejemplo, los agentes pueden jugar el juego varias veces y descubrir errores que bloquean el juego y errores que aparecen repetidamente. Los probadores luego pueden validar estos errores a través de pruebas manuales, informar los errores a los desarrolladores y corregir los errores.
-
Comportamiento de los PNJ
El equilibrio dinámico del juego es el método de usar IA para equilibrar el juego para una experiencia más competitiva. En este método, los personajes NPC cambian su comportamiento en función de las estrategias de juego del jugador.
Por ejemplo, imagina un juego de disparos en el que un tiro en la cabeza es una muerte directa. Si el jugador puede disparar repetidamente a la cabeza y eludir fácilmente a los oponentes, luego de un tiempo, los NPC cambiarán su comportamiento para reducir los disparos a la cabeza. Cambiarían a estrategias como usar cascos protectores para hacerlos más competitivos, y el jugador tiene que explorar otras estrategias.
Los dos métodos de aprendizaje en Unity ML-Agents
Los agentes de Unity ML utilizan principalmente dos tipos diferentes de aprendizaje para capacitar a sus agentes de aprendizaje automático. Están:
-
Aprendizaje reforzado
El aprendizaje por refuerzo es un modelo de aprendizaje en el que el agente explora diferentes opciones para encontrar la más gratificante entre ellas. Bajo este método, los agentes realizan acciones al azar. Si los esfuerzos dan como resultado una recompensa, el agente lo considera una experiencia de aprendizaje positiva.
A medida que pasa el tiempo, el agente recopila más datos y aprende más sobre el entorno a través de prueba y error. Porque cuantos más datos, mejor se vuelve el agente para obtener la recompensa esperada. Eventualmente, el agente puede convertirse en un experto en obtener recompensas al realizar las acciones correctas.
Él Herramienta de aprendizaje automático de Unity también permite a los usuarios ejecutar numerosas instancias de capacitación simultáneamente. En lugar de ejecutar un solo modelo y aprender de él lentamente, los desarrolladores pueden ejecutar múltiples sesiones de capacitación simultáneas. Unity tomará datos de todos ellos simultáneamente y hará que el comportamiento de la IA sea más preciso.
-
Aprendizaje por imitación
El aprendizaje por refuerzo es imposible para todos los casos. Además, las múltiples variables involucradas a veces pueden complicar las cosas. Por ejemplo, si la instancia de juego tiene muy pocas recompensas, enseñar la IA a través del aprendizaje por refuerzo se convierte en una molestia.
En cambio, el aprendizaje por imitación es un segundo método de Unity ML-agent donde la IA aprende a jugar el juego a través de demostraciones humanas. Bajo este modelo, un jugador humano juega el juego y la IA intenta imitar el comportamiento al mismo tiempo. Cuando los desarrolladores repiten lo mismo varias veces, la IA se vuelve más competente para aprender a jugar.
Conclusión
El aprendizaje automático se está convirtiendo rápidamente en un elemento básico en el desarrollo de juegos. Muchas empresas han comenzado a utilizarlo para mejorar sus procesos y, a su vez, brindar a sus jugadores una mejor experiencia de juego. Más aún, lo están adoptando a medida que pasa el tiempo.
La herramienta Unity ML lo democratizará aún más. Ayudaré a los pequeños desarrolladores y empresas de juegos a aprovechar los avances en el aprendizaje automático sin necesidad de grandes inversiones.
¿Quieres desarrollar un juego con Unity?
Juego Studios es una de las principales empresas de desarrollo de juegos. Contamos con un equipo dedicado de desarrolladores de juegos que tienen un conocimiento profundo de las diferentes características del motor del juego y el lenguaje de programación C#. Nuestro equipo ha trabajado en numerosas plataformas y ha creado juegos de varios géneros.