Merge pull request 'revision from our profesor' (#11) from new_revision into master

Reviewed-on: #11
This commit is contained in:
Chris Cromer 2022-03-09 23:25:16 -03:00
commit 497b4a3e3e
4 changed files with 42 additions and 19 deletions

1
.gitattributes vendored
View File

@ -1 +1,2 @@
*.pdf filter=lfs diff=lfs merge=lfs -text *.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text

BIN
main.pdf (Stored with Git LFS)

Binary file not shown.

View File

@ -58,7 +58,7 @@
\item \textbf{CARRERA:} Ingeniería Civil en Informática \item \textbf{CARRERA:} Ingeniería Civil en Informática
\item \textbf{E-MAIL:} martin.araneda1501@alumnos.ubiobio.cl \item \textbf{E-MAIL:} martin.araneda1501@alumnos.ubiobio.cl
\end{itemize} \end{itemize}
\vspace{2mm} \vspace{1mm}
\begin{itemize} \begin{itemize}
\item \textbf{NOMBRE:} Christopher Cromer \item \textbf{NOMBRE:} Christopher Cromer
\item \textbf{DIRECCIÓN:} Roberto Matta 204, Departamento 625, Concepción \item \textbf{DIRECCIÓN:} Roberto Matta 204, Departamento 625, Concepción
@ -93,17 +93,34 @@
\section{Título Anteproyecto} \section{Título Anteproyecto}
Diseño e Implementación de una inteligencia artificial en video juegos con enfoque en lenguaje lógico y compilado. Diseño e Implementación de un lenguaje de programación basado en Prolog para control de agentes en videojuegos.
\section{Descripción del Problema} \section{Descripción del Problema}
Se va a utilizar un lenguaje lógico de programación para poner en funcionamiento una inteligencia artificial autónoma\ Los videojuegos de plataformas son un género de videojuegos que se basan en completar niveles, obtener objetos y sortear obstáculos tales como\
desarrollada en un motor de video juegos. acantilados o plataformas (dado así el nombre del género). Este tipo de videojuegos usualmente utilizan una vista de desplazamiento horizontal\
de izquierda a derecha.
Un lenguaje lógico es una manera de asimilar la toma de decisiones de un ser humano en como resolver un dificultad, con la diferencia\ \begin{figure}[!h]
de poder elegir que problema queremos solucionar y desarrollando relaciones entre objetos (agentes y/o obstáculos). \centering
\includegraphics[width=0.3\textwidth, height=0.3\textheight, keepaspectratio]{mario-bros.png}
\caption{Super Mario Bros.}
\label{fig:mario-bros}
\end{figure}
Todo esto es creando un cerebro o ''ente pensante'' que hará este trabajo de abordar estos problemas y superarlos. Este ente es llamado\ Uno de los juegos más influyentes y populares en este género es Super Mario Bros., lanzado en 1985. Este juego sentó las bases de lo que hoy\
se considera un videojuego de plataforma, incluyendo los elementos típicos, como distribución en niveles por cada mundo y obtención\
de objetos para tener una vida extra.
En el trabajo se va a utilizar un lenguaje lógico de programación para diseñar e implementar un agente inteligente para ser incorporado en un video\
juego implementado mediante el motor Godot.
Un lenguaje lógico es una manera de modelar el comportamiento de los seres humanos empleando reglas del tipo ''if...then...'' para\
resolver una dificultad, con la diferencia de poder elegir qué problema queremos solucionar y\
desarrollando relaciones entre objetos (agentes y/o obstáculos).
Todo esto es creando un sistema que será capaz de resolver un problema como lo hace un ser humano y superarlos.\
Este sistema es llamado\
''Inteligencia Artificial'', una combinación de programación y lógica, que tiene las mismas capacidades racionales de un ser humano. ''Inteligencia Artificial'', una combinación de programación y lógica, que tiene las mismas capacidades racionales de un ser humano.
Por tanto, se va a abordar un típico problema que incluye la toma de decisiones para superar obstáculos. Por tanto, se va a abordar un típico problema que incluye la toma de decisiones para superar obstáculos.
@ -113,27 +130,29 @@ Por tanto, se va a abordar un típico problema que incluye la toma de decisiones
\subsection{Objetivo General:} \subsection{Objetivo General:}
La finalidad de esta actividad de titulación es el desarrollo de un lenguaje de programación de tipo Prolog para poder\ Desarrollar un lenguage de programación tipo Prolog que permita modelar el comportamiento de los agentes de un vídeojuego empleando\
implementar una inteligencia artificial que permita evitar ciertos obstáculos. reglas declarativas.
\subsection{Objetivos Específicos:} \subsection{Objetivos Específicos:}
\begin{enumerate} \begin{enumerate}
\item Revisar bibliografía sobre Prolog, el motor Godot y programación de video juegos. \item Revisar bibliografía sobre Prolog, el motor Godot y programación de video juegos.
\item Analizar la información recopilada de la bibliografía investigada. \item Analizar la información recopilada de la bibliografía investigada.
\item Crear el lenguaje de programación tipo Prolog. \item Crear el lenguaje de programación de comportamiento tipo Prolog.
\item Implementar el lenguaje de programación en el motor Godot.
\item Desarrollar un videojuego usando inteligencia artificial basado en el lenguaje tipo Prolog. \item Desarrollar un videojuego usando inteligencia artificial basado en el lenguaje tipo Prolog.
\item Evaluar el desempeño del lenguaje creado.
\end{enumerate} \end{enumerate}
\section{Descripción de las actividades (Plan de trabajo)} \section{Descripción de las actividades (Plan de trabajo)}
\begin{enumerate} \begin{enumerate}
\item Se hará una revisión y descarte de bibliografía relacionada al desarrollo de videojuegos con implementación de inteligencia artificial basado en Prolog y motor Godot. \item Fase 1. Revisión y descarte de bibliografía relacionada al desarrollo de videojuegos con implementación de inteligencia artificial\
\item Se estudiará la información recopilada para posible implementación en el software. basado en Prolog y motor Godot.
\item Se creará un lenguaje de programación lógico basado en Prolog. \item Fase 2. Estudio de la información recopilada para posible implementación en el software.
\item Se implementará el lenguaje de programación lógico en el motor de videojuegos Godot. \item Fase 3. Creación del lenguaje de programación lógico basado en Prolog.
\item Se desarrollará un videojuego estilo plataforma con despliegue de la inteligencia artificial basada en Prolog. \item Fase 4. Implementación de un videojuego en el motor Godot de estilo plataforma formado por agentes inteligentes programados mediante\
el lenguaje recientemente creado.
\item Fase 5. Evaluación del sistema para verificar el comportamiento del lenguaje creado y su correcto desempeño.
\end{enumerate} \end{enumerate}
@ -142,7 +161,7 @@ implementar una inteligencia artificial que permita evitar ciertos obstáculos.
El beneficio de usar un lenguaje lógico en vez de funcional es poder programar una inteligencia artificial que tome decisiones\ El beneficio de usar un lenguaje lógico en vez de funcional es poder programar una inteligencia artificial que tome decisiones\
de la misma forma que una persona real piensa usando datos basado en el entorno. de la misma forma que una persona real piensa usando datos basado en el entorno.
Es necesario para así simular de manera mas realista el comportamiento humano de una inteligencia artificial y poder ser\ Es necesario para así simular de manera más realista el comportamiento humano de una inteligencia artificial y poder ser\
adaptado a otros tipos de juegos y motores. adaptado a otros tipos de juegos y motores.
Adicionalmente, al utilizar un lenguaje de programación compilado en vez de scripting, se puede desarrollar una inteligencia artificial\ Adicionalmente, al utilizar un lenguaje de programación compilado en vez de scripting, se puede desarrollar una inteligencia artificial\

BIN
mario-bros.png (Stored with Git LFS) Normal file

Binary file not shown.