ViZDoom allows developing AI bots that play Doom using only visual information (the screen buffer). It is primarily intended for research in machine visual learning, and deep reinforcement learning, in particular.
ViZDoom is based on ZDoom engine to provide the game mechanics.
- API for Python (including Gymnasium/Gym wrappers) and C++,
- Multi-platform (Linux, macOS, Windows),
- Fast (up to 7000 frames/steps per second in sync mode, single-threaded on a modern CPU),
- Lightweight (few MBs),
- Easy-to-create custom scenarios (visual editors, powerful scripting language, and examples available),
- Async and sync single-player and multiplayer modes,
- Customizable resolution and rendering parameters,
- Access to the depth buffer (3D vision),
- Automatic labeling and categorization of game objects visible in the frame,
- Access to the audio buffer,
- Access to the list of actors/objects and map geometry,
- Access to in-game text messages and notifications,
- Off-screen rendering,
- Episodes recording,
- In-game time scaling in async mode.
ViZDoom API is reinforcement learning friendly (suitable also for learning from demonstration, apprenticeship learning or apprenticeship via inverse reinforcement learning, etc.).
M Wydmuch, M Kempka & W Jaśkowski, ViZDoom Competitions: Playing Doom from Pixels, IEEE Transactions on Games, vol. 11, no. 3, pp. 248-259, 2019 (arXiv:1809.03470)
@article{Wydmuch2019ViZdoom,
author = {Marek Wydmuch and Micha{\l} Kempka and Wojciech Ja\'skowski},
title = {{ViZDoom} {C}ompetitions: {P}laying {D}oom from {P}ixels},
journal = {IEEE Transactions on Games},
year = {2019},
volume = {11},
number = {3},
pages = {248--259},
doi = {10.1109/TG.2018.2877047},
note = {The 2022 IEEE Transactions on Games Outstanding Paper Award}
}
or/and
M. Kempka, M. Wydmuch, G. Runc, J. Toczek & W. Jaśkowski, ViZDoom: A Doom-based AI Research Platform for Visual Reinforcement Learning, IEEE Conference on Computational Intelligence and Games, pp. 341-348, Santorini, Greece, 2016 (

