Doom-based AI Research Platform for Reinforcement Learning from Raw Visual Information

ViZDoom allows developing AI bots that play Doom using the visual information (the screen buffer). It is primarily intended for research in machine visual learning, and deep reinforcement learning, in particular.

So far ViZDoom was used as research platform in over 400 articles!

Main features

  • Multi-platform
  • API for Python, C++ and partially Lua, Java and Julia
  • Easy-to-create custom scenarios (visual editors, scripting language and examples available)
  • Async and sync single-player and multi-player modes
  • Fast (up to 7000 fps in sync mode)
  • Lightweight (few MBs)
  • Customizable resolution and rendering parameters
  • Access to the depth buffer (3D vision)
  • Automatic labeling game objects visible in the frame
  • Off-screen rendering
  • Episodes recording and replaying
  • Time scaling in async mode
  • It is Doom!


ViZDoom is based on ZDoom, the most popular modern source-port of Doom. This means compatibility with a huge range of tools and resources that can be used to create custom scenarios, availability of detailed documentation of the engine and tools and support of Doom community.


GitHub Repo
Head over to GitHub and get ViZDoom.
YouTube Channel
See videos on our YouTube channel.
Google Group
Discuss on our Google Group.