\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).

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}

\subsubsubsection{Control de oponentes dirigidos por la computadora}
El manejo de los bots esta hecho en \textit{''ReadyLog''}, un lenguaje basado el lenguaje de programación lógico GOLOG, que permite el razonamiento por acciones. 

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 \textit{''state machines''}, constando de nueve y controladas por el motor del juego.

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.