From c1c0df012141d1d9c8646e803238e5ea535ae9ce Mon Sep 17 00:00:00 2001 From: WBoerenkamps Date: Fri, 4 Oct 2024 10:32:28 +0200 Subject: added gameloop subsection and intro --- design.tex | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/design.tex b/design.tex index 1e42c03..f786f40 100644 --- a/design.tex +++ b/design.tex @@ -25,6 +25,17 @@ 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} -- cgit v1.2.3