Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
#!/usr/bin/env python3
#####################################################################
# This script test recording functionality
#####################################################################
from __future__ import print_function
import vizdoom as vzd
from random import random
from time import sleep
import os
GV = vzd.GameVariable
B = vzd.Button
def setup_test(buttons, variables, visible=True):
game = vzd.DoomGame()
game.set_doom_scenario_path("../../scenarios/basic.wad")
game.set_doom_map("map01")
game.set_episode_start_time(10)
game.set_window_visible(visible)
if visible:
game.set_screen_resolution(vzd.ScreenResolution.RES_640X480)
# Test if everything is alright with variables
game.set_available_game_variables(variables)
assert len(variables) == game.get_available_game_variables_size()
assert variables == game.get_available_game_variables()
#!/usr/bin/python3
from __future__ import print_function
from time import sleep
import vizdoom as vzd
if __name__ == "__main__":
game = vzd.DoomGame()
# Adds delta buttons that will be allowed and set the maximum allowed value (optional).
game.add_available_button(vzd.Button.MOVE_FORWARD_BACKWARD_DELTA, 10)
game.add_available_button(vzd.Button.MOVE_LEFT_RIGHT_DELTA, 5)
game.add_available_button(vzd.Button.TURN_LEFT_RIGHT_DELTA, 5)
game.add_available_button(vzd.Button.LOOK_UP_DOWN_DELTA)
# For normal buttons (binary) all values other than 0 are interpreted as pushed.
# For delta buttons values determine a precision/speed.
#
# For TURN_LEFT_RIGHT_DELTA and LOOK_UP_DOWN_DELTA value is the angle (in degrees)
# of which the viewing angle will change.
#
# For MOVE_FORWARD_BACKWARD_DELTA, MOVE_LEFT_RIGHT_DELTA, MOVE_UP_DOWN_DELTA (rarely used)
# value is the speed of movement in a given direction (100 is close to the maximum speed).
action = [100, 10, 10, 1] # floating point values can be used
# If button's absolute value > max button's value then value = max value with original value sign.
game = vzd.DoomGame()
game.set_doom_map(map)
game.set_doom_scenario_path(WAD_FILE)
game.add_game_args("-deathmatch +viz_nocheat 1 +viz_debug 0 +viz_respawn_delay 10")
game.add_game_args("+sv_forcerespawn 1 +sv_noautoaim 1 +sv_respawnprotect 1 +sv_spawnfarthest 1 +sv_crouch 1")
game.add_game_args("+viz_spectator 1")
game.add_game_args("+name ghost")
game.add_game_args("-host {}".format(players_num))
game.add_game_args("+timelimit {}".format(timelimit))
game.add_game_args("-record {}".format(record_file))
game.set_console_enabled(console_enabled)
game.add_available_button(vzd.Button.TURN_LEFT)
game.add_available_button(vzd.Button.TURN_RIGHT)
game.add_available_button(vzd.Button.MOVE_RIGHT)
game.add_available_button(vzd.Button.MOVE_LEFT)
game.add_available_button(vzd.Button.MOVE_FORWARD)
game.add_available_button(vzd.Button.MOVE_BACKWARD)
game.add_available_button(vzd.Button.TURN_LEFT_RIGHT_DELTA)
game.add_available_button(vzd.Button.LOOK_UP_DOWN_DELTA)
game.add_available_button(vzd.Button.SPEED)
game.add_available_button(vzd.Button.MOVE_UP)
game.add_available_button(vzd.Button.MOVE_DOWN)
if watch:
game.set_mode(vzd.Mode.ASYNC_SPECTATOR)
game.set_window_visible(True)
else:
game.set_mode(vzd.Mode.ASYNC_PLAYER)
#!/usr/bin/python3
from __future__ import print_function
from time import sleep
import vizdoom as vzd
if __name__ == "__main__":
game = vzd.DoomGame()
# Adds delta buttons that will be allowed and set the maximum allowed value (optional).
game.add_available_button(vzd.Button.MOVE_FORWARD_BACKWARD_DELTA, 10)
game.add_available_button(vzd.Button.MOVE_LEFT_RIGHT_DELTA, 5)
game.add_available_button(vzd.Button.TURN_LEFT_RIGHT_DELTA, 5)
game.add_available_button(vzd.Button.LOOK_UP_DOWN_DELTA)
# For normal buttons (binary) all values other than 0 are interpreted as pushed.
# For delta buttons values determine a precision/speed.
#
# For TURN_LEFT_RIGHT_DELTA and LOOK_UP_DOWN_DELTA value is the angle (in degrees)
# of which the viewing angle will change.
#
# For MOVE_FORWARD_BACKWARD_DELTA, MOVE_LEFT_RIGHT_DELTA, MOVE_UP_DOWN_DELTA (rarely used)
# value is the speed of movement in a given direction (100 is close to the maximum speed).
action = [100, 10, 10, 1] # floating point values can be used
# If button's absolute value > max button's value then value = max value with original value sign.
# Delta buttons in spectator modes correspond to mouse movements.
# Maximum allowed values also apply to spectator modes.
# Sets other rendering options (all of these options except crosshair are enabled (set to True) by default)
game.set_render_hud(False)
game.set_render_minimal_hud(False) # If hud is enabled
game.set_render_crosshair(False)
game.set_render_weapon(True)
game.set_render_decals(False) # Bullet holes and blood on the walls
game.set_render_particles(False)
game.set_render_effects_sprites(False) # Smoke and blood
game.set_render_messages(False) # In-game messages
game.set_render_corpses(False)
game.set_render_screen_flashes(True) # Effect upon taking damage or picking up items
# Adds buttons that will be allowed.
game.add_available_button(vzd.Button.MOVE_LEFT)
game.add_available_button(vzd.Button.MOVE_RIGHT)
game.add_available_button(vzd.Button.ATTACK)
# Adds game variables that will be included in state.
game.add_available_game_variable(vzd.GameVariable.AMMO2)
# Causes episodes to finish after 200 tics (actions)
game.set_episode_timeout(200)
# Makes episodes start after 10 tics (~after raising the weapon)
game.set_episode_start_time(10)
# Makes the window appear (turned on by default)
game.set_window_visible(True)
# Turns on the sound. (turned off by default)
game.set_sound_enabled(True)
game.set_doom_scenario_path(WAD_FILE)
game.add_game_args("-deathmatch +viz_nocheat 1 +viz_debug 0 +viz_respawn_delay 10")
game.add_game_args("+sv_forcerespawn 1 +sv_noautoaim 1 +sv_respawnprotect 1 +sv_spawnfarthest 1 +sv_crouch 1")
game.add_game_args("+viz_spectator 1")
game.add_game_args("+name ghost")
game.add_game_args("-host {}".format(players_num))
game.add_game_args("+timelimit {}".format(timelimit))
game.add_game_args("-record {}".format(record_file))
game.set_console_enabled(console_enabled)
game.add_available_button(vzd.Button.TURN_LEFT)
game.add_available_button(vzd.Button.TURN_RIGHT)
game.add_available_button(vzd.Button.MOVE_RIGHT)
game.add_available_button(vzd.Button.MOVE_LEFT)
game.add_available_button(vzd.Button.MOVE_FORWARD)
game.add_available_button(vzd.Button.MOVE_BACKWARD)
game.add_available_button(vzd.Button.TURN_LEFT_RIGHT_DELTA)
game.add_available_button(vzd.Button.LOOK_UP_DOWN_DELTA)
game.add_available_button(vzd.Button.SPEED)
game.add_available_button(vzd.Button.MOVE_UP)
game.add_available_button(vzd.Button.MOVE_DOWN)
if watch:
game.set_mode(vzd.Mode.ASYNC_SPECTATOR)
game.set_window_visible(True)
else:
game.set_mode(vzd.Mode.ASYNC_PLAYER)
game.set_window_visible(False)
game.set_screen_resolution(vzd.ScreenResolution.RES_1024X576)
game.set_sectors_info_enabled(True)
# Sets other rendering options (all of these options except crosshair are enabled (set to True) by default)
game.set_render_hud(False)
game.set_render_minimal_hud(False) # If hud is enabled
game.set_render_crosshair(False)
game.set_render_weapon(True)
game.set_render_decals(False) # Bullet holes and blood on the walls
game.set_render_particles(False)
game.set_render_effects_sprites(False) # Smoke and blood
game.set_render_messages(False) # In-game messages
game.set_render_corpses(False)
game.set_render_screen_flashes(True) # Effect upon taking damage or picking up items
# Adds buttons that will be allowed.
game.add_available_button(vzd.Button.MOVE_LEFT)
game.add_available_button(vzd.Button.MOVE_RIGHT)
game.add_available_button(vzd.Button.ATTACK)
# Adds game variables that will be included in state.
game.add_available_game_variable(vzd.GameVariable.AMMO2)
# Causes episodes to finish after 200 tics (actions)
game.set_episode_timeout(200)
# Makes episodes start after 10 tics (~after raising the weapon)
game.set_episode_start_time(10)
# Makes the window appear (turned on by default)
game.set_window_visible(True)
# Turns on the sound. (turned off by default)