Code Monkey home page Code Monkey logo

farama-foundation / vizdoom Goto Github PK

View Code? Open in Web Editor NEW
1.7K 52.0 394.0 59.24 MB

Reinforcement Learning environments based on the 1993 game Doom :godmode:

Home Page: https://vizdoom.farama.org/

C++ 77.42% C 20.10% Shell 0.05% CMake 0.71% HTML 0.23% QMake 0.02% Assembly 0.01% Objective-C++ 0.10% Yacc 0.10% TeX 0.02% Lex 0.04% Batchfile 0.08% PostScript 0.03% Python 0.86% Roff 0.19% SWIG 0.03% Dockerfile 0.02%
deep-learning reinforcement-learning python vizdoom doom examples gym-environment gymnasium

vizdoom's Introduction

PyPI version Build pre-commit Code style: black

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.

ViZDoom Demo

Features

  • Multi-platform (Linux, macOS, Windows),
  • API for Python and C++,
  • Gymnasium/OpenAI Gym environment wrappers (thanks to Arjun KG Benjamin Noah Beal, Lawrence Francis, and Mark Towers),
  • Easy-to-create custom scenarios (visual editors, scripting language, and examples available),
  • Async and sync single-player and multiplayer modes,
  • Fast (up to 7000 fps in sync mode, single-threaded),
  • Lightweight (few MBs),
  • Customizable resolution and rendering parameters,
  • Access to the depth buffer (3D vision),
  • Automatic labeling of game objects visible in the frame,
  • Access to the audio buffer (thanks to Shashank Hegde),
  • Access to the list of actors/objects and map geometry,
  • 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.).

Julia (thanks to Jun Tian), Lua, and Java bindings are available in other branches but are no longer maintained.

Cite as

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

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},
  address   = {Santorini, Greece},
  month     = {Sep},
  pages     = {341--348},
  publisher = {IEEE},
  doi       = {10.1109/CIG.2016.7860433},
  note      = {The Best Paper Award}
}

Python quick start

Linux

To install the latest release of ViZDoom, just run:

pip install vizdoom

Both x86-64 and AArch64 (ARM64) architectures are supported. Wheels are available for Python 3.8+ on Linux.

If Python wheel is not available for your platform (Python version <3.8, distros below manylinux_2_28 standard), pip will try to install (build) ViZDoom from the source. ViZDoom requires a C++11 compiler, CMake 3.12+, Boost 1.54+ SDL2, OpenAL (optional), and Python 3.7+ to install from source. See documentation for more details.

macOS

To install the latest release of ViZDoom, just run (it may take a few minutes as it will build ViZDoom from source on M1/M2 chips):

brew install cmake boost sdl2 openal-soft
pip install vizdoom

Both Intel and Apple Silicon CPUs are supported. We recommend using at least macOS High Sierra 10.13+ with Python 3.7+. On Apple Silicon (M1 and M2), make sure you are using Python/Pip for Apple Silicon.

Windows

To install the latest release of ViZDoom, just run:

pip install vizdoom

At the moment, only x86-64 architecture is supported on Windows. Wheels are available for Python 3.8+ on Windows.

Please note that the Windows version is not as well-tested as Linux and macOS versions. It can be used for development and testing but if you want to conduct serious (time and resource-extensive) experiments on Windows, please consider using Docker or WSL with Linux version.

Gymnasium/Gym wrappers

Gymnasium environments are installed along with ViZDoom. See documentation and examples on the use of Gymnasium API.

OpenAI-Gym wrappers are also available, to install them run:

pip install vizdoom[gym]

See documentation and examples on the use of Gym API. OpenAI-Gym wrappers are deprecated and will be removed in future versions in favour of Gymnasium.

Examples

  • Python (contain learning examples implemented in PyTorch, TensorFlow and Theano)
  • C++

Python examples are currently the richest, so we recommend to look at them, even if you plan to use other language. The API is almost identical for all languages.

See also the tutorial.

Original Doom graphics

Unfortunately, we cannot distribute ViZDoom with original Doom graphics. 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 and custom/community games) can be used by pointing to it with the set_doom_game_path/setDoomGamePath method.

Documentation

Detailed descriptions of all ViZDoom types and methods can be found in the documentation.

Full documentation of the ZDoom engine and ACS scripting language can be found on ZDoom Wiki.

Useful articles (for advanced users who want to create custom environments/scenarios):

Awesome Doom tools/projects

  • SLADE3 - Great Doom map (scenario) editor for Linux, MacOS and Windows.
  • Doom Builder 2 - Another great Doom map editor for Windows.
  • OBLIGE - Doom random map generator and PyOblige is a simple Python wrapper for it.
  • Omgifol - Nice Python library for manipulating Doom maps.
  • NavDoom - Maze navigation generator for ViZDoom (similar to DeepMind Lab).
  • MazeExplorer - More sophisticated maze navigation generator for ViZDoom.
  • Sample Factory - A high-performance reinforcement learning framework for ViZDoom.
  • EnvPool - A high-performance vectorized environment for ViZDoom.
  • Obsidian - Doom random map generator, a continuation of OBLIGE.
  • LevDoom - Generalization benchmark in ViZDoom featuring difficulty levels in visual complexity.
  • COOM - Continual learning benchmark in ViZDoom offering task sequences with diverse objectives.

Contributions

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 feature ideas and design suggestions.

We have a roadmap for future development work for ViZDoom available here.

License

The code original to ViZDoom is under MIT license. ZDoom uses code from several sources with varying licensing schemes.

vizdoom's People

Contributors

ajschumacher avatar apilaskowski avatar arjun-kg avatar awentzonline avatar bebeal avatar brchristian avatar buszumpulum avatar culurciello avatar elliottower avatar findmyway avatar hadjilucasl avatar lancifollia avatar ldfrancis avatar lowcapromocji avatar mgoulao avatar mhe500 avatar miffyli avatar mihahauke avatar mwydmuch avatar ppwwyyxx avatar qiuwch avatar shakenes avatar shubhamjha97 avatar simoninithomas avatar soumith avatar thavlik avatar ttomilin avatar tudor-berariu avatar vigilans avatar wjaskowski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vizdoom's Issues

Windows Visual Studio 2015 error C2177: constant too big

Hello, I'm trying to build VizDoom using Windows 10 x64 and I'm getting tons of error of constant too big. I followed all the directions listed on zdoom, which worked perfectly fine. After adding the boost libraries and using the ViZDoom source, there's thousands of errors of constant too big.

OS X Python Installation Instructions

This may be useful to others:

$ brew install boost --with-python
$ brew install boost-python
$ cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON=ON
$ make
$ rm bin/vizdoom
$ ln -s vizdoom.app/Contents/MacOS/vizdoom bin/vizdoom
$ cd examples/python
$ python basic.py

Java examples fail

java git:(master) ✗ ./run_JExample.sh
JavaExample.java:3: error: cannot find symbol
import enums.GameVariable;
            ^
  symbol:   class GameVariable
  location: package enums
../../vizia_api_bindings/java/ViziaDoomGameJava.java:44: error: cannot find symbol
    public native void addAvailableGameVariable(GameVariable var);
                                                ^
  symbol:   class GameVariable
  location: class ViziaDoomGameJava
../../vizia_api_bindings/java/ViziaDoomGameJava.java:62: error: cannot find symbol
    public native int getGameVariable(GameVariable var);
                                      ^
  symbol:   class GameVariable
  location: class ViziaDoomGameJava
JavaExample.java:25: error: method setScreenResolution in class ViziaDoomGameJava cannot be applied to given types;
    dg.setScreenResolution(ScreenResolution.RES_320X240);
      ^
  required: int,int
  found: ScreenResolution
  reason: actual and formal argument lists differ in length
JavaExample.java:33: error: cannot find symbol
    dg.setWindowVisible(true);
      ^
  symbol:   method setWindowVisible(boolean)
  location: variable dg of type ViziaDoomGameJava
JavaExample.java:35: error: cannot find symbol
    dg.setConsoleEnabled(true);
      ^
  symbol:   method setConsoleEnabled(boolean)
  location: variable dg of type ViziaDoomGameJava
JavaExample.java:41: error: cannot find symbol
    dg.addAvailableGameVariable(GameVariable.HEALTH);
                                ^
  symbol:   variable GameVariable
  location: class JavaExample
