Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Average frame time in results #95

Open
tweakimp opened this issue Dec 20, 2018 · 6 comments
Open

Average frame time in results #95

tweakimp opened this issue Dec 20, 2018 · 6 comments

Comments

@tweakimp
Copy link

Please add the average frame time and/or more statistics to the results.json.
Other things to add might be:

  • average actions sent
  • average actions*time/frame
  • time for first frame
@Archiatrus
Copy link
Contributor

I propose we change the format of the result json a bit. Something like this:

{
    "Results": [
        {
            "Bot1": 
                {
                    "Name": "Cpp",
                    "AverageLoopTime": 2,
                    "Actions": 873658974326
                }
            "Bot2": 
                {
                    "Name": "ocraft",
                    "AverageLoopTime": 3,
                    "Actions": 26
                }
            "Winner": "Cpp",
            "Map": "test.SC2Map",
            "Result": "Player1Win",
            "GameTime": 2787,
            "TimeStamp": "06-01-2019 17-06-27"
        }
    ]
}

As far as I can see one can only get actions on a individual unit basis. This means if I send an action to 10 marines to attack something as a group, it will be 10 actions. So it won't be comparable with human APM.

I am not a fan of redundant information. So if in the json there is already game loops and number of actions, imo we don't need average actions sent.

Time for first frame is a good idea.

@tweakimp
Copy link
Author

tweakimp commented Jan 6, 2019

I would also add the race. For random add Random(Race).

@spacekitteh
Copy link

Stuff like "total minerals gathered" "build order" etc would be neat to see too

@Archiatrus
Copy link
Contributor

@spacekitteh total mineral gathered is available to the bot through the score interface. https://github.com/Blizzard/s2client-proto/blob/9906df71d6909511907d8419b33acc1a3bd51ec0/s2clientprotocol/score.proto#L31

The build order could also be logged by the bot itself.

I think the LM should only log things that are not available to the bot. Otherwise the result gets cluttered with lots of information that nobody really needs, that are just 'neat to see'. Just imagine the result json after 20 or 100 games if the build order is always included for both bots.

@alkurbatov
Copy link
Contributor

@Archiatrus I believe this idea is inspired by Battle-net, where you can see gathering rate/count and actual build order. I doubt many bot authors would care about such things as BO logging especially because it could be considered as private strategy and requires additional efforts to implement such logging.
Another con for this is that we don't provide bot logs to third person, only to the author. And as you've said above such logs could be huge enough with hundreds of logged games.

@spacekitteh
Copy link

True, I keep forgetting people might not want to expose everything

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants