Start

Theory

Reference

Examples

Engine theory

What the main parts of a game engine do, and how ASGE implements each one. Every page first explains the concept, then shows the ASGE types that realise it, with a short snippet.

Entity-Component-System

Why a game object is split into identity, data and behaviour, and how ASGE's Registry stores entities and components, iterates them through views, and runs systems over them each frame.

Game loop & timing

How the main loop reads input, updates the simulation with a delta time and renders, the order in which systems run every frame, and how game states, the clock and the profiler fit around it.

Events & signals

How raw SDL events are translated into engine events, and how the type-safe Signal/Connection pattern lets one part of the program announce something without knowing who is listening.

Memory & threading

The custom allocators (linear, pool, stack and free-list) that avoid per-frame heap traffic, when each one fits, and how the ThreadPool spreads work across cores.

Input

How raw keyboard and mouse events become the questions gameplay code asks, such as whether a key is down, was just pressed or was just released, and how the per-frame input state is kept and queried.

Rendering

The thin rendering layer over SDL3: the VideoSystem and window, the abstract IRenderer, textures and sprites, cameras, and how draw calls reach the backend each frame.

Audio

How ASGE opens the audio device and mixes several clips at once through a pool of streams, and how AudioSource components and the AudioSystem drive playback from the scene.

Filesystem & VFS

How virtual paths are mounted onto real directories so game data does not depend on where it lives, plus the file IO helpers and the file watcher used to detect changes on disk.

Assets

How the AssetManager loads each file once and caches it by virtual path, how sprites are resolved into textures, and how spritesheet frame tables describe animation frames.

Scenes

How a level's entities are saved to a scene file and loaded back by the SceneSerializer, and how the SceneManager keeps one active scene and caches visited ones for instant switching.

Physics

How movement, gravity and collisions work: colliders with layers and masks, a QuadTree broad phase feeding a shape-accurate narrow phase, solid push-out, and trigger enter/stay/exit events.

UI

How menus and HUDs are built from ordinary entities with UI components, created through the Create* helpers, then laid out and made clickable by the layout and interaction systems.

Math

The maths toolbox the engine leans on: vectors, Rect and Circle shapes, overlap and penetration tests, plus easing curves, tweens and splines for smooth motion.