(Switch to: Lua · Python · Level Generation · Tensor · Text Levels · Build · Known Issues)
Levels for DeepMind Lab are Quake III Arena levels. They are packaged into .pk3
files (which are ZIP files) and consist of a number of components, including the
following:
- One
.bspfile per level ("binary space partitioning"). This contains the level geometry (the "map"). - Optionally an accompanying
.aasfile per level ("area awareness system"). This contains navigation information for the in-game bots of Quake III Arena. - Textures. Textures are referenced by maps. DeepMind Lab ships with a number of default textures.
You can use your own maps, zipped up as a .pk3 file, by placing the .pk3
file(s) into your base directory (e.g. $HOME/.deepmind_lab/baselab).
DeepMind Lab includes tools to generate maps: The q3map2 tool converts a
.map file into a .bsp file, and the bspc tool generates an .aas file
from a .bsp file. The .map format is a human-readable text format that
describes a map as a sequence of entities. Map files are cumbersome to edit by
hand, but a variety of level editors are freely available
(e.g. GtkRadiant).
In addition to built-in and user-provided levels, DeepMind Lab offers additional sources of levels:
- Procedurally generated levels, which are created on the fly.
- Text levels, which are simple, human-readable text files
that can be compiled into
.mapfiles. This can either be done offline, or programmatically inside DeepMind Lab using Lua extensions.