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 (np.ndarray
) they have (3, y, x)
shape.
In RGB24 and BGR24 format screenBuffer and automapBuffer store 24 bit RGB triples. As matrices (np.ndarray
) 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 (np.ndarray
) they have (y, x, 4)
shape.
In GRAY8 and DOOM_256_COLORS8 format screenBuffer and automapBuffer store single 8 bit values. As matrices (np.ndarray
) they have (y, x)
shape.
depthBuffer and lablesBuffer always store single 8-bit values, so as matrices (np.ndarray
) 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. Note: added in 1.1.5.
HITS_TAKEN - Counts number of hits taken by the player during the current episode. Note: added in 1.1.5.
DAMAGECOUNT - Counts number of damage dealt to monsters/players/bots during the current episode. Note: added in 1.1.5.
DAMAGE_TAKEN - Counts number of damage taken by the player during the current episode. Note: 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. Note: 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. Note: added in 1.1.7.CAMERA_ANGLE, CAMERA_PITCH, CAMERA_ROLL - Orientation of the camera, not available if
viz_nocheat
is enabled. Note: added in 1.1.7.CAMERA_FOV - Field of view in degrees, not available if
viz_nocheat
is enabled. Note: 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 player’s frags (number of kills - suicides in multiplayer deathmatch).
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 fixed point numeral. Other from 1 to 60 (global int 1-60) can be accessed as USER1 - USER60 GameVariables. If you assign fixed point numeral to USER1 - USER60 GameVariables, you can convert them to floating point by using
doom_fixed_to_float
function.
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:
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).
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.
See also:
Note: added in 1.1.9.