Enums#

ViZDoom is using few types of enums as parameters for its functions.

class Mode(self: vizdoom.Mode, value: int)#

Members:

PLAYER

SPECTATOR

ASYNC_PLAYER

ASYNC_SPECTATOR

In PLAYER and ASYNC_PLAYER modes, the agent controls ingame character.

In SPECTATOR and ASYNC_SPECTATOR modes, ingame character should be controlled by the human and the agent gets information about the human action.

In PLAYER and SPECTATOR modes, the game waits for agent action or permission to continue.

In ASYNC modes the game progress with constant speed (default 35 tics per second, this can be set) without waiting for the agent actions.

All modes can be used in singleplayer and multiplayer.

See also:

class ScreenFormat(self: vizdoom.ScreenFormat, value: int)#

Members:

CRCGCB

RGB24

RGBA32

ARGB32

CBCGCR

BGR24

BGRA32

ABGR32

GRAY8

DOOM_256_COLORS8

Enum type that defines all supported screenBuffer and automapBuffer formats.

  • CRCGCB - 3 channels of 8-bit values in RGB order

  • RGB24 - channel of RGB values stored in 24 bits, where R value is stored in the oldest 8 bits

  • RGBA32 - channel of RGBA values stored in 32 bits, where R value is stored in the oldest 8 bits

  • ARGB32 - channel of ARGB values stored in 32 bits, where A value is stored in the oldest 8 bits

  • CBCGCR - 3 channels of 8-bit values in BGR order

  • BGR24 - channel of BGR values stored in 24 bits, where B value is stored in the oldest 8 bits

  • BGRA32 - channel of BGRA values stored in 32 bits, where B value is stored in the oldest 8 bits

  • ABGR32 - channel of ABGR values stored in 32 bits, where A value is stored in the oldest 8 bits

  • GRAY8 - 8-bit gray channel

  • DOOM_256_COLORS8 - 8-bit channel with Doom palette values

In CRCGCB and CBCGCR format screenBuffer and automapBuffer store all red 8-bit values then all green values and then all blue values, each channel is considered separately. As matrices they have [3, y, x] shape.

In RGB24 and BGR24 format screenBuffer and automapBuffer store 24 bit RGB triples. As matrices they have [y, x, 3] shape.

In RGBA32, ARGB32, BGRA32 and ABGR32 format screenBuffer and automapBuffer store 32 bit sets of RBG + alpha values. As matrices they have [y, x, 4] shape.

In GRAY8 and DOOM_256_COLORS8 format screenBuffer and automapBuffer store single 8 bit values. As matrices they have [y, x] shape.

depthBuffer and lablesBuffer always store single 8-bit values, so they always have [y, x] shape.

See also:

class ScreenResolution(self: vizdoom.ScreenResolution, value: int)#

Members:

RES_160X120

RES_200X125

RES_200X150

RES_256X144

RES_256X160

RES_256X192

RES_320X180

RES_320X200

RES_320X240

RES_320X256

RES_400X225

RES_400X250

RES_400X300

RES_512X288

RES_512X320

RES_512X384

RES_640X360

RES_640X400

RES_640X480

RES_800X450

RES_800X500

RES_800X600

RES_1024X576

RES_1024X640

RES_1024X768

RES_1280X720

RES_1280X800

RES_1280X960

RES_1280X1024

RES_1400X787

RES_1400X875

RES_1400X1050

RES_1600X900

RES_1600X1000

RES_1600X1200

RES_1920X1080

Enum type that defines all supported resolutions - shapes of screenBuffer, depthBuffer, labelsBuffer and automapBuffer in State.

See also:

class AutomapMode(self: vizdoom.AutomapMode, value: int)#

Members:

NORMAL

WHOLE

OBJECTS

OBJECTS_WITH_SIZE

Enum type that defines all automapBuffer modes.

  • NORMAL - Only level architecture the player has seen is shown.

  • WHOLE - All architecture is shown, regardless of whether or not the player has seen it.

  • OBJECTS - In addition to the previous, shows all things in the map as arrows pointing in the direction they are facing.

  • OBJECTS_WITH_SIZE - In addition to the previous, all things are wrapped in a box showing their size.

