explaingit

google-deepmind/lab

7,358CAudience · researcherComplexity · 5/5Setup · hard

TLDR

A customizable 3D game-world from Google DeepMind for training AI agents using reinforcement learning, where agents navigate mazes and solve puzzles to earn rewards inside a Quake III-based simulation.

Mindmap

mindmap
  root((DeepMind Lab))
    What it is
      3D simulation
      Quake III engine
      RL research env
    Tasks
      Navigation mazes
      Puzzle solving
      Reward signals
    Customization
      Lua level scripts
      New task design
    Interface
      Python API
      Human play mode
    Requirements
      Linux only
      Bazel build tool
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Train a deep reinforcement learning agent to navigate 3D mazes and collect rewards in a controlled environment.

USE CASE 2

Design custom research tasks by writing new levels in Lua without modifying the underlying game engine.

USE CASE 3

Test a new RL algorithm against the included navigation and puzzle-solving benchmark levels.

USE CASE 4

Play through a level yourself with keyboard and mouse to understand what your AI agent is experiencing.

Tech stack

CPythonLuaBazel

Getting it running

Difficulty · hard Time to first run · 1day+

Linux only, must build from source using Bazel plus multiple system library dependencies, no pre-built binaries provided.

In plain English

DeepMind Lab is a 3D simulation environment built for training and testing AI research agents. It was created by Google DeepMind and is based on the ioquake3 game engine, which is itself derived from id Software's Quake III Arena. The result is a first-person 3D world that an AI agent can navigate, observe, and interact with, rather than a human player. The environment provides a collection of 3D levels involving navigation tasks and puzzle-solving. These levels are designed to challenge AI agents that learn from experience by receiving rewards when they do the right thing, a technique called deep reinforcement learning. Researchers write agents in Python that interact with the environment through an API: the agent reads observations from the world (like what the camera sees), sends actions, and receives reward signals back. Levels can be customized using Lua scripts, so researchers can design new tasks without rebuilding the whole system. The project ships with example levels and a random agent as a starting point. It also supports human play through a keyboard and mouse interface, which makes it easier to understand what an agent is experiencing. Building the project requires Bazel, a build tool from Google, and runs on Linux. Several system libraries also need to be installed. The source code is provided directly rather than as a pre-built binary, so users compile it themselves. The project is not an official Google product. It has an accompanying research paper on arXiv for those who want to cite it in academic work.

Copy-paste prompts

Prompt 1
How do I install and build DeepMind Lab on Linux with Bazel to get the random agent example running?
Prompt 2
I want to create a custom level in DeepMind Lab using Lua, show me the minimal script structure I need.
Prompt 3
How does the Python API work in DeepMind Lab, how do I send actions to the environment and read back observations?
Prompt 4
What system libraries do I need to install on Ubuntu before building DeepMind Lab from source?
Prompt 5
I want to cite DeepMind Lab in a research paper, where is the arXiv paper mentioned in the repo?
Open on GitHub → Explain another repo

← google-deepmind on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.