ggtracker / ggtrackerstack

Project to run the whole ggtracker stack in vagrant
20 stars 10 forks source link

LOTV: Chronoboost graph no longer providing helpful information #6

Open dsjoerg opened 8 years ago

dsjoerg commented 8 years ago

From @gravelweb on April 13, 2016 2:34

Since chronoboost is now permanently cast on buildings, the stat shown (nexus energy maxed) is not helpful. I propose that instead of tracking nexus energy, it would be more useful to track whether the building that is chronoboosted is idle or not.

e.g.1. chrono boosting a robo that doesn't produce any units would show 0%. e.g.2. chrono boosting warpgates would track the percentage of time where the building isn't on cooldown.

Would that change fit in ggtracker?

Copied from original issue: dsjoerg/ggtracker#21

dsjoerg commented 8 years ago

@gravelweb that makes sense. However, given the data that's available in the replay it might be more work than you'd think to compute / estimate it.

Are you already familiar with the kind of events / data that are in the replay file? If not I can give you a rundown.

dsjoerg commented 8 years ago

From @gravelweb on April 13, 2016 13:34

@dsjoerg I imagine I will be soon enough once I start working on the 1v1 map issue :) If you want to give me/point me to a rundown, I'm sure that could be helpful. I'll poke you again on the subject once I'm happy with my dev setup. Then I can start doing some real digging.

dsjoerg commented 8 years ago
>> import sc2reader
>> replay = sc2reader.load_replay('/Users/David/Downloads/ggtracker_6586262.SC2Replay'

>> set([e.name for e in replay.events])
set([u'CameraEvent', u'UnitInitEvent', u'TargetAbilityEvent', u'PlayerLeaveEvent', u'UnitDoneEvent', u'UnitPositionsEvent', u'ChatEvent', u'PlayerStatsEvent', u'AbilityEvent', u'SetToHotkeyEvent', u'SelectionEvent', u'LocationAbilityEvent', u'SelfAbilityEvent', u'PingEvent', u'UpgradeCompleteEvent', u'AddToHotkeyEvent', u'UnitDiedEvent', u'GetFromHotkeyEvent', u'UnitBornEvent', u'PacketEvent', u'UnitTypeChangeEvent', u'UserOptionsEvent', u'Event'])

Those are the different events that are in the replay.

There's nothing in there I know of that tells you explicitly whether or not a building is idle at any given time, nor is there anything telling you, when a unit is made, what building it came from.

What is in there are the commands issued by the player. But there is nothing telling you about the state of the queue for a building.

So to do exactly what you're proposing would involve building a little simulation of the queue for each building, including the chronoboost mechanics, in order to know if the building was idle or not while it was being chronoboosted.

On the plus side, if you do develop queue-tracking for buildings, that would enable other useful/interesting stats that players will want to track such as production building idle% which will be interesting for Terrans as well.

dsjoerg commented 8 years ago

From @gravelweb on April 18, 2016 2:18

Some issues are being reported in ggtracker/sc2reader, and I'm wondering if there should be one common place for ggtracker issues (maybe in ggtrackerstack?) Here's a duplicate for this issue: https://github.com/ggtracker/sc2reader/issues/8

dsjoerg commented 8 years ago

From @gravelweb on April 18, 2016 2:19

@dsjoerg Yes this sounds like a project I want to take on. Any idea how much work is involved here?

dsjoerg commented 8 years ago

ggtrackerstack sounds like a great place for issues.

dsjoerg commented 8 years ago

building a simulation of building queues is a lot of work. i'd say a solid week of work to get something that would be useful for players.

some wrinkles:

if you want to start designing this, i would recommend starting by getting to know the relevant events intimately. you might start by reading the events using https://github.com/Blizzard/s2protocol which is more "close to the metal". you can also look at the events in sc2reader of course, and in SCELight. Back in the day I spent a lot of time in SCELight's predecessor, SC2Gears, looking at events to understand how things work. SCELight and SC2Gears are open source now, for what it's worth.

finally, you might consider whether chrono management is so significant for players anymore. I think community figures like JaKaTaK and others might have a wishlist of measurements, some of which might be substantially easier to measure than this.

dsjoerg commented 8 years ago

From @gravelweb on April 18, 2016 3:0

Thanks @dsjoerg. Sound advice.