Skip to content

How this wiki works

This wiki describes how games store and process their data: archives and file formats, meshes, materials and shaders, worlds and streaming, collision, animation, and the runtime that consumes all of it. It is written so that a person can learn an engine from it and a program can rely on it.

Games that share an engine share most of their formats, and differ in places. So the wiki is organised the way an engine team’s own documentation would be: by engine, then by system (archives, geometry, materials, …), with the differences between games written where they occur instead of on separate per-game pages.

Section What it holds
Engines One section per engine. Its overview says which games run on it and what differs between them; its systems hold the pages.
Games One short hub per game: the build our observations come from, where its data lives, what is special about it, and links into its engine.
Concepts Ideas that cut across engines (levels of detail, layered materials, tile grids), each linking to how every engine does it.
Methods How things become known: the checks behind each confidence level.
Coverage Computed from every page: what is known per engine, system and game, how surely, and what is open.

The systems, in reading order, are fixed for every engine so that pages land in the same place everywhere:

System Covers
Archives and files Containers, compression, encryption, file naming and hashing
Data model Resource headers, type and class registries, references, entities and components
World and streaming Placement, cells and tiles, streaming, world state and layers
Geometry Meshes, vertex formats, levels of detail, skinning
Materials Material definitions, templates, parameters and texture bindings
Shaders Compiled shader containers, bindings and what the shaders compute
Textures Texture containers, pixel formats, mip storage
Lighting and sky Lights, global illumination, sky, atmosphere, time of day
Terrain Height fields, terrain materials and their blending
Vegetation Grass, trees, SpeedTree and wind
Water Oceans, rivers, lakes and their surfaces
Effects and decals Particles, decals and other effect entities
Collision and physics Collision shapes, physics materials and surfaces
Animation Skeletons, clips, tracks and timing
Gameplay data Params, scripts, events and the game’s own rules
Runtime and limits What the running engine does with the data, its limits, and known crashes
Mod loading How mods are loaded, merged and packaged

Under the title, a page shows its engine, its system and the games it applies to. Statements carry a badge saying how surely they are known: Proven Observed Sourced Inferred Unknown. Hover a badge for its meaning, or read Confidence. A badge can be limited to some games (Observed · Sekiro) and a statement can say which games it applies to: only in Elden Ring since Sekiro not in Sekiro.

Byte layouts are drawn as a grid of 16 bytes a row, each field coloured by how surely its meaning is known, with a table of the same fields below. Dotted bytes are inside the structure but not described at all.

Open questions are boxed; the coverage page lists them all.

Anyone adding to the wiki, person or agent, follows Writing pages.