Basic Game Loop
startGameplay to start the game or resume it after pausing. Invoke
stopGameplay to stop the game or pause it. Use
updateGameState to read the state of the input controls and game objects then update the game objects accordingly. Use
renderGame to render the game to the player based on everything's state. Increasing
timeDilationFactor speeds up the rate the game updates, and decreasing it slows it down.