JavaExample.java:42: error: cannot find symbol
    dg.addAvailableGameVariable(GameVariable.KILLCOUNT);
                                ^
  symbol:   variable GameVariable
  location: class JavaExample
JavaExample.java:62: error: cannot find symbol
        System.out.println( "STATE NUMBER: " + s.number + " HP: " + s.gameVariables[0] + " KILLS: " + s.gameVariables[1] );
                                                                     ^
  symbol:   variable gameVariables
  location: variable s of type State
JavaExample.java:62: error: cannot find symbol
        System.out.println( "STATE NUMBER: " + s.number + " HP: " + s.gameVariables[0] + " KILLS: " + s.gameVariables[1] );
                                                                                                       ^
  symbol:   variable gameVariables
  location: variable s of type State
JavaExample.java:64: error: cannot find symbol
        dg.setAction(action);
          ^
  symbol:   method setAction(int[])
  location: variable dg of type ViziaDoomGameJava
../../vizia_api_bindings/java/State.java:10: error: cannot find symbol
        this.game_variables=null;
            ^
  symbol: variable game_variables
../../vizia_api_bindings/java/State.java:15: error: cannot find symbol
        this.gameVariables=vars;
            ^
  symbol: variable gameVariables
13 errors
Error: Could not find or load main class JavaExample

Default sleep time in examples

Should be probably less than 0.05. 0.05 means at most 20fps. Am I right? So it should be 1.0/30 for smooth experience. A very minor thing.

ImportError: No module named site

I compiled ViZDoom with Enthought python 2.7 on Mac OS X.

When I try to run the example basic.py, I get ImportErrror: No module named site. StackOverflow suggests it's a pythonpath problem, but I can't figure out how to fix it. Thanks!

Fatal error in init() in deadly_corridor scenario

Just run examples/python/deadly_corridor.py and some fatal error will come up.
Doom window with the correct scenario is visible for a while.
It doesn't happen with health_gathering.py.
It happens in c++ as well.

*** Fatal Error ***
Address not mapped to object (signal 11)
Address: 0x421

Generating viziazdoom-crash.log and killing process 20409, please wait... sh: 1: gxmessage: not found
terminate called after throwing an instance of 'boost::system::system_error'
what(): in file '/home/ebony/vizia/vizia_api_src/boost/process/posix/wait_for_exit.hpp', line 30: waitpid(2) failed: No child processes
Aborted

No textures in some scenarios

There are no wall textures in some scenarios: deadly_corridor, take_cover. No wall textures makes harder to understand the perspective.

WSAD controls

Is there a way to enable WSAD controls instead of arrows?

Ubuntu SegFault basic.py

Hi there,

I just built ViZDoom according to the instructions but can't get the basic example to run.

vizdoom-crash.txt

Any ideas which might be going wrong? CMake and make worked without problems. However, I also tried to build ZDoom directly but had problems with fmodex being built but I installed the library and ViZDoom finds it without problems.

TypeError: No registered converter was able to produce a C++ rvalue ...

from Csaba Zsolnai on google groups
"
i have some trouble making the basic example run after building vizdoom.
I get the following error:

python basic.py

Traceback (most recent call last):
File "basic.py", line 13, in
from vizdoom import DoomGame
TypeError: No registered converter was able to produce a C++ rvalue of type std::string from this Python object of type str

I am running Ubuntu 15.10 64 bit

"

Nicer exception if paths are incorrect

Now when path is incorrect in setDoomGamePath and setDoomIwadPath it throws something like:
You cannot -file with the shareware version. Register!
terminate called after throwing an instance of 'Vizia::DoomUnexpectedExitException'
what(): Controlled ViziaZDoom instance exited unexpectedly.

It would be nice if the exception was more informative.

Closing display window causes trouble

If window displaying the game is close the game hangs and the main process in unresponsive. It would be nice if it could act normally and/or give some warning or if closing the window was impossible.

consider linking to doomwiki.org instead

Hey there, the competition page links to a Doom Wiki hosted at Wikia.com. Some time ago, the original administrators and contributors to that wiki decided to leave and formed doomwiki.org instead. The wiki forked at that point and the original Wikia was largely abandoned (more about the fork here). Some might argue that the content on doomwiki.org is now considerably more developed and up-to-date. I just wanted to see whether you would consider linking to there instead. Thanks for your consideration.

Resolutions under 320x240 stopped working.

I suppose that changes in this commit cause the trouble: d114403
Some output:

ViziaZDoom - - SDL version
Compiled on Dec 7 2015

