informe/sections/marco_teorico/desarrollo_videojuegos/motor.tex

34 lines
2.5 KiB
TeX

\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 que se utilizará se llama Godot. \cite{Desarrollo-de-Videojuegos,Game-Mechanics,Godot-Projects}
\begin{figure}[H]
\centering
\includegraphics[width=0.2\textwidth, height=0.2\textheight, keepaspectratio]{figures/godot.png}
\caption{Godot Engine}
\label{fig:godot_engine}
\end{figure}
El motor Godot tiene gran valor en el desarrollo del proyecto, principalmente por su capacidad para implementar arte de píxel, en comparación con motores similares como Unity o Unreal porque en Godot las distancias entre los elementos es medido en píxeles mientras que los otros motores utilizan metros, lo que facilita en gran medida la eficacia al trabajar en juegos 2D, que usualmente para este género de videojuegos se usan píxeles y no metros.
Otro factor importante es que Godot posee un elemento llamado GDNative. GDNative es una API que permite usar lenguajes de programación como C, C++ o Rust que son lenguajes que compilan el código a lenguaje máquina. \cite{Godot-24-Hours}
Tiene especial importancia para el proyecto ya que permite implementar otro lenguaje de programación que hará interacción con GDNative. Por otro lado también permite que la Inteligencia Artificial tome decisiones con mayor rapidez dado que el código objeto de máquina se ejecuta más velozmente que un lenguaje interpretado o que se compila a bytecode como se puede notar en los siguientes gráficos que compara GDScript(lenguaje interpretado similar a Python), C\# y C++.
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth, height=0.9\textheight, keepaspectratio]{figures/godot-gdnative.png}
\caption{Voxel Data Generation} \cite{GDNative-Benchmarks}
\label{fig:godot_gdnative_comparison}
\end{figure}
En el caso de generación de datos voxel, hay un aumento de 8846.43\% en su rendimiento comparando GDNative con GDScript y un aumento de 651.07\% comparando GDNative con C\#.
\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth, height=0.9\textheight, keepaspectratio]{figures/godot-gdnative2.png}
\caption{Mesh Generation} \cite{GDNative-Benchmarks}
\label{fig:godot_gdnative_comparison2}
\end{figure}
En la prueba de generación de mallas el GDNative tiene un aumento de 651.07\% en su rendimiento comparando con C\#.