|
I am building a deep learning agent for sc2, and part of the agent involves outcome prediction (just like alphastar).
The way Deepmind did it is they took a huge dataset of replays, and then actually ran the replays, and recorded observations frame by frame. They then used those observations as their dataset to train with.
The problem is, for people like me with normal PCs, this isn't really feasible. Deepmind did it with many cores, each one running a replay at the same time. So they were able to record observations much faster than I will be able to with my home PC.
I am wondering if there are any advanced replay parsers at the moment (particularly ones that can work with various patches).
What I want is a bit demanding, though. I don't just want to parse actions, I also need, at minimum:
my units positions my unit deaths enemy units killed gas,minerals,time available and current supply
even better would be "seen enemy units" or "current seen enemy positions"
Does anyone know about this? Thank you.
|
is there even an official way to run replays without the video interface?
I think these guys (http://ggtracker.com/landing_tour) might be able to help you out? in anycase it´s a pretty cool project. keep us updated on your progress!
|
github.com is the official client to parse replays.
I think has the kind of information you're looking for though not at every tick but rather every 70 ticks I think.
Breath20 from sc2replaystats has a lot of experience, try his discord maybe ?
|
sc2reader is a bit outdated but has most of this. Replays contain some tracker events, like checking supply, mineral, gas etc every 10 sec as well as units created/killed with their positions. If you want to run the reps you can only use the blizz interface which can only run reps at 16x speed one by one as far as i know (never tried)
|
United Kingdom20284 Posts
What I want is a bit demanding, though. I don't just want to parse actions, I also need, at minimum:
my units positions my unit deaths
I don't think that this can be done the way that you want it to. The replay file (and internet traffic) contains surprisingly little information. It records a bare minimum of data and then the game simulates the game state deterministically from there.
If you create a unit at a certain position and tell it to move across the map then the information recorded is the unit creation time/position/etc and the move command, not any of its locations along the way. Pathfinding, collisions with other units and so on - even fights and unit deaths IIRC - are handled in the simulation.
Since it's deterministic the end result will always be the same given the same input but you do have to do the simulation on each PC if you're playing the game or want to usefully see much of the information that the replay contains.
|
Cyro - I know this but my hope was that someone had created a tool that would process some of that information from the replay file itself. As in, "play the game out" to the extent of getting various game state information - without actually playing it with the SC2 client.
How that could be done, I don't really know.
That said I am playing around with SC2reader now. I had played with s2protocol and was having some issues, but I'll try it again too if sc2reader doesn't have enough to work for me.
Thank you for the suggestions everyone.
|
United Kingdom20284 Posts
It would have to be a perfectly accurate simulation, every time there is even a tiny tweak we see blizzard make replays unplayable in the new version of the game because they no longer play out as they should
|
During the alphastar presentation they said, that Blizzard supplied them with a special build that was created just for that use case. It runs replays (and apparently even AI games) at high speed without the GUI.
My guess is, they paid Blizzard good money to create that build so the chances of them sharing it with the public is pretty slim. Unfortunately, that also means that there is no such tool available anywhere, or else Blizzard would not have created it custom for deep mind.
Good luck with your project, though!
|
On April 13 2019 03:09 AKnopf wrote: During the alphastar presentation they said, that Blizzard supplied them with a special build that was created just for that use case. It runs replays (and apparently even AI games) at high speed without the GUI.
My guess is, they paid Blizzard good money to create that build so the chances of them sharing it with the public is pretty slim. Unfortunately, that also means that there is no such tool available anywhere, or else Blizzard would not have created it custom for deep mind.
Good luck with your project, though!
I believe this is open source
|
Well in the end I have decided that a replay parser probably just won't work, the quality of the data I need is just too important to not utilize everything that can be observed in a given moment of the game. plus my predictor needs to reflect all the data a player would have available at that given moment.
the parsers are still useful to delete the thousands of replays where the main player is not zerg or where a player leaves right at the beginning, though
|
|
|
|