Guides
In-depth explanations of SHAG Engine systems. These guides explain concepts and architecture rather than step-by-step instructions.
Core Systems
| Guide | Description |
|---|---|
| Configuration | Build-time GAME selection, .env runtime networking, game submodules |
| BSP Map System | How BSP maps are loaded and rendered |
| Q3 Shader System | Shader parsing and material application |
| PK3 Filesystem | Virtual filesystem and archive loading |
| Camera System | Camera controllers and modes |
| Physics System | Collision detection and backends |
| Raw .map System | Parsing and rendering text .map files (an extension path, not a playable map route) |
| Movement System | Player movement and physics cvars |
| Pickup System | Engine-generic in-world collectibles + how to subclass for your game |
| Viewport Effects | View bob, screen shake, FOV effects |
| Weapon System | First-person weapons and projectiles |
| Model Loading | MD3, GLB and prefab loading |
| Lighting System | Lightmaps, LightGrid, dynamic and area lights |
Runtime Systems
| Guide | Description |
|---|---|
| Console System | Command registration and execution |
| Command Reference | Complete list of console commands |
| Cvar System | Console variables for configuration |
| Render Variables | Runtime graphics configuration |
| Skybox System | Cubemap and textured sky loading |
| Map Launching | bsp load vs map — the two paths, lobby dev-spawn, env vars |
| Service Registries | NetworkConnector / GameplayMapLauncher — how games inject behaviour into engine code |
Map Editing
| Guide | Description |
|---|---|
| SHAGGED Editor | The built-in four-view brush editor: building, texturing, entities, compile and playtest |
| SHAGGED Scripting API | Build maps from scripts or AI agents: operations, CLI, MCP server and mapping rules |
Multiplayer
| Guide | Description |
|---|---|
| Networking System | Multiplayer architecture and API |
| Lobby Server | Accounts, rooms, match spawning, results and ranking |
Advanced Topics
| Guide | Description |
|---|---|
| Headless Mode | NullEngine and CLI usage |
| Performance | PVS culling and optimization (tutorial) |
| Entity System | BSP entities and spawning (tutorial) |
How Guides Differ from Tutorials
| Tutorials | Guides |
|---|---|
| "Do this, then this" | "This is how it works" |
| Task-oriented | Concept-oriented |
| Build something | Understand something |
| Beginner-friendly | Reference material |
