\documentclass[
    spanish,
    12pt]{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage[
    backend=biber,
    style=apa
    ]{biblatex}
\addbibresource{references.bib}
\usepackage{csquotes}
\usepackage{graphicx}
\usepackage{mathptmx}
\usepackage{array}
\usepackage{float}
\usepackage{soulutf8}
\sethlcolor{blue}
\usepackage{listings}
\usepackage[table,xcdraw]{xcolor}

\usepackage{setspace}

\usepackage{caption}

\usepackage[left=3.3cm,
    right=2.3cm,
    top=3.5cm,
    bottom=3.0cm,
    letterpaper]{geometry}

\usepackage{ragged2e}
\justifying

\usepackage{hyperref}
\hypersetup{
    colorlinks=true,
    linkcolor=blue,
    citecolor=blue,
    allcolors=blue,
    pdftitle={Propuesta Anteproyecto de título}
}
\usepackage{hypcap}

\begin{document}

\title{Propuesta\\Anteproyecto de título}
\maketitle

\section{Identificación}

\subsection{Estudiantes}

\begin{itemize}
		\item \textbf{NOMBRE:} Martín Araneda Acuña
		\item \textbf{DIRECCIÓN:} Psje Veintidós, \#85, La Floresta IV, Hualpén
		\item \textbf{TELÉFONO:} +56983828885
        \item \textbf{CARRERA:} Ingeniería Civil en Informática
		\item \textbf{E-MAIL:} martin.araneda1501@alumnos.ubiobio.cl
\end{itemize}
\vspace{1mm}
\begin{itemize}
    \item \textbf{NOMBRE:} Christopher Cromer
    \item \textbf{DIRECCIÓN:} Roberto Matta 204, Departamento 625, Concepción
    \item \textbf{TELÉFONO:} +56990864256
    \item \textbf{CARRERA:} Ingeniería Civil en Informática
    \item \textbf{E-MAIL:} christopher.cromer1501@alumnos.ubiobio.cl
\end{itemize}

\subsection{Profesor Guía}

\begin{itemize}
	\item \textbf{NOMBRE:} Clemente Rubio-Manzano
	\item \textbf{E-MAIL:} clrubio@ubiobio.cl
\end{itemize}

\subsection{Personas, Instituciones O Empresas En Que Se Solicitará Apoyo Y Asesoría}

\begin{itemize}
	\item \textbf{NOMBRE:} Clemente Rubio-Manzano
	\item \textbf{RUBRO:} Educación Superior - Universidad del Bío - Bío
	\item \textbf{E-MAIL:} clrubio@ubiobio.cl
	\item \textbf{FIRMA:}
\end{itemize}

\subsection{Nombre De La Persona Responsable De La Empresa Que Supervisara Al Alumno}

\begin{itemize}
	\item \textbf{NOMBRE:} Clemente Rubio-Manzano
	\item \textbf{CARGO:} Profesor Jornada Completa Departamento Sistemas de Información
	\item \textbf{E-MAIL:} clrubio@ubiobio.cl
\end{itemize}

\section{Título Anteproyecto}

Diseño e Implementación de un lenguaje de programación {\color{white}\hl{de tipo declarativo inspirado en Prolog}}  para control de agentes en videojuegos.

\section{Descripción del Problema}

Los videojuegos de plataformas son un género de videojuegos que se basan en completar niveles, obtener objetos y sortear obstáculos tales como\
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.

\begin{figure}[!h]
    \centering
    \includegraphics[width=0.4\textwidth, height=0.4\textheight, keepaspectratio]{prototipo.png}
    \caption{Prototipo de Platformer}
    \label{fig:prototipo_platfomer}
\end{figure}

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.

Por tanto, se va a abordar un típico problema que incluye la toma de decisiones para superar obstáculos.


\section{Objetivos de la Actividad}

\subsection{Objetivo General:}

Desarrollar un lenguaje de programación {\color{white}\hl{de tipo declarativo inspirado en Prolog}} que permita modelar el comportamiento de los agentes de un vídeojuego empleando\
reglas declarativas.

\subsection{Objetivos Específicos:}

\begin{enumerate}
    \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 Crear el lenguaje de programación {\color{white}\hl{de tipo declarativo inspirado en Prolog.}}
    \item Desarrollar un videojuego usando una inteligencia artificial {\color{white}\hl{basada en el lenguaje anteriormente creado.}}
    \item Evaluar el desempeño del lenguaje inventado{\color{white}\hl{, verificando el cumplimiento exitoso de superación de obstáculos por parte del agente.}}.
\end{enumerate}

\section{Descripción de las actividades (Plan de trabajo)}

\begin{enumerate}
	\item Fase 1. Revisión y descarte de bibliografía relacionada al desarrollo de videojuegos con implementación de inteligencia artificial\
        inspirado en Prolog y motor Godot.
	\item Fase 2. Estudio de la información recopilada para posible implementación en el software.
	\item Fase 3. Creación del lenguaje de programación lógico {\color{white}\hl{de tipo declarativo inspirado en Prolog.}}
	\item Fase 4. Implementación de un videojuego en el motor Godot de estilo plataforma formado por agentes inteligentes programados usando\
        el lenguaje recientemente creado.
    \item Fase 5. Evaluación del {\color{white}\hl{correcto desempeño del agente en la superación de obstáculos, con el cumplimiento del nivel versus un jugador real y la comparación del puntaje y tiempo total de completación entre ambos jugadores.}}
\end{enumerate}


\section{Justificación del Proyecto}

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.

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.

Adicionalmente, al utilizar un lenguaje de programación compilado en vez de scripting, se puede desarrollar una inteligencia artificial\
que sea capaz de tomar decisiones complejas con mayor rapidez.

\section{Análisis de los Principales Trabajos Realizados en el área o tema de la propuesta }

En el Short Paper Prolog-Scripted Tactics Negotiation and Coordinated Team Actions for Counter-Strike Game Bots \cite{Prolog-Scripted2016},\
se implementa un script de prolog para controlar los agentes presentes en el juego.

Una de las características del lenguaje de scripting usado en el paper es que se interpreta a medida que va ejecutándose, lo que provoca que\
el rendimiento del software sea peor, acentuándose mas en inteligencias artificiales mas complejas.

En cambio, el lenguaje compilado tiene mejor rendimiento y se pueden encontrar errores de compilación antes de ejecutarse, lo que facilita\
la corrección y el feedback para evitar problemas futuros.

\section{Resultados Esperados de la investigación (INV) o Descripción del ambiente de Software esperado (SW)}

Esencialmente se espera que un agente en el video juego pueda evitar obstáculos a través de la toma de decisiones utilizando\
la inteligencia artificial implementada y así llegar a la meta.

\section{Planificación del trabajo a desarrollar: Carta Gantt}

En esta sección se presenta la carta gantt del plan de trabajo a desarrollar para el software

\begin{table}[!h]
	\begin{center}
	\begin{tabular}{|l|l|l|}
		\hline
		\textbf{Actividad}                              & \textbf{Duración} & \textbf{I/F}         \\ \hline
		Revisión y descarte de bibliografia             & 1 mes             & Marzo                \\ \hline
		Estudio de información recopilada               & 1 mes             & Abril                \\ \hline
		Creación de lenguage tipo Prolog                & 3 meses           & Mayo-Julio           \\ \hline
		Implementación de lenguaje tipo Prolog en Godot & 1 mes             & Agosto               \\ \hline
		Desarrollo de videojuego con I.A.               & 3 meses           & Septiembre-Noviembre \\ \hline
	\end{tabular}
	\end{center}
\end{table}

\section{Referencias}

\printbibliography[
    heading=none]

\end{document}