See also:

class GameVariable(self: vizdoom.GameVariable, value: int)#

Members:

KILLCOUNT

ITEMCOUNT

SECRETCOUNT

FRAGCOUNT

DEATHCOUNT

HITCOUNT

HITS_TAKEN

DAMAGECOUNT

DAMAGE_TAKEN

HEALTH

ARMOR

DEAD

ON_GROUND

ATTACK_READY

ALTATTACK_READY

SELECTED_WEAPON

SELECTED_WEAPON_AMMO

AMMO1

AMMO2

AMMO3

AMMO4

AMMO5

AMMO6

AMMO7

AMMO8

AMMO9

AMMO0

WEAPON1

WEAPON2

WEAPON3

WEAPON4

WEAPON5

WEAPON6

WEAPON7

WEAPON8

WEAPON9

WEAPON0

POSITION_X

POSITION_Y

POSITION_Z

ANGLE

PITCH

ROLL

VIEW_HEIGHT

VELOCITY_X

VELOCITY_Y

VELOCITY_Z

CAMERA_POSITION_X

CAMERA_POSITION_Y

CAMERA_POSITION_Z

CAMERA_ANGLE

CAMERA_PITCH

CAMERA_ROLL

CAMERA_FOV

USER1

USER2

USER3

USER4

USER5

USER6

USER7

USER8

USER9

USER10

USER11

USER12

USER13

USER14

USER15

USER16

USER17

USER18

USER19

USER20

USER21

USER22

USER23

USER24

USER25

USER26

USER27

USER28

USER29

USER30

USER31

USER32

USER33

USER34

USER35

USER36

USER37

USER38

USER39

USER40

USER41

USER42

USER43

USER44

USER45

USER46

USER47

USER48

USER49

USER50

USER51

USER52

USER53

USER54

USER55

USER56

USER57

USER58

USER59

USER60

PLAYER_NUMBER

PLAYER_COUNT

PLAYER1_FRAGCOUNT

PLAYER2_FRAGCOUNT

PLAYER3_FRAGCOUNT

PLAYER4_FRAGCOUNT

PLAYER5_FRAGCOUNT

PLAYER6_FRAGCOUNT

PLAYER7_FRAGCOUNT

PLAYER8_FRAGCOUNT

PLAYER9_FRAGCOUNT

PLAYER10_FRAGCOUNT

PLAYER11_FRAGCOUNT

PLAYER12_FRAGCOUNT

PLAYER13_FRAGCOUNT

PLAYER14_FRAGCOUNT

PLAYER15_FRAGCOUNT

PLAYER16_FRAGCOUNT

