Um unsere Website stetig zu optimieren und Ihnen den bestmöglichen Service zu bieten verwenden wir Cookies, sofern Sie der Cookie-Nutzung zustimmen.

Preparing Game Data Starcraft 2 |top| [CERTIFIED × 2024]

for player in replay.players: print(f"player.name (player.race) – MMR: player.mmr") Extract unit events, upgrades, resources, and positions:

from pysc2.env import sc2_env from pysc2.agents import random_agent env = sc2_env.SC2Env( map_name="AbyssalReef", players=[sc2_env.Agent(sc2_env.Race.random)], step_mul=8 )

Here’s a comprehensive, step-by-step guide to for machine learning, replay analysis, or build order mining. 1. Understanding SC2 Data Sources You have three primary sources of game data: preparing game data starcraft 2

build_order_vector = [] for second in [60, 120, 180, 240, 300]: units_at_time = [e for e in replay.events if e.second <= second and e.name == 'UnitBornEvent'] build_order_vector.append(len([u for u in units_at_time if 'Zergling' in u.unit_type_name])) Goal: Predict race & opening from first 3 minutes. Extraction Code import sc2reader import pandas as pd replay = sc2reader.load_file("replay.SC2Replay")

import sc2reader replay = sc2reader.load_file("path/to/replay.SC2Replay") print(f"Map: replay.map_name") print(f"Duration: replay.real_length") for player in replay

import numpy as np state_data = [] timeline = np.arange(0, replay.real_length.seconds, 5)

data = [] for event in replay.events: if event.name in ['UnitBornEvent', 'UpgradeCompleteEvent'] and event.second <= 180: data.append( 'time': event.second, 'type': event.name, 'unit': getattr(event, 'unit_type_name', None), 'upgrade': getattr(event, 'upgrade_type_name', None), 'player_race': event.player.play_race, 'winner': 1 if event.player == replay.winner else 0 ) Extraction Code import sc2reader import pandas as pd

Example skeleton: