Git Product home page Git Product logo

nagyistge / vizdoom Goto Github PK

View Code? Open in Web Editor NEW

This project forked from e-lab/vizdoom

0.0 2.0 0.0 44.04 MB

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

Home Page: http://vizdoom.cs.put.edu.pl

CMake 0.92% Shell 0.02% C 17.86% C++ 79.03% Python 0.02% Java 0.08% Lua 0.02% QMake 0.02% Assembly 0.60% Objective-C 0.12% Objective-C++ 0.68% Yacc 0.10% HTML 0.22% TeX 0.02% Lex 0.04% Roff 0.18% Batchfile 0.04% PostScript 0.03%

vizdoom's Introduction

#ViZDoom Build Status http://vizdoom.cs.put.edu.pl

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.

Features

  • Multi-platform,
  • API for C++, Lua, Java and Python,
  • Easy-to-create custom scenarios (examples available),
  • Async and sync single-player and multi-player modes,
  • Fast (up to 7000 fps in sync mode, single threaded),
  • 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,
  • Time scaling in async mode,
  • Lightweight (few MBs).

ViZDoom API is reinforcement learning friendly (suitable also for learning from demonstration, apprenticeship learning or apprenticeship via inverse reinforcement learning, etc.).

Cite as

Michał Kempka, Marek Wydmuch, Grzegorz Runc, Jakub Toczek & Wojciech 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)

Bibtex:

@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}
}

Installation/Building instructions

Windows build

For Windows we are providing compiled runtime binaries and development libraries:

1.1.0rc (2016-11-26):

Examples

Before running the provided examples, make sure that freedoom2.wad is placed it in the scenarios subdirectory (on Linux it should be done automatically by the building process):

Python examples are currently the richest, so we recommend to look at them, even if you plan to use other language.

See also the tutorial.

Documentation

Detailed description of all types and methods:

Changelog for 1.1.0 version.

License

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

vizdoom's People

Contributors

mihahauke avatar mwydmuch avatar buszumpulum avatar lowcapromocji avatar wjaskowski avatar culurciello avatar awentzonline avatar tudor-berariu avatar qiuwch avatar amsibamsi avatar jietang avatar soumith avatar ppwwyyxx avatar cesar-avalos3 avatar

Watchers

 avatar  avatar

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.