El presente proyecto tiene como objetivo el desarrollo de un sistema interactivo para la generación y gestión de plataformas en un entorno de videojuegos, utilizando el motor de juegos Unity y el lenguaje de programación Python. El propósito principal es integrar un modelo de aprendizaje automático que procese datos de audio en tiempo real, ajustando dinámicamente las características de las plataformas generadas en el juego según la información recibida.
Para la implementación, se ha desarrollado un sistema cliente-servidor que permite la recepción de datos en tiempo real. Se gestiona la conexión TCP, para recibir y procesar los datos de tempo y energía del audio, y transmitir esta información para utilizar un modelo preentrenado de Barracuda que calcula parámetros clave del juego: la velocidad del personaje, la frecuencia de generación de plataformas y sus alturas.
En términos de resultados, se ha conseguido una correcta integración del modelo de aprendizaje automático en el motor de juegos Unity, permitiendo una jugabilidad dinámica y adaptativa basada en datos reales.
El modelo muestra un rendimiento adecuado para ajustar los parámetros del juego en tiempo real, aunque hay margen de mejora en la precisión de las predicciones de las alturas de las plataformas, lo cual podría lograrse entrenándolo durante más tiempo. Además, el rendimiento del modelo podría beneficiarse de un conjunto de datos de entrenamiento más grande y diverso. Aunque el modelo actual es efectivo, la introducción de arquitecturas más complejas podría mejorar su capacidad para capturar patrones temporales más complejos en la música.
Abstract:
The present project aims to develop an interactive system for the generation and management of platforms in a video game environment, using the Unity game engine and the Python programming language. The main purpose is to integrate a ML model that processes audio data in real-time, dynamically adjusting the features of the platforms generated in the game according to the received information.
For the implementation, a client-server system has been developed to enable real-time data reception. TCP connection management is employed to receive and process the tempo and energy data from the audio, and to transmit this information to use a pre-trained Barracuda model that calculates key game parameters: the character’s speed, the platform generation frequency, and their heights.
In terms of results, effective integration of the ML model into the Unity game engine has been achieved, allowing for dynamic and adaptive gameplay based on real data.
The model shows adequate performance in adjusting the game parameters in real-time, though there is room for improvement in the accuracy of the platform height predictions, which could be achieved by training it for more epochs. Additionally, the model’s performance could benefit from a larger and more diverse training dataset. Although the current model is effective, introducing more complex architectures could enhance its ability to capture more complex temporal patterns in the music.
El presente proyecto tiene como objetivo el desarrollo de un sistema interactivo para la generación y gestión de plataformas en un entorno de videojuegos, utilizando el motor de juegos Unity y el lenguaje de programación Python. El propósito principal es integrar un modelo de aprendizaje automático que procese datos de audio en tiempo real, ajustando dinámicamente las características de las plataformas generadas en el juego según la información recibida.
Para la implementación, se ha desarrollado un sistema cliente-servidor que permite la recepción de datos en tiempo real. Se gestiona la conexión TCP, para recibir y procesar los datos de tempo y energía del audio, y transmitir esta información para utilizar un modelo preentrenado de Barracuda que calcula parámetros clave del juego: la velocidad del personaje, la frecuencia de generación de plataformas y sus alturas.
En términos de resultados, se ha conseguido una correcta integración del modelo de aprendizaje automático en el motor de juegos Unity, permitiendo una jugabilidad dinámica y adaptativa basada en datos reales.
El modelo muestra un rendimiento adecuado para ajustar los parámetros del juego en tiempo real, aunque hay margen de mejora en la precisión de las predicciones de las alturas de las plataformas, lo cual podría lograrse entrenándolo durante más tiempo. Además, el rendimiento del modelo podría beneficiarse de un conjunto de datos de entrenamiento más grande y diverso. Aunque el modelo actual es efectivo, la introducción de arquitecturas más complejas podría mejorar su capacidad para capturar patrones temporales más complejos en la música.
Abstract:
The present project aims to develop an interactive system for the generation and management of platforms in a video game environment, using the Unity game engine and the Python programming language. The main purpose is to integrate a ML model that processes audio data in real-time, dynamically adjusting the features of the platforms generated in the game according to the received information.
For the implementation, a client-server system has been developed to enable real-time data reception. TCP connection management is employed to receive and process the tempo and energy data from the audio, and to transmit this information to use a pre-trained Barracuda model that calculates key game parameters: the character’s speed, the platform generation frequency, and their heights.
In terms of results, effective integration of the ML model into the Unity game engine has been achieved, allowing for dynamic and adaptive gameplay based on real data.
The model shows adequate performance in adjusting the game parameters in real-time, though there is room for improvement in the accuracy of the platform height predictions, which could be achieved by training it for more epochs. Additionally, the model’s performance could benefit from a larger and more diverse training dataset. Although the current model is effective, introducing more complex architectures could enhance its ability to capture more complex temporal patterns in the music. Read More