aboutsummaryrefslogtreecommitdiff
path: root/design.tex
diff options
context:
space:
mode:
Diffstat (limited to 'design.tex')
-rw-r--r--design.tex16
1 files changed, 16 insertions, 0 deletions
diff --git a/design.tex b/design.tex
index 08ea7cc..0457d8b 100644
--- a/design.tex
+++ b/design.tex
@@ -25,6 +25,22 @@ workflows.
\section{Overview}
\subsection{Core}
+\subsubsection{Game Loop}
+Problem Statement\
+
+In the context of game development, a robust game loop is essential for maintaining consistent gameplay and ensuring that game logic, physics, and rendering are executed in a synchronized manner.
+Without a well-defined game loop, issues such as inconsistent frame rates, unresponsive input handling, and unpredictable behavior can arise, leading to a poor user experience.
+Therefore, the implementation of a game loop within a game engine is crucial for providing a stable foundation upon which game developers can build their projects./
+
+Game Loop Design\
+
+The game loop is integrated directly into the engine to streamline development and minimize timing issues for game developers.
+Two separate update functions are employed. A fixed-time update is used with a consistent time delay per update call for game logic and physics, ensuring predictable behavior regardless of fluctuations in frame rates.
+By performing physics calculations at regular intervals, game logic and physics are decoupled from frame rate, ensuring consistent behavior across different hardware.
+
+Rendering and animations are handled separately on a per-frame basis.
+A delay and delta time calculation are applied to create consitent visual behavior, even when frame rates vary.
+This separation between game logic and rendering ensures that both simulation accuracy and visual fluidity are optimized.
\subsection{Patterns}