Skip to content

Guides ​

In-depth explanations of SHAG Engine systems. These guides explain concepts and architecture rather than step-by-step instructions.

Core Systems ​

GuideDescription
ConfigurationBuild-time GAME selection, .env runtime networking, game submodules
BSP Map SystemHow BSP maps are loaded and rendered
Q3 Shader SystemShader parsing and material application
PK3 FilesystemVirtual filesystem and archive loading
Camera SystemCamera controllers and modes
Physics SystemCollision detection and backends
Raw .map SystemParsing and rendering text .map files (an extension path, not a playable map route)
Movement SystemPlayer movement and physics cvars
Pickup SystemEngine-generic in-world collectibles + how to subclass for your game
Viewport EffectsView bob, screen shake, FOV effects
Weapon SystemFirst-person weapons and projectiles
Model LoadingMD3, GLB and prefab loading
Lighting SystemLightmaps, LightGrid, dynamic and area lights

Runtime Systems ​

GuideDescription
Console SystemCommand registration and execution
Command ReferenceComplete list of console commands
Cvar SystemConsole variables for configuration
Render VariablesRuntime graphics configuration
Skybox SystemCubemap and textured sky loading
Map Launchingbsp load vs map — the two paths, lobby dev-spawn, env vars
Service RegistriesNetworkConnector / GameplayMapLauncher — how games inject behaviour into engine code

Map Editing ​

GuideDescription
SHAGGED EditorThe built-in four-view brush editor: building, texturing, entities, compile and playtest
SHAGGED Scripting APIBuild maps from scripts or AI agents: operations, CLI, MCP server and mapping rules

Multiplayer ​

GuideDescription
Networking SystemMultiplayer architecture and API
Lobby ServerAccounts, rooms, match spawning, results and ranking

Advanced Topics ​

GuideDescription
Headless ModeNullEngine and CLI usage
PerformancePVS culling and optimization (tutorial)
Entity SystemBSP entities and spawning (tutorial)

How Guides Differ from Tutorials ​

TutorialsGuides
"Do this, then this""This is how it works"
Task-orientedConcept-oriented
Build somethingUnderstand something
Beginner-friendlyReference material

Released under the MIT License.