24 lines
2.2 KiB
TeX
24 lines
2.2 KiB
TeX
\subsection{Basado en el lenguaje de programación 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 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}
|
|
|
|
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 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.
|
|
|
|
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.}
|
|
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}
|
|
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}
|
|
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. |