Resumen:
|
[ES] Al programar una aplicación existe la posibilidad de hacer uso de una API para, por
ejemplo, hacer uso de imágenes o audio. Esta práctica evita que el programador tenga
que crear todas las funciones necesarias para ...[+]
[ES] Al programar una aplicación existe la posibilidad de hacer uso de una API para, por
ejemplo, hacer uso de imágenes o audio. Esta práctica evita que el programador tenga
que crear todas las funciones necesarias para poder utilizar dichas imágenes o audio. En
la gestión de la Inteligencia Artificial, esta API es inexistente. Cuando se necesita hacer
uso de cierta inteligencia artificial en una aplicación, todo el trabajo recae en el
programador. Este TFG intentará solventar este vacío. El proyecto parte de una API de
gestión de la Inteligencia Artificial en videojuegos basada en la teoría de máquinas de
estados finitos, realizada anteriormente en formato de TFM por José Alapont Luján. El
objetivo es poder generar un producto final en forma de asset (Game Artificial
Intelligence - GAI) que sea integrado de una manera profesional en cualquier videojuego
y emplee los canales comerciales habituales de la tienda en línea del entorno de
desarrollo de videojuegos Unity. Este asset debe poder ser utilizado en diferentes
proyectos, centrándose sobre todo en proyectos relacionados con el campo de los
videojuegos. El asset presentará al programador de videojuegos un interfaz homogéneo
de selección de tipo de comportamiento a asignar al personaje. Así mismo, habrá un
gestor de IAs parametrizable por fichero XML en el que contendrá toda la información
del tipo de IA y la estructura asociada al comportamiento. En el proyecto original se
realizó un banco de pruebas muy sencillo que validaba el API original mínimamente. No
se pudo verificar su uso en entornos de videojuegos reales. En este caso se ha escogido
un videojuego real suministrado por Unity en el que se configurarán diferentes
comportamientos de cada personaje del juego mediante el nuevo API. El objetivo es
disponer de una caja de arena para comprobar el correcto funcionamiento del API de
inteligencia artificial en condiciones reales de un videojuego. Por último, se solucionarán
los posibles bugs y errores que pudieran surgir al someter al API al nuevo entorno, así
como ampliar el número de tipos de máquinas de estados implementadas. Para finalizar
se realizará un estudio del resultado obtenido para así saber la opinión de las posibles
personas que hagan uso de ella y poder avanzar en el desarrollo del MVP. Para la
realización del campo de pruebas se hará uso del motor gráfico de Unity, del lenguaje de
programación C#, así como ficheros de configuración en XML.
[-]
[EN] When you are programming an application, you have the possibility to use an API to,
for example, make use of images or audio. This practice prevents the programmer from
having to create all the necessary functions ...[+]
[EN] When you are programming an application, you have the possibility to use an API to,
for example, make use of images or audio. This practice prevents the programmer from
having to create all the necessary functions to be able to use images or audio. In the
management of Artificial Intelligence, this API is non-existent. When you need to use
some artificial intelligence in an application, all the work remains on the programmer.
This TFG will try to solve this gap. The project is based on a management API of
Artificial Intelligence in videogames based on the theory of finite-state machines,
previously carried out in TFM format by José Alapont Luján. The objective is to
generate a final product in the form of an asset (Game Artificial Intelligence - GAI) that is integrated in a professional way, in any videogame, and uses the usual commercial
channels of the online store of the Unity videogame development environment. This
asset should be able to be used in different projects, focusing mainly on projects related
to videogames. The asset will present the video game programmer with a homogeneous
interface for selecting the type of behavior to be assigned to the character. Likewise,
there will be an AI manager that can be parameterized by an XML file which t will
contain all the information of the type of AI and the structure associated with the
behavior. In the original project, a very simple test bank was made to validate the
original API minimally. Its use in real videogame environments could not be verified.
In this case, a real videogame provided by Unity has been chosen, in which different
behaviors of each game character will be configured through the new API. The objective
is to have a sandbox to check the correct functionality of the artificial intelligence API
in real conditions of a video game. Finally, possible bugs and errors that could arise
when submitting the API to the new environment will be solved, as well as expanding
the number of machine types of implemented states. Finally, a study of the result
obtained will be carried out to know the opinion of possible people who make use of it
and be able to advance in the development of the MVP. For the realization of the test
field, the UNITY engine, the C # programming language will be used, as well as
configuration files in XML
[-]
|