Enum type that defines all variables that can be obtained from the game. Below we describe the meaning of each variable.

  • KILLCOUNT - Counts the number of monsters killed during the current episode. ~Killing other players/bots do not count towards this.~ From 1.1.5 killing other players/bots counts towards this.

  • ITEMCOUNT - Counts the number of picked up items during the current episode.

  • SECRETCOUNT - Counts the number of secret location/objects discovered during the current episode.

  • FRAGCOUNT - Counts the number of players/bots killed, minus the number of committed suicides. Useful only in multiplayer mode.

  • DEATHCOUNT - Counts the number of players deaths during the current episode. Useful only in multiplayer mode.

  • HITCOUNT - Counts number of hit monsters/players/bots during the current episode. Added in 1.1.5.

  • HITS_TAKEN - Counts number of hits taken by the player during the current episode. Added in 1.1.5.

  • DAMAGECOUNT - Counts number of damage dealt to monsters/players/bots during the current episode. Added in 1.1.5.

  • DAMAGE_TAKEN - Counts number of damage taken by the player during the current episode. Added in 1.1.5.

  • HEALTH - Can be higher then 100!

  • ARMOR - Can be higher then 100!

  • DEAD - True if the player is dead.

  • ON_GROUND - True if the player is on the ground (not in the air).

  • ATTACK_READY - True if the attack can be performed.

  • ALTATTACK_READY - True if the altattack can be performed.

  • SELECTED_WEAPON - Selected weapon’s number.

  • SELECTED_WEAPON_AMMO - Ammo for selected weapon.

  • AMMO0 - AMMO9 - Number of ammo for weapon in N slot.

  • WEAPON0 - WEAPON9 - Number of weapons in N slot.

  • POSITION_X, POSITION_Y, POSITION_Z - Position of the player, not available if viz_nocheat is enabled.

  • ANGLE, PITCH, ROLL - Orientation of the player, not available if viz_nocheat is enabled.

  • VIEW_HEIGHT - View high of the player, not available if viz_nocheat is enabled. Position of the camera in Z axis is equal to POSITION_Z + VIEW_HEIGHT. Added in 1.1.7.

  • VELOCITY_X, VELOCITY_Y, VELOCITY_Z - Velocity of the player, not available if viz_nocheat is enabled.

  • CAMERA_POSITION_X, CAMERA_POSITION_Y, CAMERA_POSITION_Z - Position of the camera, not available if viz_nocheat is enabled. Added in 1.1.7.

  • CAMERA_ANGLE, CAMERA_PITCH, CAMERA_ROLL - Orientation of the camera, not available if viz_nocheat is enabled. Added in 1.1.7.

  • CAMERA_FOV - Field of view in degrees, not available if viz_nocheat is enabled. Added in 1.1.7.

  • PLAYER_NUMBER - Player’s number in multiplayer game.

  • PLAYER_COUNT - Number of players in multiplayer game.

  • PLAYER1_FRAGCOUNT - PLAYER16_FRAGCOUNT - Number of N player’s frags

  • USER1 - USER60 - user defined variables. ACS global int variables can be accessed as USER GameVariables. global int 0 is reserved for reward and is always threaded as Doom’s fixed point numeral. Other from 1 to 60 (global int 1-60) can be accessed as USER1 - USER60 GameVariables.

See also:

class Button(self: vizdoom.Button, value: int)#

Members:

ATTACK

USE

JUMP

CROUCH

TURN180

ALTATTACK

RELOAD

ZOOM

SPEED

STRAFE

MOVE_RIGHT

MOVE_LEFT

MOVE_BACKWARD

MOVE_FORWARD

TURN_RIGHT

TURN_LEFT

LOOK_UP

LOOK_DOWN

MOVE_UP

MOVE_DOWN

LAND

SELECT_WEAPON1

SELECT_WEAPON2

SELECT_WEAPON3

SELECT_WEAPON4

SELECT_WEAPON5

SELECT_WEAPON6

SELECT_WEAPON7

SELECT_WEAPON8

SELECT_WEAPON9

SELECT_WEAPON0

SELECT_NEXT_WEAPON

SELECT_PREV_WEAPON

DROP_SELECTED_WEAPON

ACTIVATE_SELECTED_ITEM

SELECT_NEXT_ITEM

SELECT_PREV_ITEM

DROP_SELECTED_ITEM

LOOK_UP_DOWN_DELTA

TURN_LEFT_RIGHT_DELTA

MOVE_FORWARD_BACKWARD_DELTA

MOVE_LEFT_RIGHT_DELTA

MOVE_UP_DOWN_DELTA

Enum type that defines all buttons that can be “pressed” by the agent. They can be divided into two categories:

  1. Delta buttons whose value defines the speed of movement. A positive value indicates movement in the first specified direction and a negative value in the second direction. For example: value 10 for MOVE_LEFT_RIGHT_DELTA means slow movement to the right and -100 means fast movement to the left.

  • LOOK_UP_DOWN_DELTA, TURN_LEFT_RIGHT_DELTA - where value correspond to degrees.

  • MOVE_FORWARD_BACKWARD_DELTA, MOVE_LEFT_RIGHT_DELTA, MOVE_UP_DOWN_DELTA - where values correspond to Doom Map unit (see Doom Wiki if you want to know how it translates into real life units).

  1. Binary buttons Binary buttons have only 2 states “not pressed” if value 0 and “pressed” if value other then 0. They are all the other buttons not listed above as delta buttons.

See also:

class SamplingRate(self: vizdoom.SamplingRate, value: int)#

Members:

SR_11025

SR_22050

SR_44100

Enum type that defines all supported sampling rates for audioBuffer in State. Added in 1.1.9.

See also: