Skip to content

Game

src.game

View source code

Game orchestration using Arcade.

Creates a window, runs one timed epoch, and returns control to the ga.

Game

Manages zones and runs one Arcade epoch, returning the updated players list.

batched_brain = None instance-attribute

display_score = False instance-attribute

fps = fps instance-attribute

generation = generation instance-attribute

height = height instance-attribute

is_finished: bool property

num_zones = len(players) instance-attribute

paddle_width = paddle_width instance-attribute

panel_width = VARIABLES.get('PANEL_WIDTH', 260) instance-attribute

play_width = width instance-attribute

players = players instance-attribute

sound_enabled = sound_enabled instance-attribute

speed = speed instance-attribute

steps_per_frame = steps_per_frame instance-attribute

time_running = 0.0 instance-attribute

timeout = timeout instance-attribute

training_close_callback = None instance-attribute

training_phase = training_phase instance-attribute

training_scores = {} instance-attribute

training_update_callback = None instance-attribute

validation_count = 0 instance-attribute

validation_record = (0, 0, 0) instance-attribute

validation_scenario = 0 instance-attribute

validation_status = validation_status instance-attribute

zones = [] instance-attribute

__init__(players, width=VARIABLES['WIDTH'], height=VARIABLES['HEIGHT'], fps=VARIABLES['FPS'], timeout=VARIABLES['TIME_OUT'], speed=VARIABLES['SPEED'], steps_per_frame=VARIABLES['STEPS_PER_FRAME'], paddle_width=80, validation_status=None, sound_enabled=False, generation=0, training_phase='Gameplay')

configure_epoch(players, *, timeout=None, paddle_width=None, phase=None, generation=None, validation_scenario=0, validation_count=0) -> None

Replace a simulation epoch without transferring or recreating its Arcade window.

get_display_architecture()

get_display_player()

get_display_zone()

run_headless(step_delta: float = 1.0 / 60, progress_callback: Callable[[int, int, float], None] | None = None) -> list

Run the whole epoch without a window; optionally report step progress.

run_steps(count: int, step_delta: float) -> None

Run up to count steps, stopping early once the timeout is reached.

start() -> list

Run the standalone Arcade epoch or the attached continuous training lifecycle.

step(step_delta: float) -> None

Advance every zone by one simulation step. Independent of any window.