Home

Awesome

PyOblige

OBLIGE is a random level generator for the classic FPS game Doom by Andrew Apted and contributors.

This project wraps it into small python class. The main aim is to make it easier to use with ViZDoom project. It also adds 2 additional level sizes: micro and tiny.

Install

Dependencies:

To install on Ubuntu use:

sudo apt-get install \
                g++ \
                binutils \
                make \
                libfltk1.3-dev \
                libxft-dev \
                libxinerama-dev \
                libjpeg-dev \
                libpng-dev \
                zlib1g-dev \
                xdg-utils 

Pip package

pip install oblige

or install the newest version from the repository:

pip install git+https://github.com/mwydmuch/PyOblige

Windows build

For Windows we are providing a compiled package that can be download from releases page. To install it, copy oblige folder to site-packages folder.

Location of site-packages depends on Python distribution:

Usage

Example

PyOblige is really simple to use:

from oblige import *

generator = DoomLevelGenerator(seed)
generator.set_seed(another_seed)
generator.set_config({"key_to_update": "value"})
number_of_generate_maps = generator.generate("name_of_wad_file")

Example of usage with ViZDoom: ViZDoom/examples/python/oblige.py.

Options

<key>: <possible values> (first value is default one)

General options

Modules' options

misc module options
doom_mon_control module options
doom_weapon_control module options
export_map module options
export_map module options
export_map module options
export_map module options
export_map module options
stealth_mon_control module options
zdoom_marines module options
zdoom_marine_control module options

Original OBLIGE's info

License

OBLIGE and PyOblige are free software, distributed under the terms of the GNU General Public License