fix capitalization in title names
This commit is contained in:
parent
85382493c7
commit
7662877695
@ -1,4 +1,4 @@
|
|||||||
\section{Descripción del ambiente del software}
|
\section{Descripción del Ambiente del Software}
|
||||||
Para la realización del proyecto se necesita los software siguientes.
|
Para la realización del proyecto se necesita los software siguientes.
|
||||||
|
|
||||||
\input{sections/ambiente_software/lenguaje}
|
\input{sections/ambiente_software/lenguaje}
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
El entorno usado para el desarrollo es:
|
El entorno usado para el desarrollo es:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Linux Mint 21 o Ubuntu 22.04
|
\item Linux Mint 21 o Ubuntu 22.04
|
||||||
\item Visual Studio Code 1.68
|
\item Visual Studio Code 1.69
|
||||||
\end{itemize}
|
\end{itemize}
|
@ -1,4 +1,4 @@
|
|||||||
\subsection{Lenguaje de programación}
|
\subsection{Lenguaje de Programación}
|
||||||
Para compilar el lenguaje de programación se necesita:
|
Para compilar el lenguaje de programación se necesita:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item GCC 5 o clang 5
|
\item GCC 5 o clang 5
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
\section*{Composición del informe}
|
\section*{Composición del Informe}
|
||||||
\addcontentsline{toc}{section}{\protect{}Composición del informe}
|
\addcontentsline{toc}{section}{\protect{}Composición del Informe}
|
||||||
El presente informe se encuentra dividido en cuatro capítulos. A continuación se describe brevemente el contenido de cada uno de ellos.
|
El presente informe se encuentra dividido en cuatro capítulos. A continuación se describe brevemente el contenido de cada uno de ellos.
|
||||||
|
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
@ -10,6 +10,6 @@ El presente informe se encuentra dividido en cuatro capítulos. A continuación
|
|||||||
|
|
||||||
\item \textbf{Estado del Arte:} Se describen las principales ideas de trabajos de investigación similares, contrastándolo con este trabajo. Se han dividido estos en dos categorías: basado en el lenguaje de programación Prolog y GOLOG, con descripciones acerca de metodología e implementación de agentes en videojuegos
|
\item \textbf{Estado del Arte:} Se describen las principales ideas de trabajos de investigación similares, contrastándolo con este trabajo. Se han dividido estos en dos categorías: basado en el lenguaje de programación Prolog y GOLOG, con descripciones acerca de metodología e implementación de agentes en videojuegos
|
||||||
|
|
||||||
\item \textbf{Descripción del Ambiente del software:} Se explica el software a utilizar, incluyendo la versión y el entorno de desarrollo.
|
\item \textbf{Descripción del Ambiente del Software:} Se explica el software a utilizar, incluyendo la versión y el entorno de desarrollo.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
Además, al final del informe se adjuntan las referencias con los artículos utilizados en el proceso de investigación.
|
Además, al final del informe se adjuntan las referencias con los artículos utilizados en el proceso de investigación.
|
@ -1,10 +1,10 @@
|
|||||||
\subsection{Basado en el lenguaje de programación GOLOG}
|
\subsection{Basado en el Lenguaje de Programación GOLOG}
|
||||||
\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 los jugadores humanos compiten para alcanzar 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.
|
||||||
|
|
||||||
@ -17,8 +17,8 @@ Por tanto, la información de estos elementos sera transmitida al bot si este es
|
|||||||
\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.
|
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 ventaja 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.
|
@ -1,4 +1,4 @@
|
|||||||
\subsection{Basado en el lenguaje de programación lógico Prolog}
|
\subsection{Basado en el Lenguaje de Programación Lógico Prolog}
|
||||||
\subsubsection{Prolog-Scripted Tactics Negotiation and Coordinated Team Actions for Counter-Strike Game Bots}
|
\subsubsection{Prolog-Scripted Tactics Negotiation and Coordinated Team Actions for Counter-Strike Game Bots}
|
||||||
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}
|
||||||
|
|
||||||
@ -7,7 +7,7 @@ Por otro lado, la construcción de este framework está basado en un proyecto an
|
|||||||
|
|
||||||
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.
|
||||||
|
|
||||||
\subsubsubsection{Desarrollo del razonamiento lógico del agente}
|
\subsubsubsection{Desarrollo del Razonamiento Lógico del Agente}
|
||||||
Cada bot contiene dos pilas, una de acciones y otra de tareas. Estas siempre ejecutan el bloque que esta en el tope de la pila. Para que un bot sea capaz de cumplir una tarea de manera exitosa, hará ciertas acciones asociadas a esa tarea con tal de cumplirla. Algunas condiciones causarán que se agreguen o quiten acciones dentro de esta pila. Por tanto, cuando se complete una tarea o una acción, se borrará el bloque y luego el bot intentará ejecutar la acción o tarea siguiente en la pila.
|
Cada bot contiene dos pilas, una de acciones y otra de tareas. Estas siempre ejecutan el bloque que esta en el tope de la pila. Para que un bot sea capaz de cumplir una tarea de manera exitosa, hará ciertas acciones asociadas a esa tarea con tal de cumplirla. Algunas condiciones causarán que se agreguen o quiten acciones dentro de esta pila. Por tanto, cuando se complete una tarea o una acción, se borrará el bloque y luego el bot intentará ejecutar la acción o tarea siguiente en la pila.
|
||||||
|
|
||||||
Uno de los mecanismos de razonamiento utilizado es uno llamado ''Razonamiento de reflejos'', el cual sucede en cada actualización del estado actual del juego, prestando gran apoyo cuando ocurren cambios repentinos en un nivel, como en el ambiente o cuando el bot este siendo atacado. En consecuencia, este mecanismo posee una característica poderosa para agregar nuevas tareas o limpiar la pila de tareas, adaptándose a cada situación.
|
Uno de los mecanismos de razonamiento utilizado es uno llamado ''Razonamiento de reflejos'', el cual sucede en cada actualización del estado actual del juego, prestando gran apoyo cuando ocurren cambios repentinos en un nivel, como en el ambiente o cuando el bot este siendo atacado. En consecuencia, este mecanismo posee una característica poderosa para agregar nuevas tareas o limpiar la pila de tareas, adaptándose a cada situación.
|
||||||
@ -15,8 +15,8 @@ Uno de los mecanismos de razonamiento utilizado es uno llamado ''Razonamiento de
|
|||||||
\subsubsubsection{Tipo de I.A.}
|
\subsubsubsection{Tipo de I.A.}
|
||||||
El agente usado en este proyecto es de tipo racional basado en objetivos, con base en un árbol de decisión con instrucciones condicionales.
|
El agente usado en este proyecto es de tipo racional basado en objetivos, con base en un árbol de decisión con instrucciones condicionales.
|
||||||
|
|
||||||
\subsubsubsection{Planificación de camino}
|
\subsubsubsection{Planificación de Camino}
|
||||||
En los trabajos previos hechos por el autor, se implementó una base de datos que contiene puntos de navegación, con el fin de calcular y planificar el camino que debe seguir al moverse el bot. También se usan los puntos de navegación para tomar decisiones racionales de naturaleza táctica.
|
En los trabajos previos hechos por el autor, se implementó una base de datos que contiene puntos de navegación, con el fin de calcular y planificar el camino que debe seguir al moverse el bot. También se usan los puntos de navegación para tomar decisiones racionales de naturaleza táctica.
|
||||||
|
|
||||||
\subsubsubsection{Agente omnisciente}
|
\subsubsubsection{Agente Omnisciente}
|
||||||
El bot adquiere total conocimiento del mapa, lo que le permite tener una ventaja táctica y así aumentar sus posibilidades para ganar la partida.
|
El bot adquiere total conocimiento del mapa, lo que le permite tener una ventaja táctica y así aumentar sus posibilidades para ganar la partida.
|
@ -1,4 +1,4 @@
|
|||||||
\subsection{Metodología de trabajo}
|
\subsection{Metodología de Trabajo}
|
||||||
La metodología utilizada es la de investigación experimental, la cual consiste en ir implementando ciertas acciones en la que el agente debe reaccionar de acuerdo a los estímulos que están presentes en un ambiente preestablecido, que en este caso es un nivel presente en el videojuego.
|
La metodología utilizada es la de investigación experimental, la cual consiste en ir implementando ciertas acciones en la que el agente debe reaccionar de acuerdo a los estímulos que están presentes en un ambiente preestablecido, que en este caso es un nivel presente en el videojuego.
|
||||||
Con esto, se harán pruebas de causa y efecto, recompilando información en su efectivo comportamiento racional frente a obstáculos para posterior comparación con un jugador real.
|
Con esto, se harán pruebas de causa y efecto, recompilando información en su efectivo comportamiento racional frente a obstáculos para posterior comparación con un jugador real.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
\subsubsection{Motor de videojuego}
|
\subsubsection{Motor de Videojuego}
|
||||||
El motor de videojuego tiene una alta importancia en el desarrollo de videojuegos, ya que es responsable de proveer facilidad en utilizar gráficos, sonidos, física, redes y varios otros aspectos que ayudan en el desarrollo de un videojuego.
|
El motor de videojuego tiene una alta importancia en el desarrollo de videojuegos, ya que es responsable de proveer facilidad en utilizar gráficos, sonidos, física, redes y varios otros aspectos que ayudan en el desarrollo de un videojuego.
|
||||||
El motor que se utilizará se llama Godot. \cite{Desarrollo-de-Videojuegos,Game-Mechanics,Godot-Projects}
|
El motor que se utilizará se llama Godot. \cite{Desarrollo-de-Videojuegos,Game-Mechanics,Godot-Projects}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user