ViZDoom allows developing AI bots that play Doom using only the 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 to provide the game mechanics.
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, in print, arXiv:1809.03470
@article{wydmuch2018vizdoom,
title={ViZDoom Competitions: Playing Doom from Pixels},
author={Wydmuch, Marek and Kempka, Micha{\l} and Ja{\'s}kowski, Wojciech},
journal={IEEE Transactions on Games},
year={2018},
publisher={IEEE}
}
or
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 (arXiv:1605.02097)
@inproceedings{Kempka2016ViZDoom,
author = {Micha{\l} Kempka and Marek Wydmuch and Grzegorz Runc and Jakub Toczek and Wojciech Ja\'skowski},
title = {{ViZDoom}: A {D}oom-based {AI} Research Platform for Visual Reinforcement Learning},
booktitle = {IEEE Conference on Computational Intelligence and Games},
year = {2016},
url = {http://arxiv.org/abs/1605.02097},
address = {Santorini, Greece},
Month = {Sep},
Pages = {341--348},
Publisher = {IEEE},
Note = {The best paper award}
}
To install ViZDoom on Ubuntu run (may take few minutes):
sudo apt install cmake libboost-all-dev libsdl2-dev libfreetype6-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libjpeg-dev libbz2-dev libfluidsynth-dev libgme-dev libopenal-dev zlib1g-dev timidity tar nasm
pip install vizdoom
We recommend using at least Ubuntu 18.04+ with Python 3.7+.
To install ViZDoom on a conda environment (no system-wide installations required):
conda install -c conda-forge boost cmake gtk2 sdl2
git clone https://github.com/mwydmuch/ViZDoom.git --recurse-submodules
cd ViZDoom
python setup.py build && python setup.py install
Note that pip install vizdoom
won't work with conda install and you have to follow these steps.
To install ViZDoom on macOS run (may take few minutes):
brew install cmake boost openal-soft sdl2
pip install vizdoom
We recommend using at least macOS High Sierra 10.13+ with Python 3.7+. Currently, only for Intel CPU, we will gladly accept PR with M1 support.
To install pre-build release for Windows 10 or 11 64-bit and Python 3.6+ just run (should take few seconds):
pip install vizdoom
If you wish to use OpenAI Gym environments, install ViZDoom with
pip install vizdoom[gym]
See documentation and examples on the use of Gym API.
Python examples are currently the richest, so we recommend to look at them, even if you plan to use other language. API is almost identical for all languages.
See also the tutorial.
If you own original Doom or Doom 2 games, you can replace Freedoom graphics by placing doom.wad
or doom2.wad
into your working directory or vizdoom
package directory.
Alternatively, any base game WAD (including other Doom engine-based games) can be used by pointing to it with the set_doom_game_path/setDoomGamePath
method.
Detailed description of all types and methods:
Additional documents:
Also full documentation of engine and ACS scripting language can be found on ZDoom Wiki.
Useful parts:
This project is maintained and developed in our free time. All bug fixes, new examples, scenarios and other contributions are welcome! We are also open to features ideas and design suggestions.
Code original to ViZDoom is under MIT license. ZDoom uses code from several sources with varying licensing schemes.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。