add our Thesis Supervisor's recommended changes

This commit is contained in:
Chris Cromer 2022-07-05 21:30:59 -04:00
parent c0a6bf0e9c
commit 4a3375d348
Signed by: cromer
GPG Key ID: FA91071797BEEEC2
4 changed files with 10 additions and 13 deletions

BIN
Informe.pdf (Stored with Git LFS)

Binary file not shown.

View File

@ -1,10 +1,6 @@
\section{Estado del Arte} \section{Estado del Arte}
La programación del comportamiento de agentes en videojuegos se ha realizado desde diferentes puntos de vista. Por tanto, podemos agrupar los siguientes proyectos de investigación en dos categorías:
\begin{itemize} La programación del comportamiento de agentes en videojuegos se ha realizado desde diferentes puntos de vista. Los trabajos de investigación que hemos estudiado se pueden agrupar en dos categorías: (i) basados en el lenguaje de programación lógico Prolog; (ii) basados en el lenguaje de programación lógico GOLOG. A continuación se describirán cada una de las propuestas de forma más detallada.
\item Basado en el lenguaje de programación lógico Prolog
\item Basado en el lenguaje de programación lógico GOLOG
\end{itemize}
A continuación se describirán los trabajos contenidos en sus correspondientes secciones.
\input{sections/estado_del_arte/prolog} \input{sections/estado_del_arte/prolog}

View File

@ -2,22 +2,23 @@
\subsubsection{Controlling Unreal Tournament 2004 Bots with the Logic-based Action Language GOLOG} \subsubsection{Controlling Unreal Tournament 2004 Bots with the Logic-based Action Language GOLOG}
El proyecto describe el uso de una variante del lenguaje de programación lógico llamado GOLOG para implementar agentes en un videojuego estilo FPS (Disparos en Primera Persona) y enfrentarlos a los oponentes originales controlados por computador. El proyecto describe el uso de una variante del lenguaje de programación lógico llamado GOLOG para implementar agentes en un videojuego estilo FPS (Disparos en Primera Persona) y enfrentarlos a los oponentes originales controlados por computador.
El videojuego en cuestión, llamado ''Unreal Tournament 2004'', es de tipo multijugador, donde jugadores humanos compiten para cumplir objetivos. Los oponentes pueden ser tanto humanos o controlados por el computador. \cite{FerreinJacobsLakemeyer2011} El videojuego en cuestión, llamado ''Unreal Tournament 2004'', es de tipo multijugador, donde los jugadores humanos compiten para alcanzar objetivos. Los oponentes pueden ser tanto humanos o controlados por el computador. \cite{FerreinJacobsLakemeyer2011}
\subsubsubsection{Control de oponentes dirigidos por la computadora} \subsubsubsection{Control de oponentes dirigidos por la computadora}
Originalmente, la toma de decisiones de los bots fue hecha usando un lenguaje orientado a objeto llamado ''UScript'', que es propio del juego y es de tipo script, con lógica basada en un \textit{''state machine''}, constando de nueve estados controlados por el motor del juego. Originalmente, la toma de decisiones de los bots fue hecha usando un lenguaje orientado a objeto llamado ''UScript'', que es propio del juego y es de tipo script, con lógica basada en un \textit{''state machine''}, constando de nueve estados controlados por el motor del juego.
Sin embargo, el manejo de los bots se realizó en \textit{''ReadyLog''}, un lenguaje basado el lenguaje de programación lógico GOLOG, que permite el razonamiento por acciones. Sin embargo, el manejo de los bots se realizó en \textit{''ReadyLog''}, un lenguaje basado en GOLOG, que permite el razonamiento basado en acciones.
Con esta información se agregó una interfaz al motor del juego que le permite transmitir información importante relacionada al mapa, tal como items (munición, vida y armas), ubicación de los jugadores y estilo del ambiente en general. Con esta información se agregó una interfaz al motor del juego que le permite transmitir información importante relacionada al mapa, tal como items (munición, vida y armas), ubicación de los jugadores y estilo del ambiente en general.
Por tanto, la información de estos elementos sera transmitida al bot si este es capaz de percibirlos, lo que da posibilidad a cambiar el comportamiento del bot dentro del framework. Por tanto, la información de estos elementos sera transmitida al bot si este es capaz de percibirlos, lo que da posibilidad a cambiar el comportamiento del bot dentro del framework.
\subsubsubsection{Tipo de I.A.} \subsubsubsection{Tipo de I.A.}
Este proyecto de investigación implementa un agente inteligente racional basado en objetivos, usando técnicas de planificación teóricas. Este proyecto de investigación implementa un agente inteligente racional basado en objetivos, usando técnicas de planificación.
\subsubsubsection{Planificación de camino y Detección de Colisión} \subsubsubsection{Planificación de camino y Detección de Colisión}
La interfaz entre el juego, junto con el motor y los bots no permite modificar los algoritmos de la planificación de los caminos ni de la detección de colisiones para permitir el cumplimiento de los objetivos. La interfaz entre el juego, junto con el motor y los bots no permite modificar los algoritmos de la planificación de los caminos ni de la detección de colisiones para permitir el cumplimiento de los objetivos.
\subsubsubsection{Agente omnisciente} \subsubsubsection{Agente omnisciente}
El agente solo recibe información si está en su campo de visión, por tanto, no es omnisciente y no tiene información suficiente que le permita obtener una ventaja injusta contra otros agentes o jugadores. El agente solo recibe información si está en su campo de visión, por tanto, no es omnisciente y no tiene información suficiente que le permita obtener ventaja contra otros agentes o jugadores.

View File

@ -3,7 +3,7 @@
Este proyecto de investigación consiste en la creación e implementación de un script basado en el lenguaje Prolog dentro de un juego estilo FPS (Disparos en primera persona), con la finalidad de crear diferentes tácticas de comportamiento en un equipo de bots compuesto por agentes. \cite{Prolog-Scripted2016} Este proyecto de investigación consiste en la creación e implementación de un script basado en el lenguaje Prolog dentro de un juego estilo FPS (Disparos en primera persona), con la finalidad de crear diferentes tácticas de comportamiento en un equipo de bots compuesto por agentes. \cite{Prolog-Scripted2016}
La idea fue inspirada principalmente en la observación de tácticas de equipo presentes en torneos reales de Counter-Strike. La idea fue inspirada principalmente en la observación de tácticas de equipo presentes en torneos reales de Counter-Strike.
Por otro lado, la construcción de este framework esta basado en un proyecto anterior hecho por los autores para crear scripts para bots. Por otro lado, la construcción de este framework está basado en un proyecto anterior hecho por los autores para crear scripts para bots.
El pilar de esta investigación se construye en la premisa de diseñar el framework para utilizar un creador de mapas y así personalizar el comportamiento del bot para mapas nuevos, pues con esto se le entregaría al agente conocimiento necesario del ambiente que le rodea para adquirir una ventaja táctica frente a oponentes humanos. El pilar de esta investigación se construye en la premisa de diseñar el framework para utilizar un creador de mapas y así personalizar el comportamiento del bot para mapas nuevos, pues con esto se le entregaría al agente conocimiento necesario del ambiente que le rodea para adquirir una ventaja táctica frente a oponentes humanos.