Accumulated time for fixed-step physics updates. Ensures consistency regardless of FPS.
The canvas manager, used for size/resolution.
Timestamp of the last frame for deltaTime calculation.
OptionalloopInterval ID for the requestAnimationFrame loop.
The game map.
The logic/rules for the current match (e.g. CaptureTheFlag).
Performance Monitor instance for tracking frame budget and logic overhead.
Total kills in the current game session across all players.
List of game objects.
Whether the game simulation is currently paused. Rendering continues.
List of players.
Accumulator for powerup spawning logic.
Multiplier for powerup spawn rate, can be modified by bonuses.
Game time counter in milliseconds (since start of round).
List of updatables in the game. These are not rendered but updated every tick (e.g. timeouts).
Registers a callback to be executed after a delay in game time.
The function to call.
The delay in milliseconds.
The timeout object.
Ends the game and shows the leaderboard.
Main game loop driven by requestAnimationFrame. Uses an accumulator to ensure fixed-timestep updates.
The current time.
Modifies the powerup spawn rate for a duration.
The duration of the effect in milliseconds.
Pauses or unpauses the game.
Resets the game time and player timers.
Handle window resize.
Starts the game loop.
A single step of the game loop.
the temporal delta of the time step
Stops the game loop and clears intervals/timeouts.
Manages the game state, loop, and objects.
A class for a single game round with a single map contains a list of players, list of objects in the game contains a loop mechanism for time-iteration