M_LoadDefaults: Load system defaults.
Gameinfo scan took 0 ms
W_Init: Init WADfiles.
adding /home/ebony/vizia/bin/viziazdoom.pk3, 582 lumps
adding ../scenarios/doom2.wad, 2919 lumps
adding ../scenarios/s1_b.wad, 7 lumps
vizia_controlled is write protected.
vizia_instance_id is write protected.
vizia_singletic is write protected.
vizia_screen_format is write protected.
I_Init: Setting up machine state.
CPU Vendor ID: GenuineIntel
Name: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
Family 6, Model 60, Stepping 3
Features: MMX SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2
V_Init: allocate screen.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...
S_InitData: Load sound definitions.
G_ParseMapInfo: Load map definitions.
Texman.Init: Init texture manager.
ParseTeamInfo: Load team definitions.
LoadActors: Load actor definitions.
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init menus.
P_Init: Init Playloop state.
ParseSBarInfo: Loading default status bar definition.
ParseSBarInfo: Loading custom status bar definition.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)
Using video driver x11
viziazdoom: /home/ebony/vizia/vizia_doom_src/src/v_video.cpp:1346: bool V_DoModeSetup(int, int, int): Assertion `CleanWidth >= 320' failed.

The install instructions should be improved

There are some install instructions in README, but they should be either in INSTALL or (better) in README.md. Compilations requirements are missing. Initially I've got:

CMake Error at /usr/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
  Could NOT find SDL2 (missing: SDL2_LIBRARY SDL2_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE)
  FindSDL2.cmake:179 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  vizia_doom_src/src/CMakeLists.txt:205 (find_package)

What helped was:

sudo apt-get install libsdl2-dev

Any other requirements I met by accident? (e.g. boost?)

Then, however, I cannot find minimal running example instructions. So finally I did not succeed:

➜  python git:(master) ✗ ./seed.py
Traceback (most recent call last):
  File "./seed.py", line 16, in <module>
    from vizia import *
ImportError: No module named vizia
➜  python git:(master) ✗ l
total 100K
drwxrwxr-x 2 wojciech wojciech 4,0K sty 25 12:17 .
drwxrwxr-x 5 wojciech wojciech 4,0K sty 25 11:58 ..
-rw-rw-r-- 1 wojciech wojciech 1,1K sty 25 11:58 config_basic.properties
-rw-rw-r-- 1 wojciech wojciech 1,1K sty 25 11:58 config_deadly_corridor.properties
-rw-rw-r-- 1 wojciech wojciech 1,4K sty 25 11:58 config_deathmatch.properties
-rw-rw-r-- 1 wojciech wojciech 1,1K sty 25 11:58 config_defend_the_center.properties
-rw-rw-r-- 1 wojciech wojciech 1,1K sty 25 11:58 config_defend_the_line.properties
-rw-rw-r-- 1 wojciech wojciech 1,1K sty 25 11:58 config_health_gathering.properties
-rw-rw-r-- 1 wojciech wojciech  689 sty 25 11:58 config_multi.properties
-rw-rw-r-- 1 wojciech wojciech 1,1K sty 25 11:58 config_my_way_home.properties
-rw-rw-r-- 1 wojciech wojciech 1,2K sty 25 11:58 config_predict_position.properties
-rw-rw-r-- 1 wojciech wojciech  831 sty 25 11:58 config_take_cover.properties
-rwxrwxr-x 1 wojciech wojciech 4,1K sty 25 11:58 essentials.py
-rwxrwxr-x 1 wojciech wojciech 2,6K sty 25 11:58 format.py
-rwxrwxr-x 1 wojciech wojciech 1,3K sty 25 11:58 fps.py
-rwxrwxr-x 1 wojciech wojciech  849 sty 25 11:58 host_multiplayer.py
-rwxrwxr-x 1 wojciech wojciech  894 sty 25 11:58 multiplayer.py
-rwxrwxr-x 1 wojciech wojciech 1,4K sty 25 11:58 my_tester.py
-rwxrwxr-x 1 wojciech wojciech 2,3K sty 25 11:58 no_config_file.py
-rw-rw-r-- 1 wojciech wojciech  202 sty 25 11:58 README
-rwxrwxr-x 1 wojciech wojciech 2,8K sty 25 11:58 scenarios.py
-rwxrwxr-x 1 wojciech wojciech 2,4K sty 25 11:58 seed.py
-rwxrwxr-x 1 wojciech wojciech 2,9K sty 25 11:58 shaping.py
-rwxrwxr-x 1 wojciech wojciech 2,2K sty 25 11:58 spectator.py
lrwxrwxrwx 1 wojciech wojciech   19 sty 25 12:17 viziadoom -> ../../bin/viziadoom
lrwxrwxrwx 1 wojciech wojciech   25 sty 25 12:17 vizia.so -> ../../bin/python/vizia.so

ViZDoom/vizdoom_src/src/sound/efx.h:203:27: error: expected ')'

I'm trying to build VizDoom in OS X 10.11.4. I get compile errors when running make as follows.

In file included from /Users/user/ViZDoom/vizdoom_src/src/sound/i_sound.cpp:57:
In file included from /Users/user/ViZDoom/vizdoom_src/src/sound/oalsound.h:61:
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:203:27: error: expected ')'
typedef void (AL_APIENTRY *LPALGENEFFECTS)(ALsizei, ALuint*);
                          ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:203:14: note: to match this '('
typedef void (AL_APIENTRY *LPALGENEFFECTS)(ALsizei, ALuint*);
             ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:204:27: error: expected ')'
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
                          ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:204:14: note: to match this '('
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
             ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:205:32: error: expected ')'
typedef ALboolean (AL_APIENTRY *LPALISEFFECT)(ALuint);
                               ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:205:19: note: to match this '('
typedef ALboolean (AL_APIENTRY *LPALISEFFECT)(ALuint);
                  ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:205:20: error: typedef redefinition with different types ('ALboolean (ALuint)' vs 'void (ALsizei, ALuint *)')
typedef ALboolean (AL_APIENTRY *LPALISEFFECT)(ALuint);
                   ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:204:15: note: previous definition is here
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:206:27: error: expected ')'
typedef void (AL_APIENTRY *LPALEFFECTI)(ALuint, ALenum, ALint);
                          ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:206:14: note: to match this '('
typedef void (AL_APIENTRY *LPALEFFECTI)(ALuint, ALenum, ALint);
             ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:206:15: error: typedef redefinition with different types ('void (ALuint, ALenum, ALint)' vs 'void (ALsizei, ALuint *)')
typedef void (AL_APIENTRY *LPALEFFECTI)(ALuint, ALenum, ALint);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:204:15: note: previous definition is here
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:207:27: error: expected ')'
typedef void (AL_APIENTRY *LPALEFFECTIV)(ALuint, ALenum, ALint*);
                          ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:207:14: note: to match this '('
typedef void (AL_APIENTRY *LPALEFFECTIV)(ALuint, ALenum, ALint*);
             ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:207:15: error: typedef redefinition with different types ('void (ALuint, ALenum, ALint *)' vs 'void (ALsizei, ALuint *)')
typedef void (AL_APIENTRY *LPALEFFECTIV)(ALuint, ALenum, ALint*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:204:15: note: previous definition is here
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:208:27: error: expected ')'
typedef void (AL_APIENTRY *LPALEFFECTF)(ALuint, ALenum, ALfloat);
                          ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:208:14: note: to match this '('
typedef void (AL_APIENTRY *LPALEFFECTF)(ALuint, ALenum, ALfloat);
             ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:208:15: error: typedef redefinition with different types ('void (ALuint, ALenum, ALfloat)' vs 'void (ALsizei, ALuint *)')
typedef void (AL_APIENTRY *LPALEFFECTF)(ALuint, ALenum, ALfloat);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:204:15: note: previous definition is here
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:209:27: error: expected ')'
typedef void (AL_APIENTRY *LPALEFFECTFV)(ALuint, ALenum, ALfloat*);
                          ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:209:14: note: to match this '('
typedef void (AL_APIENTRY *LPALEFFECTFV)(ALuint, ALenum, ALfloat*);
             ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:209:15: error: typedef redefinition with different types ('void (ALuint, ALenum, ALfloat *)' vs 'void (ALsizei, ALuint *)')
typedef void (AL_APIENTRY *LPALEFFECTFV)(ALuint, ALenum, ALfloat*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:204:15: note: previous definition is here
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:210:27: error: expected ')'
typedef void (AL_APIENTRY *LPALGETEFFECTI)(ALuint, ALenum, ALint*);
                          ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:210:14: note: to match this '('
typedef void (AL_APIENTRY *LPALGETEFFECTI)(ALuint, ALenum, ALint*);
             ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:210:15: error: typedef redefinition with different types ('void (ALuint, ALenum, ALint *)' vs 'void (ALsizei, ALuint *)')
typedef void (AL_APIENTRY *LPALGETEFFECTI)(ALuint, ALenum, ALint*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:204:15: note: previous definition is here
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:211:27: error: expected ')'
typedef void (AL_APIENTRY *LPALGETEFFECTIV)(ALuint, ALenum, ALint*);
                          ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:211:14: note: to match this '('
typedef void (AL_APIENTRY *LPALGETEFFECTIV)(ALuint, ALenum, ALint*);
             ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:211:15: error: typedef redefinition with different types ('void (ALuint, ALenum, ALint *)' vs 'void (ALsizei, ALuint *)')
typedef void (AL_APIENTRY *LPALGETEFFECTIV)(ALuint, ALenum, ALint*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:204:15: note: previous definition is here
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:212:27: error: expected ')'
typedef void (AL_APIENTRY *LPALGETEFFECTF)(ALuint, ALenum, ALfloat*);
                          ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:212:14: note: to match this '('
typedef void (AL_APIENTRY *LPALGETEFFECTF)(ALuint, ALenum, ALfloat*);
             ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:212:15: error: typedef redefinition with different types ('void (ALuint, ALenum, ALfloat *)' vs 'void (ALsizei, ALuint *)')
typedef void (AL_APIENTRY *LPALGETEFFECTF)(ALuint, ALenum, ALfloat*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:204:15: note: previous definition is here
typedef void (AL_APIENTRY *LPALDELETEEFFECTS)(ALsizei, ALuint*);
              ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:213:27: error: expected ')'
typedef void (AL_APIENTRY *LPALGETEFFECTFV)(ALuint, ALenum, ALfloat*);
                          ^
/Users/user/ViZDoom/vizdoom_src/src/sound/efx.h:213:14: note: to match this '('
typedef void (AL_APIENTRY *LPALGETEFFECTFV)(ALuint, ALenum, ALfloat*);
             ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [vizdoom_src/src/CMakeFiles/vizdoom.dir/sound/i_sound.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [vizdoom_src/src/CMakeFiles/vizdoom.dir/all] Error 2
make: *** [all] Error 2

Below are the messages of cmake.

$ cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON=ON .
-- Found BZip2: /usr/lib/libbz2.dylib (found version "1.0.6")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Found JPEG: /usr/local/lib/libjpeg.dylib
-- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.5")
-- Could NOT find GME (missing:  GME_LIBRARIES GME_INCLUDE_DIR)
-- Using system zlib
-- Using system jpeg library
-- Using system bzip2 library
-- Using internal gme library
-- Performing Test HAVE_NO_ARRAY_BOUNDS
-- Performing Test HAVE_NO_ARRAY_BOUNDS - Success
-- Looking for strdup
-- Looking for strdup - found
-- Looking for strndup
-- Looking for strndup - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of char
-- Check size of char - done
-- Check size of short
-- Check size of short - done
-- Check size of int
-- Check size of int - done
-- Check size of long
-- Check size of long - done
-- /usr/include
-- /usr/include
-- /Users/user/ViZDoom/vizdoom_src/lzma/C
-- Looking for itoa
-- Looking for itoa - not found
-- Performing Test DUMB_CAN_USE_SSE
-- Performing Test DUMB_CAN_USE_SSE - Success
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.1")
-- Found OpenAL: /Library/Frameworks/OpenAL.framework
-- Could not find FMOD include files
-- Could NOT find SndFile (missing:  SNDFILE_LIBRARY SNDFILE_INCLUDE_DIR)
-- Could NOT find MPG123 (missing:  MPG123_LIBRARIES MPG123_INCLUDE_DIR)
-- Could NOT find FluidSynth (missing:  FLUIDSYNTH_LIBRARIES FLUIDSYNTH_INCLUDE_DIR)
-- Looking for filelength
-- Looking for filelength - not found
-- Looking for strupr
-- Looking for strupr - not found
-- Looking for stricmp
-- Looking for stricmp - not found
-- Looking for strnicmp
-- Looking for strnicmp - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - not found
-- Looking for clock_gettime
-- Looking for clock_gettime - not found
-- Could not find clock_gettime. Timing statistics will not be available.
-- Performing Test HAS_VA_COPY
-- Performing Test HAS_VA_COPY - Success
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Boost version: 1.60.0
-- Found the following Boost libraries:
--   thread
--   system
--   date_time
--   chrono
--   atomic
-- Fluid synth libs: FLUIDSYNTH_LIBRARIES-NOTFOUND
-- Boost version: 1.60.0
-- Found the following Boost libraries:
--   filesystem
--   thread
--   system
--   date_time
--   chrono
--   regex
--   iostreams
--   atomic
-- Found PythonInterp: /Users/user/.pyenv/shims/python2.7 (found suitable version "2.7.11", minimum required is "2.7")
-- Found PythonLibs: /usr/lib/libpython2.7.dylib (found suitable version "2.7.10", minimum required is "2.7")
-- Found PythonInterp: /Users/user/.pyenv/shims/python2.7 (found version "2.7.11")
-- Found NUMPY: /Users/user/.pyenv/versions/anaconda2-2.5.0/lib/python2.7/site-packages/numpy/core/include
-- Found components for NumPy
-- NUMPY_ROOT_DIR    = /usr/local
-- NUMPY_INCLUDES    = /Users/user/.pyenv/versions/anaconda2-2.5.0/lib/python2.7/site-packages/numpy/core/include
-- NUMPY_LIBRARIES   =
-- NUMPY_API_VERSION = 1.10.4
-- Boost version: 1.60.0
-- Found the following Boost libraries:
--   python
-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   vizdoomshared

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/user/ViZDoom

Any help would be appreciated.

DoomGame.init() crash when ViZDoomPath is directory on Windows

I have try prebuild version for windows.
But it's not work for me.

I have tried python examples and all examples print out same error message.
The Error message is
"This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information."

It print when executing "game.init()".

1.0.1 does not compile on OSX

539348d does compile.

Scanning dependencies of target libvizdoom_python
[  1%] Building CXX object CMakeFiles/libvizdoom_python.dir/src/lib_python/ViZDoomGamePython.cpp.o
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.cpp:23:
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.h:32:
In file included from /opt/local/include/boost/python.hpp:11:
In file included from /opt/local/include/boost/python/args.hpp:25:
In file included from /opt/local/include/boost/python/object_core.hpp:14:
In file included from /opt/local/include/boost/python/call.hpp:15:
In file included from /opt/local/include/boost/python/converter/arg_to_python.hpp:10:
In file included from /opt/local/include/boost/python/to_python_indirect.hpp:10:
In file included from /opt/local/include/boost/python/object/pointer_holder.hpp:14:
In file included from /opt/local/include/boost/python/instance_holder.hpp:11:
In file included from /opt/local/include/boost/python/type_id.hpp:14:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:455:15: error: C++ requires a type specifier for all declarations
    char_type toupper(char_type __c) const
              ^
/usr/include/python2.7/pyport.h:731:29: note: expanded from macro 'toupper'
#define toupper(c) towupper(btowc(c))
                            ^
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.cpp:23:
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.h:32:
In file included from /opt/local/include/boost/python.hpp:11:
In file included from /opt/local/include/boost/python/args.hpp:25:
In file included from /opt/local/include/boost/python/object_core.hpp:14:
In file included from /opt/local/include/boost/python/call.hpp:15:
In file included from /opt/local/include/boost/python/converter/arg_to_python.hpp:10:
In file included from /opt/local/include/boost/python/to_python_indirect.hpp:10:
In file included from /opt/local/include/boost/python/object/pointer_holder.hpp:14:
In file included from /opt/local/include/boost/python/instance_holder.hpp:11:
In file included from /opt/local/include/boost/python/type_id.hpp:14:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:461:48: error: too many arguments provided to function-like macro
      invocation
    const char_type* toupper(char_type* __low, const char_type* __high) const
                                               ^
/usr/include/python2.7/pyport.h:731:9: note: macro 'toupper' defined here
#define toupper(c) towupper(btowc(c))
        ^
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.cpp:23:
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.h:32:
In file included from /opt/local/include/boost/python.hpp:11:
In file included from /opt/local/include/boost/python/args.hpp:25:
In file included from /opt/local/include/boost/python/object_core.hpp:14:
In file included from /opt/local/include/boost/python/call.hpp:15:
In file included from /opt/local/include/boost/python/converter/arg_to_python.hpp:10:
In file included from /opt/local/include/boost/python/to_python_indirect.hpp:10:
In file included from /opt/local/include/boost/python/object/pointer_holder.hpp:14:
In file included from /opt/local/include/boost/python/instance_holder.hpp:11:
In file included from /opt/local/include/boost/python/type_id.hpp:14:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:461:29: error: expected ';' at end of declaration list
    const char_type* toupper(char_type* __low, const char_type* __high) const
                            ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:473:48: error: too many arguments provided to function-like macro
      invocation
    const char_type* tolower(char_type* __low, const char_type* __high) const
                                               ^
/usr/include/python2.7/pyport.h:729:9: note: macro 'tolower' defined here
#define tolower(c) towlower(btowc(c))
        ^
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.cpp:23:
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.h:32:
In file included from /opt/local/include/boost/python.hpp:11:
In file included from /opt/local/include/boost/python/args.hpp:25:
In file included from /opt/local/include/boost/python/object_core.hpp:14:
In file included from /opt/local/include/boost/python/call.hpp:15:
In file included from /opt/local/include/boost/python/converter/arg_to_python.hpp:10:
In file included from /opt/local/include/boost/python/to_python_indirect.hpp:10:
In file included from /opt/local/include/boost/python/object/pointer_holder.hpp:14:
In file included from /opt/local/include/boost/python/instance_holder.hpp:11:
In file included from /opt/local/include/boost/python/type_id.hpp:14:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:457:27: error: use of undeclared identifier '__c'
        return do_toupper(__c);
                          ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:564:15: error: C++ requires a type specifier for all declarations
    char_type toupper(char_type __c) const
              ^
/usr/include/python2.7/pyport.h:731:29: note: expanded from macro 'toupper'
#define toupper(c) towupper(btowc(c))
                            ^
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.cpp:23:
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.h:32:
In file included from /opt/local/include/boost/python.hpp:11:
In file included from /opt/local/include/boost/python/args.hpp:25:
In file included from /opt/local/include/boost/python/object_core.hpp:14:
In file included from /opt/local/include/boost/python/call.hpp:15:
In file included from /opt/local/include/boost/python/converter/arg_to_python.hpp:10:
In file included from /opt/local/include/boost/python/to_python_indirect.hpp:10:
In file included from /opt/local/include/boost/python/object/pointer_holder.hpp:14:
In file included from /opt/local/include/boost/python/instance_holder.hpp:11:
In file included from /opt/local/include/boost/python/type_id.hpp:14:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:570:48: error: too many arguments provided to function-like macro
      invocation
    const char_type* toupper(char_type* __low, const char_type* __high) const
                                               ^
/usr/include/python2.7/pyport.h:731:9: note: macro 'toupper' defined here
#define toupper(c) towupper(btowc(c))
        ^
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.cpp:23:
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.h:32:
In file included from /opt/local/include/boost/python.hpp:11:
In file included from /opt/local/include/boost/python/args.hpp:25:
In file included from /opt/local/include/boost/python/object_core.hpp:14:
In file included from /opt/local/include/boost/python/call.hpp:15:
In file included from /opt/local/include/boost/python/converter/arg_to_python.hpp:10:
In file included from /opt/local/include/boost/python/to_python_indirect.hpp:10:
In file included from /opt/local/include/boost/python/object/pointer_holder.hpp:14:
In file included from /opt/local/include/boost/python/instance_holder.hpp:11:
In file included from /opt/local/include/boost/python/type_id.hpp:14:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:570:29: error: expected ';' at end of declaration list
    const char_type* toupper(char_type* __low, const char_type* __high) const
                            ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:582:48: error: too many arguments provided to function-like macro
      invocation
    const char_type* tolower(char_type* __low, const char_type* __high) const
                                               ^
/usr/include/python2.7/pyport.h:729:9: note: macro 'tolower' defined here
#define tolower(c) towlower(btowc(c))
        ^
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.cpp:23:
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.h:32:
In file included from /opt/local/include/boost/python.hpp:11:
In file included from /opt/local/include/boost/python/args.hpp:25:
In file included from /opt/local/include/boost/python/object_core.hpp:14:
In file included from /opt/local/include/boost/python/call.hpp:15:
In file included from /opt/local/include/boost/python/converter/arg_to_python.hpp:10:
In file included from /opt/local/include/boost/python/to_python_indirect.hpp:10:
In file included from /opt/local/include/boost/python/object/pointer_holder.hpp:14:
In file included from /opt/local/include/boost/python/instance_holder.hpp:11:
In file included from /opt/local/include/boost/python/type_id.hpp:14:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:566:27: error: use of undeclared identifier '__c'
        return do_toupper(__c);
                          ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:692:21: error: too many arguments provided to function-like macro
      invocation
isspace(_CharT __c, const locale& __loc)
                    ^
/usr/include/python2.7/pyport.h:725:9: note: macro 'isspace' defined here
#define isspace(c) iswspace(btowc(c))
        ^
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.cpp:23:
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.h:32:
In file included from /opt/local/include/boost/python.hpp:11:
In file included from /opt/local/include/boost/python/args.hpp:25:
In file included from /opt/local/include/boost/python/object_core.hpp:14:
In file included from /opt/local/include/boost/python/call.hpp:15:
In file included from /opt/local/include/boost/python/converter/arg_to_python.hpp:10:
In file included from /opt/local/include/boost/python/to_python_indirect.hpp:10:
In file included from /opt/local/include/boost/python/object/pointer_holder.hpp:14:
In file included from /opt/local/include/boost/python/instance_holder.hpp:11:
In file included from /opt/local/include/boost/python/type_id.hpp:14:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:690:1: error: 'inline' can only appear on functions
inline _LIBCPP_INLINE_VISIBILITY
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:692:1: error: redefinition of 'isspace' as different kind of
      symbol
isspace(_CharT __c, const locale& __loc)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:127:9: note: previous definition is here
using ::isspace;
        ^
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.cpp:23:
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.h:32:
In file included from /opt/local/include/boost/python.hpp:11:
In file included from /opt/local/include/boost/python/args.hpp:25:
In file included from /opt/local/include/boost/python/object_core.hpp:14:
In file included from /opt/local/include/boost/python/call.hpp:15:
In file included from /opt/local/include/boost/python/converter/arg_to_python.hpp:10:
In file included from /opt/local/include/boost/python/to_python_indirect.hpp:10:
In file included from /opt/local/include/boost/python/object/pointer_holder.hpp:14:
In file included from /opt/local/include/boost/python/instance_holder.hpp:11:
In file included from /opt/local/include/boost/python/type_id.hpp:14:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:692:8: error: expected ';' at end of declaration
isspace(_CharT __c, const locale& __loc)
       ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:693:1: error: expected unqualified-id
{
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:716:21: error: too many arguments provided to function-like macro
      invocation
isupper(_CharT __c, const locale& __loc)
                    ^
/usr/include/python2.7/pyport.h:727:9: note: macro 'isupper' defined here
#define isupper(c) iswupper(btowc(c))
        ^
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.cpp:23:
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.h:32:
In file included from /opt/local/include/boost/python.hpp:11:
In file included from /opt/local/include/boost/python/args.hpp:25:
In file included from /opt/local/include/boost/python/object_core.hpp:14:
In file included from /opt/local/include/boost/python/call.hpp:15:
In file included from /opt/local/include/boost/python/converter/arg_to_python.hpp:10:
In file included from /opt/local/include/boost/python/to_python_indirect.hpp:10:
In file included from /opt/local/include/boost/python/object/pointer_holder.hpp:14:
In file included from /opt/local/include/boost/python/instance_holder.hpp:11:
In file included from /opt/local/include/boost/python/type_id.hpp:14:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:714:1: error: 'inline' can only appear on functions
inline _LIBCPP_INLINE_VISIBILITY
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:716:1: error: redefinition of 'isupper' as different kind of
      symbol
isupper(_CharT __c, const locale& __loc)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cctype:135:9: note: previous definition is here
using ::isupper;
        ^
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.cpp:23:
In file included from /Users/Wojciech/projects/vizdoom/src/lib_python/ViZDoomGamePython.h:32:
In file included from /opt/local/include/boost/python.hpp:11:
In file included from /opt/local/include/boost/python/args.hpp:25:
In file included from /opt/local/include/boost/python/object_core.hpp:14:
In file included from /opt/local/include/boost/python/call.hpp:15:
In file included from /opt/local/include/boost/python/converter/arg_to_python.hpp:10:
In file included from /opt/local/include/boost/python/to_python_indirect.hpp:10:
In file included from /opt/local/include/boost/python/object/pointer_holder.hpp:14:
In file included from /opt/local/include/boost/python/instance_holder.hpp:11:
In file included from /opt/local/include/boost/python/type_id.hpp:14:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:138:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ios:216:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__locale:716:8: error: expected ';' at end of declaration
isupper(_CharT __c, const locale& __loc)
       ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [CMakeFiles/libvizdoom_python.dir/src/lib_python/ViZDoomGamePython.cpp.o] Error 1
make[1]: *** [CMakeFiles/libvizdoom_python.dir/all] Error 2
make: *** [all] Error 2

Controlled ViZDoom instance exited unexpectedly

I'm running on OSX yosemite.

6836 ± python basic.py                                                                                                                                                          
Traceback (most recent call last):
  File "basic.py", line 82, in <module>
    game.init()
vizdoom.doom_unexpected_exit_exception: Controlled ViZDoom instance exited unexpectedly.
[1]    41141 segmentation fault  python basic.py

setConsoleEnabled(false) doesn't disable some initialization output

ViziaZDoom ZDOOM 2.8pre VIZIA 1.0 - - SDL version
Compiled on Jan 22 2016

M_LoadDefaults: Load system defaults.
Gameinfo scan took 0 ms
W_Init: Init WADfiles.
adding /home/ebony/vizia/bin/viziazdoom.pk3, 582 lumps
adding ../scenarios/doom2.wad, 2919 lumps
adding ../scenarios/health_guided.wad, 7 lumps
vizia_controlled is write protected.
vizia_instance_id is write protected.
Vizia_ScreenInit: width: 60, height: 45, pitch: 60, format: CRCGCB

Minor cmake issues

Got:

Make Error at /usr/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
  Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY
  JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
Call Stack (most recent call first):
  /usr/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.2/Modules/FindJNI.cmake:287 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:85 (find_package)

Solution:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

Got:

-- checking for module 'gtk+-2.0'
--   package 'gtk+-2.0' not found
-- Could NOT find OpenAL (missing:  OPENAL_LIBRARY OPENAL_INCLUDE_DIR) 
-- Could not find FMOD include files
-- Could NOT find SndFile (missing:  SNDFILE_LIBRARY SNDFILE_INCLUDE_DIR) 
-- Could NOT find MPG123 (missing:  MPG123_LIBRARIES MPG123_INCLUDE_DIR) 
-- Could NOT find FluidSynth (missing:  FLUIDSYNTH_LIBRARIES FLUIDSYNTH_INCLUDE_DIR) 

But cmake succeeded. So, is it a problem?

SystemError: dynamic module not initialized properly

I am trying to run ViZDoom on OSX, everything is built but running the python example file with vizdoom.so symlinked into the folder

Using homebrew package manager and pyenv for python management

cmake command

cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON=ON -DBUILD_JAVA=OFF \
  -DFMOD_LIBRARY="/Developer/FMOD Programmers API/api/lib/libfmodex.dylib" \
  -DFMOD_INCLUDE_DIR="/Developer/FMOD Programmers API/api/inc/" \
  -DNO_ASM=true

cmake output

-- Could NOT find GME (missing:  GME_LIBRARIES GME_INCLUDE_DIR) 
-- Using system zlib
-- Using system jpeg library
-- Using system bzip2 library
-- Using internal gme library
-- /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include
-- /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include
-- /Users/yshahin/Developer/Work/doom/ViZDoom/vizdoom_src/lzma/C
-- FMOD include files found at /Developer/FMOD Programmers API/api/inc
-- FMOD library found at /Developer/FMOD Programmers API/api/lib/libfmodex.dylib
-- Could not find clock_gettime. Timing statistics will not be available.
-- Boost version: 1.60.0
-- Found the following Boost libraries:
--   thread
--   system
--   date_time
--   chrono
--   atomic
-- Fluid synth libs: /usr/local/lib/libfluidsynth.dylib
-- Boost version: 1.60.0
-- Found the following Boost libraries:
--   filesystem
--   thread
--   system
--   date_time
--   chrono
--   regex
--   iostreams
--   atomic
-- Found PythonInterp: /Users/yshahin/.pyenv/shims/python2.7 (found suitable version "2.7.10", minimum required is "2.7") 
-- Found PythonInterp: /Users/yshahin/.pyenv/shims/python2.7 (found version "2.7.10") 
-- Found components for NumPy
-- NUMPY_ROOT_DIR    = /usr/local
-- NUMPY_INCLUDES    = /Users/yshahin/.pyenv/versions/2.7.10/lib/python2.7/site-packages/numpy/core/include
-- NUMPY_LIBRARIES   = 
-- NUMPY_API_VERSION = 1.9.3
-- Boost version: 1.60.0
-- Found the following Boost libraries:
--   python
-- Configuring done
CMake Warning (dev):
  Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
  --help-policy CMP0042" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  MACOSX_RPATH is not specified for the following targets:

   vizdoomshared

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /Users/yshahin/Developer/Work/doom/ViZDoom

python error output

Traceback (most recent call last):
  File "/Users/yshahin/.pyenv/versions/2.7.10/lib/python2.7/site.py", line 548, in <module>
    main()
  File "/Users/yshahin/.pyenv/versions/2.7.10/lib/python2.7/site.py", line 530, in main
    known_paths = addusersitepackages(known_paths)
  File "/Users/yshahin/.pyenv/versions/2.7.10/lib/python2.7/site.py", line 266, in addusersitepackages
    user_site = getusersitepackages()
  File "/Users/yshahin/.pyenv/versions/2.7.10/lib/python2.7/site.py", line 241, in getusersitepackages
    user_base = getuserbase() # this will also set USER_BASE
  File "/Users/yshahin/.pyenv/versions/2.7.10/lib/python2.7/site.py", line 231, in getuserbase
    USER_BASE = get_config_var('userbase')
  File "/Users/yshahin/.pyenv/versions/2.7.10/lib/python2.7/sysconfig.py", line 520, in get_config_var
    return get_config_vars().get(name)
  File "/Users/yshahin/.pyenv/versions/2.7.10/lib/python2.7/sysconfig.py", line 453, in get_config_vars
    import re
  File "/Users/yshahin/.pyenv/versions/2.7.10/lib/python2.7/re.py", line 108, in <module>
    import _locale
SystemError: dynamic module not initialized properly

Problem running Vizdoom

Hi!
I've already compiled (using cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON=ON) and all seems ok, but when I try to run it, this is what I get:

*** Fatal Error ***
Address not mapped to object (signal 11)
Address: 0x8

System: Linux skalextric 4.5.1-1-ARCH #1 SMP PREEMPT Thu Apr 14 19:19:32 CEST 2016 x86_64 GNU/Linux

ViZDoom version 1.0.0 (ZDOOM 2.8.1) ()
Compiler version: 5.3.0

Command line: ../../bin/vizdoom -iwad ../../scenarios/freedoom2.wad -config vizdoom.ini -skill 3 -width 640 -height 480 +vid_aspect 0 +screenblocks 12 +r_drawplayersprites 1 +crosshair 0 +cl_maxdecals 0 +r_particles 0 +fullscreen 0 +vizdoom_controlled 1 +vizdoom_instance_id C7xhRbg8RC +vizdoom_no_console 1 +use_mouse 0 +vizdoom_screen_format 2 +vizdoom_window_hidden 0 +vizdoom_no_x_server 0 +wipetype 0 -noidle -nojoy -nosound +cl_capfps 1 +vid_vsync 0 -file ../../scenarios/basic.wad

Wad 0: vizdoom.pk3
Wad 1: freedoom2.wad
Wad 2: basic.wad

Not in a level.

Executing: gdb --quiet --batch --command=gdb-respfile-OFnTcu
[New LWP 21842]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
0x00007fa341aafadb in waitpid () from /usr/lib/libpthread.so.0

* Loaded Libraries
From                To                  Syms Read   Shared Object Library
0x00007fa343edff30  0x00007fa344137e3e  Yes (*)     /usr/lib/libgtk-x11-2.0.so.0
0x00007fa343bdd0e0  0x00007fa343c33e3b  Yes (*)     /usr/lib/libgdk-x11-2.0.so.0
0x00007fa3439b3980  0x00007fa3439b8746  Yes (*)     /usr/lib/libpangocairo-1.0.so.0
0x00007fa343792660  0x00007fa34379eab3  Yes (*)     /usr/lib/libatk-1.0.so.0
0x00007fa34346b240  0x00007fa34353fca7  Yes (*)     /usr/lib/libcairo.so.2
0x00007fa3432362d0  0x00007fa34324a879  Yes (*)     /usr/lib/libgdk_pixbuf-2.0.so.0
0x00007fa342edc690  0x00007fa342faf8eb  Yes (*)     /usr/lib/libgio-2.0.so.0
0x00007fa342c96340  0x00007fa342c9e82d  Yes (*)     /usr/lib/libpangoft2-1.0.so.0
0x00007fa342a4c560  0x00007fa342a6b966  Yes (*)     /usr/lib/libpango-1.0.so.0
0x00007fa3427f1f00  0x00007fa342822936  Yes (*)     /usr/lib/libgobject-2.0.so.0
0x00007fa3424f17f0  0x00007fa3425685b9  Yes (*)     /usr/lib/libglib-2.0.so.0
0x00007fa342296170  0x00007fa3422b5c0a  Yes (*)     /usr/lib/libfontconfig.so.1
0x00007fa341fe0360  0x00007fa342053b72  Yes (*)     /usr/lib/libfreetype.so.6
0x00007fa341cd2cc0  0x00007fa341d8a380  Yes (*)     /usr/lib/libSDL2-2.0.so.0
0x00007fa341aa4a20  0x00007fa341ab1551  Yes (*)     /usr/lib/libpthread.so.0
0x00007fa341899110  0x00007fa34189bedf  Yes (*)     /usr/lib/librt.so.1
0x00007fa341681310  0x00007fa34168d679  Yes (*)     /usr/lib/libz.so.1
0x00007fa341422fe0  0x00007fa34145d100  Yes (*)     /usr/lib/libjpeg.so.8
0x00007fa341210700  0x00007fa34121c340  Yes (*)     /usr/lib/libbz2.so.1.0
0x00007fa340ff14b0  0x00007fa340ffffef  Yes (*)     /usr/lib/libboost_thread.so.1.60.0
0x00007fa340dd8090  0x00007fa340dd8d36  Yes (*)     /usr/lib/libboost_system.so.1.60.0
0x00007fa340bc7ae0  0x00007fa340bcc4af  Yes (*)     /usr/lib/libboost_date_time.so.1.60.0
0x00007fa3409ba100  0x00007fa3409bbfa7  Yes (*)     /usr/lib/libboost_chrono.so.1.60.0
0x00007fa3407af730  0x00007fa3407af8b1  Yes (*)     /usr/lib/libboost_atomic.so.1.60.0
0x00007fa34053d8b0  0x00007fa34058cee2  Yes (*)     /usr/lib/libsndfile.so.1
0x00007fa3402dbed0  0x00007fa340315d75  Yes (*)     /usr/lib/libmpg123.so.0
0x00007fa3400cfda0  0x00007fa3400d093e  Yes (*)     /usr/lib/libdl.so.2
0x00007fa33fdd0ca0  0x00007fa33fe7cef9  Yes         /usr/lib/libstdc++.so.6
0x00007fa33fa44570  0x00007fa33fab0f9a  Yes (*)     /usr/lib/libm.so.6
0x00007fa33f829a70  0x00007fa33f8397f5  Yes         /usr/lib/libgcc_s.so.1
0x00007fa33f49e870  0x00007fa33f5caab4  Yes (*)     /usr/lib/libc.so.6
0x00007fa33f278170  0x00007fa33f279075  Yes (*)     /usr/lib/libgmodule-2.0.so.0
0x00007fa33ef4cdc0  0x00007fa33efd479c  Yes (*)     /usr/lib/libX11.so.6
0x00007fa33ed285d0  0x00007fa33ed2a828  Yes (*)     /usr/lib/libXfixes.so.3
0x00007fa33eb18c60  0x00007fa33eb1eb35  Yes (*)     /usr/lib/libXrender.so.1
0x00007fa33e90fba0  0x00007fa33e910494  Yes (*)     /usr/lib/libXinerama.so.1
0x00007fa33e7013e0  0x00007fa33e70b937  Yes (*)     /usr/lib/libXi.so.6
0x00007fa33e4f0e30  0x00007fa33e4f6c52  Yes (*)     /usr/lib/libXrandr.so.2
0x00007fa33e2e1b70  0x00007fa33e2e6677  Yes (*)     /usr/lib/libXcursor.so.1
0x00007fa33e0d7d00  0x00007fa33e0d8715  Yes (*)     /usr/lib/libXcomposite.so.1
0x00007fa33decfc90  0x00007fa33ded05bb  Yes (*)     /usr/lib/libXdamage.so.1
0x00007fa33dcba970  0x00007fa33dcc474f  Yes (*)     /usr/lib/libXext.so.6
0x00007fa33da19900  0x00007fa33da9dd10  Yes (*)     /usr/lib/libpixman-1.so.0
0x00007fa33d8086d0  0x00007fa33d809a04  Yes (*)     /usr/lib/libEGL.so.1
0x00007fa33d5d4e70  0x00007fa33d5f75f5  Yes (*)     /usr/lib/libpng16.so.16
0x00007fa33d3c7ea0  0x00007fa33d3c89b3  Yes (*)     /usr/lib/libxcb-shm.so.0
0x00007fa33d1ba840  0x00007fa33d1bdcba  Yes (*)     /usr/lib/libxcb-render.so.0
0x00007fa33cf99530  0x00007fa33cfa8015  Yes (*)     /usr/lib/libxcb.so.1
0x00007fa33cd43640  0x00007fa33cd46b4f  Yes (*)     /usr/lib/libGL.so.1
0x00007fa33cb02990  0x00007fa33cb0ea4b  Yes (*)     /usr/lib/libresolv.so.2
0x00007fa33c886cd0  0x00007fa33c8c4ac9  Yes (*)     /usr/lib/libharfbuzz.so.0
0x00007fa33c670ed0  0x00007fa33c674795  Yes (*)     /usr/lib/libthai.so.0
0x00007fa33c460b00  0x00007fa33c46544c  Yes (*)     /usr/lib/libffi.so.6
0x00007fa33c1f0730  0x00007fa33c23f996  Yes (*)     /usr/lib/libpcre.so.1
0x00007fa33bfc2ec0  0x00007fa33bfdb1c9  Yes (*)     /usr/lib/libexpat.so.1
0x00007fa3444bfb90  0x00007fa3444db0a0  Yes (*)     /lib64/ld-linux-x86-64.so.2
0x00007fa33bd50430  0x00007fa33bdb1ced  Yes (*)     /usr/lib/libFLAC.so.8
0x00007fa33bb40bd0  0x00007fa33bb430b5  Yes (*)     /usr/lib/libogg.so.0
0x00007fa33b9128e0  0x00007fa33b928d8d  Yes (*)     /usr/lib/libvorbis.so.0
0x00007fa33b66ab90  0x00007fa33b66d1a7  Yes (*)     /usr/lib/libvorbisenc.so.2
0x00007fa33b3aaec0  0x00007fa33b3d1435  Yes (*)     /usr/lib/libGLdispatch.so.0
0x00007fa33b177f20  0x00007fa33b178b9c  Yes (*)     /usr/lib/libXau.so.6
0x00007fa33af70520  0x00007fa33af71eb8  Yes (*)     /usr/lib/libXdmcp.so.6
0x00007fa33ad39ed0  0x00007fa33ad43e75  Yes (*)     /usr/lib/libGLX.so.0
0x00007fa33ab098a0  0x00007fa33ab2a6b8  Yes (*)     /usr/lib/libgraphite2.so.3
0x00007fa33a900420  0x00007fa33a9038ad  Yes (*)     /usr/lib/libdatrie.so.1
0x00007fa33a6128d0  0x00007fa33a6a3d58  Yes (*)     /usr/lib/libEGL_nvidia.so.0
0x00007fa33a36a370  0x00007fa33a3d19e8  Yes (*)     /usr/lib/libnvidia-glsi.so.364.19
0x00007fa33a1090f0  0x00007fa33a10b020  Yes (*)     /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
0x00007fa339ec0cb0  0x00007fa339ec223e  Yes (*)     /usr/lib/libcanberra-gtk.so.0
0x00007fa339caa4c0  0x00007fa339cb3a4a  Yes (*)     /usr/lib/libcanberra.so.0
0x00007fa339a990d0  0x00007fa339a9d49c  Yes (*)     /usr/lib/libvorbisfile.so.3
0x00007fa3398821f0  0x00007fa33988d673  Yes (*)     /usr/lib/libtdb.so.1
0x00007fa339671580  0x00007fa339675892  Yes (*)     /usr/lib/libltdl.so.7
0x00007fa3446b3870  0x00007fa3446c500a  Yes (*)     /usr/lib/libudev.so.1
0x00007fa339468560  0x00007fa339469d81  Yes (*)     /usr/lib/libcap.so.2
0x00007fa3392511a0  0x00007fa339257051  Yes (*)     /usr/lib/libnss_files.so.2
0x00007fa3387a1d60  0x00007fa3387fafbc  Yes (*)     /usr/lib/libopenal.so
0x00007fa33857da20  0x00007fa338587c65  Yes (*)     /usr/lib/libjack.so.0
0x00007fa3381e6100  0x00007fa338325900  Yes (*)     /usr/lib/libdb-5.3.so
0x00007fa33776c470  0x00007fa3377994a9  Yes (*)     /usr/lib/libpulse.so.0
0x00007fa3374eda50  0x00007fa337530329  Yes (*)     /usr/lib/pulseaudio/libpulsecommon-8.0.so
0x00007fa3372c99c0  0x00007fa3372ceab2  Yes (*)     /usr/lib/libjson-c.so.2
0x00007fa33707d750  0x00007fa3370a84f4  Yes (*)     /usr/lib/libdbus-1.so.3
0x00007fa336ff4ca0  0x00007fa33704c15f  Yes (*)     /usr/lib/libsystemd.so.0
0x00007fa336de03d0  0x00007fa336de2948  Yes (*)     /usr/lib/libasyncns.so.0
0x00007fa336bba180  0x00007fa336bd0a92  Yes (*)     /usr/lib/liblzma.so.5
0x00007fa3369a14c0  0x00007fa3369ad8bb  Yes (*)     /usr/lib/liblz4.so.1
0x00007fa336699f00  0x00007fa336759b48  Yes (*)     /usr/lib/libgcrypt.so.20
0x00007fa336479b00  0x00007fa336482fe9  Yes (*)     /usr/lib/libgpg-error.so.0
0x00007fa336262fa0  0x00007fa33626e431  Yes (*)     /usr/lib/libnsl.so.1
0x00007fa336058080  0x00007fa33605a988  Yes (*)     /usr/lib/libXxf86vm.so.1
0x00007fa335d69c80  0x00007fa335dde2a1  Yes (*)     /usr/lib/libGLX_nvidia.so.0
0x00007fa335b0f9a0  0x00007fa335b11683  Yes (*)     /usr/lib/tls/libnvidia-tls.so.364.19
0x00007fa3340be010  0x00007fa33514c9c7  Yes (*)     /usr/lib/libnvidia-glcore.so.364.19
(*): Shared library is missing debugging information.

* Threads
  Id   Target Id         Frame 
* 1    Thread 0x7fa34468b8c0 (LWP 21841) "vizdoom" 0x00007fa341aafadb in waitpid () from /usr/lib/libpthread.so.0
  2    Thread 0x7fa33924e700 (LWP 21842) "SDLTimer" 0x00007fa341aae427 in do_futex_wait.constprop () from /usr/lib/libpthread.so.0

* FPU Status
  R7: Empty   0x00000000000000000000
  R6: Empty   0x00000000000000000000
  R5: Empty   0x00000000000000000000
  R4: Empty   0x00000000000000000000
  R3: Empty   0x00000000000000000000
  R2: Empty   0x00000000000000000000
  R1: Empty   0x00000000000000000000
=>R0: Empty   0x00000000000000000000

Status Word:         0x0000                                            
                       TOP: 0
Control Word:        0x037f   IM DM ZM OM UM PM
                       PC: Extended Precision (64-bits)
                       RC: Round to nearest
Tag Word:            0xffff
Instruction Pointer: 0x00:0x00000000
Operand Pointer:     0x00:0x00000000
Opcode:              0x0000

* Registers
rax            0xfffffffffffffe00   -512
rbx            0x5557   21847
rcx            0x7fa341aafadb   140339158121179
rdx            0x0  0
rsi            0xbdd3ec 12440556
rdi            0x5557   21847
rbp            0xbdd3ec 0xbdd3ec
rsp            0xbdd3b0 0xbdd3b0
r8             0x0  0
r9             0x7fa34468b8c0   140339204110528
r10            0x0  0
r11            0x246    582
r12            0x0  0
r13            0x1090   4240
r14            0xbda8c0 12429504
r15            0xc  12
rip            0x7fa341aafadb   0x7fa341aafadb <waitpid+107>
eflags         0x246    [ PF ZF IF ]
cs             0x33 51
ss             0x2b 43
ds             0x0  0
es             0x0  0
fs             0x0  0
gs             0x0  0

* Backtrace

Thread 2 (Thread 0x7fa33924e700 (LWP 21842)):
#0  0x00007fa341aae427 in do_futex_wait.constprop () from /usr/lib/libpthread.so.0
No symbol table info available.
#1  0x00007fa341aae4d4 in __new_sem_wait_slow.constprop.0 () from /usr/lib/libpthread.so.0
No symbol table info available.
#2  0x00007fa341d8476e in ?? () from /usr/lib/libSDL2-2.0.so.0
No symbol table info available.
#3  0x00007fa341d848c5 in ?? () from /usr/lib/libSDL2-2.0.so.0
No symbol table info available.
#4  0x00007fa341d37c93 in ?? () from /usr/lib/libSDL2-2.0.so.0
No symbol table info available.
#5  0x00007fa341d3782c in ?? () from /usr/lib/libSDL2-2.0.so.0
No symbol table info available.
#6  0x00007fa341d84439 in ?? () from /usr/lib/libSDL2-2.0.so.0
No symbol table info available.
#7  0x00007fa341aa6424 in start_thread () from /usr/lib/libpthread.so.0
No symbol table info available.
#8  0x00007fa33f566cbd in clone () from /usr/lib/libc.so.6
No symbol table info available.

Thread 1 (Thread 0x7fa34468b8c0 (LWP 21841)):
#0  0x00007fa341aafadb in waitpid () from /usr/lib/libpthread.so.0
No symbol table info available.
#1  0x000000000051c524 in ?? ()
No symbol table info available.
#2  <signal handler called>
No symbol table info available.
#3  0x00000000005228d5 in SDLFB::UpdateColors() ()
No symbol table info available.
#4  0x0000000000523f01 in SDLFB::SDLFB(int, int, bool, SDL_Window*) ()
No symbol table info available.
#5  0x00000000005241e4 in SDLVideo::CreateFrameBuffer(int, int, bool, DFrameBuffer*) ()
No symbol table info available.
#6  0x00000000006c44de in V_DoModeSetup(int, int, int) ()
No symbol table info available.
#7  0x00000000006c48de in V_Init2() ()
No symbol table info available.
#8  0x000000000055536c in D_DoomMain() ()
No symbol table info available.
#9  0x000000000050430e in main ()
No symbol table info available.

Any idea what could be wrong?

It's ok now, don't know why but it's working.

Unexpected jumping behavior when running `cig_host.py`

I just installed ViZDoom on my mac os laptop. I can run bin/vizdoom without any strange behavior, but when I run examples/python/cig_host.py and cig.py the player controlled by the host script jumps and moves uncontrollably. The player controlled by cig.py works just fine.

I cannot recreate this behavior on my linux machine.

Also, I can fix this behavior by fiddling with:

game.add_game_args(), but it seems to be more related to the number of flags, than the flags themselves... This is very puzzling to me.

Any ideas what is going on?

Compilation error in ViziaDoomGameJava.cpp

/home/wojciech/projects/vizia/vizia_api_bindings/java/ViziaDoomGameJava.cpp: In function ‘_jobject* Java_ViziaDoomGameJava_getState(JNIEnv*, jobject)’:
/home/wojciech/projects/vizia/vizia_api_bindings/java/ViziaDoomGameJava.cpp:442:50: warning: passing NULL to non-pointer argument 3 of ‘void JNIEnv_::ReleaseIntArrayElements(jintArray, jint*, jint)’ [-Wconversion-null]
  env->ReleaseIntArrayElements(jbuffer, oarr, NULL);
                                                  ^
/home/wojciech/projects/vizia/vizia_api_bindings/java/ViziaDoomGameJava.cpp:453:51: warning: passing NULL to non-pointer argument 3 of ‘void JNIEnv_::ReleaseIntArrayElements(jintArray, jint*, jint)’ [-Wconversion-null]
  env->ReleaseIntArrayElements(jbuffer2, oarr, NULL); 
                                                   ^
/home/wojciech/projects/vizia/vizia_api_bindings/java/ViziaDoomGameJava.cpp: In function ‘_jintArray* Java_ViziaDoomGameJava_getLastAction(JNIEnv*, jobject)’:
/home/wojciech/projects/vizia/vizia_api_bindings/java/ViziaDoomGameJava.cpp:476:47: warning: passing NULL to non-pointer argument 3 of ‘void JNIEnv_::ReleaseIntArrayElements(jintArray, jint*, jint)’ [-Wconversion-null]
   env->ReleaseIntArrayElements(bob, oarr, NULL);
                                               ^
/home/wojciech/projects/vizia/vizia_api_bindings/java/ViziaDoomGameJava.cpp: In function ‘void Java_ViziaDoomGameJava_addCustomGameArg(JNIEnv*, jobject, jstring)’:
/home/wojciech/projects/vizia/vizia_api_bindings/java/ViziaDoomGameJava.cpp:724:8: error: ‘class Vizia::DoomGame’ has no member named ‘addCustomGameArg’
  game->addCustomGameArg(str2);
        ^
/home/wojciech/projects/vizia/vizia_api_bindings/java/ViziaDoomGameJava.cpp: In function ‘void Java_ViziaDoomGameJava_clearCustomGameArgs(JNIEnv*, jobject)’:
/home/wojciech/projects/vizia/vizia_api_bindings/java/ViziaDoomGameJava.cpp:735:8: error: ‘class Vizia::DoomGame’ has no member named ‘clearCustomGameArgs’
  game->clearCustomGameArgs();
        ^
/home/wojciech/projects/vizia/vizia_api_bindings/java/ViziaDoomGameJava.cpp: In function ‘_jintArray* Java_ViziaDoomGameJava_getGameScreen(JNIEnv*, jobject)’:
/home/wojciech/projects/vizia/vizia_api_bindings/java/ViziaDoomGameJava.cpp:792:50: warning: passing NULL to non-pointer argument 3 of ‘void JNIEnv_::ReleaseIntArrayElements(jintArray, jint*, jint)’ [-Wconversion-null]
  env->ReleaseIntArrayElements(jbuffer, oarr, NULL);
                                                  ^
CMakeFiles/viziajava.dir/build.make:54: recipe for target 'CMakeFiles/viziajava.dir/vizia_api_bindings/java/ViziaDoomGameJava.o' failed
make[2]: *** [CMakeFiles/viziajava.dir/vizia_api_bindings/java/ViziaDoomGameJava.o] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/viziajava.dir/all' failed
make[1]: *** [CMakeFiles/viziajava.dir/all] Error 2
Makefile:75: recipe for target 'all' failed
make: *** [all] Error 2

Enabling Sound

Is there a way to enable sound? It is not needed during the training but very nice to have during the demos.

Issues with multiplayer example

  1. The scenario never terminates (even if I kill my opponents). Also the opponents does not respawn.
  2. I cannot kill the multiplayer process by ctrl+c (e.g. when "contacting host" text appears). Is it a background process?

Except for that, it works fine!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.