Upvote Upvoted 10 Downvote Downvoted
1 2
Evaluating good play from stats/logs
1
#1
0 Frags +

Hi TF.tv. I hope you can help me with a few ideas for a little project of mine. I'm aiming to build a program that parses TF2 log files and tries to interpret them, basically linking stats like K/D ratio or DPM with the outcome of the match, wherever possible. This previous thread has more info about what I'm trying to do.

I know that this approach has flaws and limitations, however the data from log files is all I have to work with, so it will have to do. For anyone curious of what type of info can be found in log files, here's a sample with the types of events that are recorded in TF2 logs. I'm going to read those events and interpret them into stats such as those on logs.tf or sizzlingstats.com.

So my question to you guys is this: what kind of stats would be linked to good play for each class in the game? How does a player know when he's done his job or not, by only looking at these stats? I'm going to be focusing on 6v6 matches, but I want to keep off-classing in mind as well. For a start, this page has a number of great ideas, but I need more than that. I'm even looking for semi-serious stats such as "scout kills with direct pipes per minute" for Demoman. Basically, anything that can be learned from log files could prove to be useful. Thanks!

Hi TF.tv. I hope you can help me with a few ideas for a little project of mine. I'm aiming to build a program that parses TF2 log files and tries to interpret them, basically linking stats like K/D ratio or DPM with the outcome of the match, wherever possible. This [url=http://teamfortress.tv/thread/17341/help-with-tf2-database-design/?page=1#293058]previous thread[/url] has more info about what I'm trying to do.

I know that this approach has flaws and limitations, however the data from log files is all I have to work with, so it will have to do. For anyone curious of what type of info can be found in log files, [url=http://pastebin.com/a0fXRSYD]here[/url]'s a sample with the types of events that are recorded in TF2 logs. I'm going to read those events and interpret them into stats such as those on logs.tf or sizzlingstats.com.

So my question to you guys is this: what kind of stats would be linked to good play for each class in the game? How does a player know when he's done his job or not, by only looking at these stats? I'm going to be focusing on 6v6 matches, but I want to keep off-classing in mind as well. For a start, [url=http://www.vanillatf2.org/2014/04/tf2-by-the-numbers-etf2l-season-17-review/]this page[/url] has a number of great ideas, but I need more than that. I'm even looking for semi-serious stats such as "scout kills with direct pipes per minute" for Demoman. Basically, anything that can be learned from log files could prove to be useful. Thanks!
2
#2
4 Frags +

I'm sure a lot of people will disagree with me, but I think there's one stat that is completely objective and doesn't need context to show someone is a good player (medic excluded): damage per minute. Health is the primary resource in TF2, and every time you take health away from someone you're reducing their effectiveness and gaining an advantage for your team.

Having low deaths is also a plus; this should be valued as a percentage of your team's deaths, probably?

Other things would be bursts of damage, as DPM is largely affected by spam. One way to help evaluate that is measure the number of direct hits (meatshots included), but the better option is if you can somehow determine if someone did a lot of damage with one shot (ie. soldier shoots a rocket, deals 80 damage to 3 different people grouped up).

Damage-to-heals ratio is an okay stat, but shouldn't be so much a punishment (pockets would suffer no matter what) as a plus; at the same time, if you could see whether people got buffs or not (don't think this is possible?) that would also help. Good players are constantly overhealed.

Off-classing could be somewhat measurable; if someone goes sniper and gets a headshot in a small amount of time, that's a pretty effective sniper. Likewise, if they string 3 picks together quickly, and then the team caps the next point, that was a really clutch sniper player. However, if they switch to sniper and don't get any kills before switching back/losing, they didn't make anything happen (not to say they're awful, but in this instance, they weren't effective on sniper). Obviously there's also the idea of using a sniper to stall the game and prevent the other team from pushing before they have uber or something, but that's much harder to measure.

There are a handful of other things I could probably think of, but they start to get more complicated because they need context of the situation (one thing that comes to mind is if your medic switched to kritz at a good time; you can sometimes determine this straight from numbers, ie. if they were going to have a decent kritz advantage, if they haven't used it before which makes it more surprising, etc.).

Anyway, those are just some ideas to consider, I totally don't expect them all to seem valuable to everyone or even easily doable.

I'm sure a lot of people will disagree with me, but I think there's one stat that is completely objective and doesn't need context to show someone is a good player (medic excluded): [b]damage per minute[/b]. Health is the primary resource in TF2, and every time you take health away from someone you're reducing their effectiveness and gaining an advantage for your team.

Having low deaths is also a plus; this should be valued as a percentage of your team's deaths, probably?

Other things would be bursts of damage, as DPM is largely affected by spam. One way to help evaluate that is measure the number of direct hits (meatshots included), but the better option is if you can somehow determine if someone did a lot of damage with one shot (ie. soldier shoots a rocket, deals 80 damage to 3 different people grouped up).

Damage-to-heals ratio is an okay stat, but shouldn't be so much a punishment (pockets would suffer no matter what) as a plus; at the same time, if you could see whether people got buffs or not (don't think this is possible?) that would also help. Good players are constantly overhealed.

Off-classing could be somewhat measurable; if someone goes sniper and gets a headshot in a small amount of time, that's a pretty effective sniper. Likewise, if they string 3 picks together quickly, and then the team caps the next point, that was a really clutch sniper player. However, if they switch to sniper and don't get any kills before switching back/losing, they didn't make anything happen (not to say they're awful, but in this instance, they weren't effective on sniper). Obviously there's also the idea of using a sniper to stall the game and prevent the other team from pushing before they have uber or something, but that's much harder to measure.

There are a handful of other things I could probably think of, but they start to get more complicated because they need context of the situation (one thing that comes to mind is if your medic switched to kritz at a good time; you can sometimes determine this straight from numbers, ie. if they were going to have a decent kritz advantage, if they haven't used it before which makes it more surprising, etc.).

Anyway, those are just some ideas to consider, I totally don't expect them all to seem valuable to everyone or even easily doable.
3
#3
6 Frags +

My research on the common stats as they relate to winning.

Analysis about half way down, Drosphile doesn't agree. Also when interpreting stats I've chosen ones that allow me to talk about play styles, not necessarily the most win related stats (which amongst the basic stats is kills per minute I think).

There's loads of stuff you can't extract from logs, even with the advanced stats plugin present, mostly contextual data.

Looking for particular stats to apply to a class/role generally means you stereotype that class to a certain set of behaviours, which means that innovative or uncommon play styles will generally be penalised in any model that expects things to be different. For example it's common to attribute medic picks or forces to a roaming soldier, but Kalho for example played a highly atypical roamer role in the last ETF2L season which is highly effective within his team's setup. This lack of medic aggression from the roamer was counterbalanced by KnOxXx targeting the medic frequently.

As I illustrated in the article you linked to teams vary how they distribute this type of responsibility so it's very difficult to decide on a single statistical set for a player/role to achieve and say "this is what they should be doing and this stat shows they are or aren't doing it".

[url=http://www.vanillatf2.org/2014/03/tf2-by-the-numbers-season-17-playoffs-round-1/]My research[/url] on the common stats as they relate to winning.

Analysis about half way down, Drosphile doesn't agree. Also when interpreting stats I've chosen ones that allow me to talk about play styles, not necessarily the most win related stats (which amongst the basic stats is kills per minute I think).

There's loads of stuff you can't extract from logs, even with the advanced stats plugin present, mostly contextual data.

Looking for particular stats to apply to a class/role generally means you stereotype that class to a certain set of behaviours, which means that innovative or uncommon play styles will generally be penalised in any model that expects things to be different. For example it's common to attribute medic picks or forces to a roaming soldier, but Kalho for example played a highly atypical roamer role in the last ETF2L season which is highly effective within his team's setup. This lack of medic aggression from the roamer was counterbalanced by KnOxXx targeting the medic frequently.

As I illustrated in the article you linked to teams vary how they distribute this type of responsibility so it's very difficult to decide on a single statistical set for a player/role to achieve and say "this is what they should be doing and this stat shows they are or aren't doing it".
4
#4
12 Frags +
synchroI'm sure a lot of people will disagree with me, but I think there's one stat that is completely objective and doesn't need context to show someone is a good player (medic excluded): damage per minute.

Outside of the demo, DPM is mostly meaningless without context.

Usually when I look at stats I'm comparing somebody's K/A/D and DPM against both others on their team and the opposition, but it doesn't give the full story.

For example some hypothetical games from a scout perspective:

1) The demo was doing a bad job of putting out damage, so most kills were 1v1s; result is a mostly a low number of kills, even K/D ratio, and high DPM (loss)
2) Demo and pocket were putting out a lot of damage, so most kills were cleanup; result is a high number of kills, K/D ratio >2, however relatively low DPM (win)
3) Our medic kept dying, had to go for medic/demo picks and forces; result is low kills, a terrible K/D ratio, low DPM (win)
4) Enemy team didn't guard the point well, back-caps and suicides for cap-time; again low kills, terrible K/D ratio, low DPM (win)

[quote=synchro]I'm sure a lot of people will disagree with me, but I think there's one stat that is completely objective and doesn't need context to show someone is a good player (medic excluded): [b]damage per minute[/b].[/quote]

Outside of the demo, DPM is mostly meaningless without context.

Usually when I look at stats I'm comparing somebody's K/A/D and DPM against both others on their team and the opposition, but it doesn't give the full story.

For example some hypothetical games from a scout perspective:

1) The demo was doing a bad job of putting out damage, so most kills were 1v1s; result is a mostly a low number of kills, even K/D ratio, and high DPM (loss)
2) Demo and pocket were putting out a lot of damage, so most kills were cleanup; result is a high number of kills, K/D ratio >2, however relatively low DPM (win)
3) Our medic kept dying, had to go for medic/demo picks and forces; result is low kills, a terrible K/D ratio, low DPM (win)
4) Enemy team didn't guard the point well, back-caps and suicides for cap-time; again low kills, terrible K/D ratio, low DPM (win)
5
#5
2 Frags +

I don't want to go all Bill James on everybody, but DPM is a flawed statistic. Although it doesn't exist, one universal number could show the value of a player. I just don't know the equation to find a number like that.

I don't want to go all Bill James on everybody, but DPM is a flawed statistic. Although it doesn't exist, one universal number could show the value of a player. I just don't know the equation to find a number like that.
6
#6
8 Frags +

you can have a really high dpm and low deaths as a result of constantly baiting your team. spam during stalemates can also inflate dpm and not really mean anything

you can have a really high dpm and low deaths as a result of constantly baiting your team. spam during stalemates can also inflate dpm and not really mean anything
7
#7
3 Frags +

As long as you win does it really matter? Looking at logs to see who did "better or worse" only serves to inflate ego or blaming a teammate. You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.

As long as you win does it really matter? Looking at logs to see who did "better or worse" only serves to inflate ego or blaming a teammate. You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.
8
#8
9 Frags +

I have wanted a more in depth stat system for years. Good on you for trying it.

I have a few suggestions:

    Average Health getting to midfight. Very important statistic. Little weird to implement in logs. Best bet would be to have a "cutoff" location for each map.
    If you can't do above, Average Time before first death at mid for each player. If your scouts die early or demo gets picked, you'll lose the midfight.
    Assist Damage. When two or more players FOCUS another player that player will die quickly. Shows good teamwork and coordination. Any damage is assist damage when 2 or more players damage another player in a time interval (+-3 seconds). Doesn't have to result in a kill.
    Average Health at uber pop. Some bad medics milk ubers by letting their pocket go to 20 health before popping. Not good. If your flank peaks and loses buffs before uber, also not good.
    Deaths of Quick Succession. This is a strange concept to put a name on. I can best explain by saying if you go down 1, you don't want to go down 2. So let's say even ubers and your scout gets picked on the flank, your other scout doesn't want to rush in and die because now it's 4v6. Of course, the major exception to that would be when your medic dies. Then you want to get aggro on their medic. IDK, maybe just exclude medic deaths from that.

I like stats that deal with health and numbers rather than damage and frags.

I have wanted a more in depth stat system for years. Good on you for trying it.

I have a few suggestions:
[list] Average Health getting to midfight. Very important statistic. Little weird to implement in logs. Best bet would be to have a "cutoff" location for each map.
[/list]

[list] If you can't do above, Average Time before first death at mid for each player. If your scouts die early or demo gets picked, you'll lose the midfight.

[/list]
[list] Assist Damage. When two or more players FOCUS another player that player will die quickly. Shows good teamwork and coordination. Any damage is assist damage when 2 or more players damage another player in a time interval (+-3 seconds). Doesn't have to result in a kill.
[/list]

[list] Average Health at uber pop. Some bad medics milk ubers by letting their pocket go to 20 health before popping. Not good. If your flank peaks and loses buffs before uber, also not good.
[/list]

[list] Deaths of Quick Succession. This is a strange concept to put a name on. I can best explain by saying if you go down 1, you don't want to go down 2. So let's say even ubers and your scout gets picked on the flank, your other scout doesn't want to rush in and die because now it's 4v6. Of course, the major exception to that would be when your medic dies. Then you want to get aggro on their medic. IDK, maybe just exclude medic deaths from that.

[/list]
I like stats that deal with health and numbers rather than damage and frags.
9
#9
1 Frags +
sky_As long as you win does it really matter? Looking at logs to see who did "better or worse" only serves to inflate ego or blaming a teammate. You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.

Well that's the point of this thread, to look at logs and get an understanding of what went wrong or right instead of just getting a hard on for your own stats. Like the medic stats that we have on logs, if your med is always dying in post-uber fights it is very clear. I like having stats that point out helpful things like that, and Lexx just wants to know what kinda stats are helpful and not just for boasting.

[quote=sky_]As long as you win does it really matter? Looking at logs to see who did "better or worse" only serves to inflate ego or blaming a teammate. You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.[/quote]
Well that's the point of this thread, to look at logs and get an understanding of what went wrong or right instead of just getting a hard on for your own stats. Like the medic stats that we have on logs, if your med is always dying in post-uber fights it is very clear. I like having stats that point out helpful things like that, and Lexx just wants to know what kinda stats are helpful and not just for boasting.
10
#10
1 Frags +

Creating a coordinated damage stat would help a lot. Like kace said with "Assist Damage" only count the damage that was dealt within 3 seconds (before or after) of a teammate dealing damage OR damage dealt that resulted in a kill within 3 seconds after dealing the last amount of damage. It would help remove the useless outliers of retreating demo spam, failed roamer bombs, and general scout spam.

Creating a coordinated damage stat would help a lot. Like kace said with "Assist Damage" only count the damage that was dealt within 3 seconds (before or after) of a teammate dealing damage OR damage dealt that resulted in a kill within 3 seconds after dealing the last amount of damage. It would help remove the useless outliers of retreating demo spam, failed roamer bombs, and general scout spam.
11
#11
0 Frags +

i think damage done/damage taken is a pretty objective measure of how effective you're being
it makes a lot more sense than just looking at dpm

i think damage done/damage taken is a pretty objective measure of how effective you're being
it makes a lot more sense than just looking at dpm
12
#12
2 Frags +

Some time ago I wrote a log parser for looking at the x amount of damage dealt to a player in order to divide up kills, where x is that class's max health. So when a scout dies, you look at who dealt the last 125 damage dealt to them. if a demo does 124 damage to a scout and a soldier kills the scout with a 1 damage shotgun, then the demo would get 124/125 kills and the solider would get 1/125 kills. Unfortunately, I didn't account for true damage (i.e. you can't deal more damage to a player than their current health), so it didn't really provide much value. Additionally, I completely ignored overheals.

The extension of this idea though is that you can look at damage utilization of players. You can see what percentage of the damage a player dealt actually contributed to your team getting a kill. And you can also look at it as a team stat. What percentage of your team's damage actually went to kills. Generally teams with better focus should have much better damage utilization.

Some time ago I wrote a log parser for looking at the x amount of damage dealt to a player in order to divide up kills, where x is that class's max health. So when a scout dies, you look at who dealt the last 125 damage dealt to them. if a demo does 124 damage to a scout and a soldier kills the scout with a 1 damage shotgun, then the demo would get 124/125 kills and the solider would get 1/125 kills. Unfortunately, I didn't account for true damage (i.e. you can't deal more damage to a player than their current health), so it didn't really provide much value. Additionally, I completely ignored overheals.

The extension of this idea though is that you can look at damage utilization of players. You can see what percentage of the damage a player dealt actually contributed to your team getting a kill. And you can also look at it as a team stat. What percentage of your team's damage actually went to kills. Generally teams with better focus should have much better damage utilization.
13
#13
3 Frags +
sky_As long as you win does it really matter? Looking at logs to see who did "better or worse" only serves to inflate ego or blaming a teammate. You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.

You're right, in a way. But my point is this: yeah, you won. But why? What did you do to win? What made the difference? It's not about boosting egos or having numbers to show off after a win. It's more about finding strengths/weaknesses, things to improve and, most importantly, trying to predict the outcomes of future matches when you know how well/bad the team and its players did in previous matches.

@GentlemanJon, thanks for your ideas. Your "TF2 by the Numbers" series was a great source of inspiration for me when coming up with the idea for this app. You make a good point when you mention that some stats work better when compared on a full team basis, rather than per individual player. I'm going to have to think about this some more... Same goes for offclassing, it's going to be interesting to compare a team that function well with heavy offclassing (when snipers and spies do their duty) with a team that only relies on the classic line-up.

Everyone else, thanks for all the ideas and the great discussion.

[quote=sky_]As long as you win does it really matter? Looking at logs to see who did "better or worse" only serves to inflate ego or blaming a teammate. You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.[/quote]

You're right, in a way. But my point is this: yeah, you won. But why? What did you do to win? What made the difference? It's not about boosting egos or having numbers to show off after a win. It's more about finding strengths/weaknesses, things to improve and, most importantly, trying to predict the outcomes of future matches when you know how well/bad the team and its players did in previous matches.

@GentlemanJon, thanks for your ideas. Your "TF2 by the Numbers" series was a great source of inspiration for me when coming up with the idea for this app. You make a good point when you mention that some stats work better when compared on a full team basis, rather than per individual player. I'm going to have to think about this some more... Same goes for offclassing, it's going to be interesting to compare a team that function well with heavy offclassing (when snipers and spies do their duty) with a team that only relies on the classic line-up.

Everyone else, thanks for all the ideas and the great discussion.
14
#14
1 Frags +
sky_You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.

I'd love to see an example of this; you'd be really hard pressed to find one. Even if this mystery player somehow did manage to bait every single player on their team, got the finishing damage on every kill, and got away with a sliver of health to boost their KD, they'd still have to hit an incredible number of shots to deal that much damage.

Either the team they were playing against was really bad, which will break down any system that only looks at one game at a time, or the player is, surprise, actually good.

Is it possible to inflate your stats with spam and baiting? Absolutely. That being said, to inflate it to a point where you severely skew the data is really hard to do without possessing some amount of skill.

The only real possibility in your scenario is if only half of the situation is true: someone who goes 30:10 but did 100 DPM and lost clearly did so by dashing in, finishing up a kill by baiting their teammate, then running away to heal up again. The reverse is also true: if you deal 400 DPM but die three times more than anyone on your team, you're probably just holding W and spamming the enemy team before dying and leaving your team down a player.

[quote=sky_]You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.[/quote]
I'd love to see an example of this; you'd be really hard pressed to find one. Even if this mystery player somehow did manage to bait every single player on their team, got the finishing damage on every kill, and got away with a sliver of health to boost their KD, they'd still have to hit an incredible number of shots to deal that much damage.

Either the team they were playing against was really bad, which will break down any system that only looks at one game at a time, or the player is, surprise, actually good.

Is it possible to inflate your stats with spam and baiting? Absolutely. That being said, to inflate it to a point where you severely skew the data is really hard to do without possessing some amount of skill.

The only real possibility in your scenario is if only half of the situation is true: someone who goes 30:10 but did 100 DPM and lost clearly did so by dashing in, finishing up a kill by baiting their teammate, then running away to heal up again. The reverse is also true: if you deal 400 DPM but die three times more than anyone on your team, you're probably just holding W and spamming the enemy team before dying and leaving your team down a player.
15
#15
0 Frags +
synchrosky_You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.I'd love to see an example of this; you'd be really hard pressed to find one. Even if this mystery player somehow did manage to bait every single player on their team, got the finishing damage on every kill, and got away with a sliver of health to boost their KD, they'd still have to hit an incredible number of shots to deal that much damage.

harbleu on demo?
edit: except he didnt really get away very often on sunshine

[quote=synchro][quote=sky_]You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.[/quote]
I'd love to see an example of this; you'd be really hard pressed to find one. Even if this mystery player somehow did manage to bait every single player on their team, got the finishing damage on every kill, and got away with a sliver of health to boost their KD, they'd still have to hit an incredible number of shots to deal that much damage.[/quote]
harbleu on demo?
edit: except he didnt really get away very often on sunshine
16
#16
1 Frags +
Gavin_Outside of the demo, DPM is mostly meaningless without context.

"Mostly" is a gross overstatement.

As I mentioned, TF2 has very few player resources: the two most prominent ones are Health and Ammo, the latter of which is a great deal easier to manage; players can replenish their loaded clip by themselves using their reserve, and can gather up ammo from fallen enemies or easy-to-reach ammo packs.

Health, on the other hand, is much harder to come by; players have to either seek out a healthpack, which are typically in dangerous areas, or find their medic, which soaks up valuable heals and buffs their teammates could be receiving.

When you deal damage to a player, you weaken the enemy team as a whole. Even someone who spends the entire game sitting back and spamming to reach 300DPM is doing a lot of work: they're applying pressure to the enemy team, they're creating room for their teammates to be more aggressive, and they're forcing the enemy medic to focus on healing damaged players instead of buffing healthy ones.

As I said above, there are certain scenarios where solely looking at DPM falls apart, and that's going to be the case for any one statistic you look at. However, every combat class is capable of putting out damage. If a player has low DPM, they're not putting as many shots into the enemy team, which makes them objectively less effective when it comes to the enemy team dying.

Of course, there are ways they can compensate for this: players who only put in damage when it matters most will be slightly penalized in terms of constant DPM, but their KDA should look better to make up for it. Likewise, a roaming soldier who spends 90% of his time alive bombing in and trading for the medic or demo will show a higher number of med/demo picks.

The above scenarios are definitely the exceptions, and are not necessarily the marks of great players either; a roamer who is constantly dying to trade for the medic quickly becomes predictable and, more importantly, counterable, and if they can't adapt to shift their playstyle then they probably weren't going to look very good to begin with.

[quote=Gavin_]Outside of the demo, DPM is mostly meaningless without context.[/quote]
"Mostly" is a gross overstatement.

As I mentioned, TF2 has very few player resources: the two most prominent ones are Health and Ammo, the latter of which is a great deal easier to manage; players can replenish their loaded clip by themselves using their reserve, and can gather up ammo from fallen enemies or easy-to-reach ammo packs.

Health, on the other hand, is much harder to come by; players have to either seek out a healthpack, which are typically in dangerous areas, or find their medic, which soaks up valuable heals and buffs their teammates could be receiving.

When you deal damage to a player, you weaken the enemy team as a whole. Even someone who spends the entire game sitting back and spamming to reach 300DPM is doing a lot of work: they're applying pressure to the enemy team, they're creating room for their teammates to be more aggressive, and they're forcing the enemy medic to focus on healing damaged players instead of buffing healthy ones.

As I said above, there are certain scenarios where solely looking at DPM falls apart, and that's going to be the case for any one statistic you look at. However, every combat class is capable of putting out damage. If a player has low DPM, they're not putting as many shots into the enemy team, which makes them objectively less effective when it comes to the enemy team dying.

Of course, there are ways they can compensate for this: players who only put in damage when it matters most will be slightly penalized in terms of constant DPM, but their KDA should look better to make up for it. Likewise, a roaming soldier who spends 90% of his time alive bombing in and trading for the medic or demo will show a higher number of med/demo picks.

The above scenarios are definitely the exceptions, and are not necessarily the marks of great players either; a roamer who is constantly dying to trade for the medic quickly becomes predictable and, more importantly, counterable, and if they can't adapt to shift their playstyle then they probably weren't going to look very good to begin with.
17
#17
0 Frags +
BuschmasterACRsynchrosky_You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.I'd love to see an example of this; you'd be really hard pressed to find one. Even if this mystery player somehow did manage to bait every single player on their team, got the finishing damage on every kill, and got away with a sliver of health to boost their KD, they'd still have to hit an incredible number of shots to deal that much damage.harbleu on demo?
edit: except he didnt really get away very often on sunshine

Are you trying to say that harbleu isn't a good player? I haven't watched many of the matches, but mix^ seems to be doing pretty well, it seems to me like he's doing just fine.

The bottom line is this: you can't do damage if you don't hit your shots. I never said having low DPM explicitly makes you bad, just that having high DPM tends to mean you're doing well. It's the only statistic, in my opinion, that can stand on its own and still hold value, but it certainly isn't the only thing you should look at to determine skill.

[quote=BuschmasterACR][quote=synchro][quote=sky_]You can get 400 dpm, a 3KAD, and lose by just baiting your team over and over again and somehow people will still call you good.[/quote]
I'd love to see an example of this; you'd be really hard pressed to find one. Even if this mystery player somehow did manage to bait every single player on their team, got the finishing damage on every kill, and got away with a sliver of health to boost their KD, they'd still have to hit an incredible number of shots to deal that much damage.[/quote]
harbleu on demo?
edit: except he didnt really get away very often on sunshine[/quote]
Are you trying to say that harbleu isn't a good player? I haven't watched many of the matches, but mix^ seems to be doing pretty well, it seems to me like he's doing just fine.

The bottom line is this: you can't do damage if you don't hit your shots. I never said having low DPM explicitly makes you bad, just that having high DPM tends to mean you're doing well. It's the only statistic, in my opinion, that can stand on its own and still hold value, but it certainly isn't the only thing you should look at to determine skill.
18
#18
9 Frags +

Before I start, let me say that this post is my own opinion and does not necessarily reflect the position of CEVO.

I think we as a community would benefit from a single stats system with a solid API. Off the top of my head I can think of 3 (4 technically) running stats systems that all have different feature sets and APIs:

  1. Logs.tf
  2. SizzlingStats (also SizzlingStats-CEVO used by CEVO)
  3. ESEA's system

Putting aside the fact that I am a SizzlingStats developer and am friends with both Jordan and Chris, I think Logs.tf currently offers a better system. It tracks more stats and has a cleaner interface. That said, I say this without really knowing anything about its API and knowing nothing of its server plugin code implementation.

SizzlingStats is extremely well-made and optimized, Jordan is a fanatic about keeping his code as perfect as it can be. That has come with some problems though. The code base is quite large and complex, and (from the perspective of a rookie C++ developer) adding features is very difficult. Jordan is also very busy and usually only has time to fix the game-breaking bugs that crop up here and there.

Logs.tf already has a head start on features and seems, from the outside, to have more active development.

In my ideal world, pugs, scrims, and matches across all leagues would use a single platform with a single API. To me, it looks like Logs.tf is the best platform for that right now, but we need to have a serious discussion to really determine what the best path is going forward.

Before I start, let me say that this post is my own opinion and does not necessarily reflect the position of CEVO.

I think we as a community would benefit from a single stats system with a solid API. Off the top of my head I can think of 3 (4 technically) running stats systems that all have different feature sets and APIs:

[olist]
[*] Logs.tf
[*] SizzlingStats (also SizzlingStats-CEVO used by CEVO)
[*] ESEA's system
[/olist]

Putting aside the fact that I am a SizzlingStats developer and am friends with both Jordan and Chris, I think Logs.tf currently offers a better system. It tracks more stats and has a cleaner interface. That said, I say this without really knowing anything about its API and knowing nothing of its server plugin code implementation.

SizzlingStats is extremely well-made and optimized, Jordan is a fanatic about keeping his code as perfect as it can be. That has come with some problems though. The code base is quite large and complex, and (from the perspective of a rookie C++ developer) adding features is very difficult. Jordan is also very busy and usually only has time to fix the game-breaking bugs that crop up here and there.

Logs.tf already has a head start on features and seems, from the outside, to have more active development.

In my ideal world, pugs, scrims, and matches across all leagues would use a single platform with a single API. To me, it looks like Logs.tf is the best platform for that right now, but we need to have a serious discussion to really determine what the best path is going forward.
19
#19
1 Frags +

Stats are supplementary info for evaluating play. They can help you find areas to improve on but without viewing the game they are pretty much completely meaningless unless something is massively away from the norm like someone going 5:20 or doing 100 dpm or something.

Stats are supplementary info for evaluating play. They can help you find areas to improve on but without viewing the game they are pretty much completely meaningless unless something is massively away from the norm like someone going 5:20 or doing 100 dpm or something.
20
#20
serveme.tf
3 Frags +
LangeIn my ideal world, pugs, scrims, and matches across all leagues would use a single platform with a single API. To me, it looks like Logs.tf is the best platform for that right now, but we need to have a serious discussion to really determine what the best path is going forward.

Logs.tf has a good API. Both for uploading logfiles and reading the stats.
It uses TFTrue or F2's sourcemod plugins on the server side to add the extra information to the logs and upload the logs to logs.tf.

[quote=Lange]In my ideal world, pugs, scrims, and matches across all leagues would use a single platform with a single API. To me, it looks like Logs.tf is the best platform for that right now, but we need to have a serious discussion to really determine what the best path is going forward.[/quote]

Logs.tf has a good API. Both for [url=http://logs.tf/about#apidev]uploading logfiles[/url] and [url=http://logs.tf/json/239800]reading the stats[/url].
It uses [url=http://tftrue.redline-utilities.net/]TFTrue[/url] or [url=http://teamfortress.tv/thread/13598/?page=1#post-1]F2's sourcemod plugins[/url] on the server side to [url=https://github.com/zooob/logstf-spec]add the extra information to the logs[/url] and upload the logs to logs.tf.
21
#21
2 Frags +
ArieLangeIn my ideal world, pugs, scrims, and matches across all leagues would use a single platform with a single API. To me, it looks like Logs.tf is the best platform for that right now, but we need to have a serious discussion to really determine what the best path is going forward.
Logs.tf has a good API. Both for uploading logfiles and reading the stats.
It uses TFTrue or F2's sourcemod plugins on the server side to add the extra information to the logs and upload the logs to logs.tf.

Holy f... that makes things so much easier. Thanks!

[quote=Arie][quote=Lange]In my ideal world, pugs, scrims, and matches across all leagues would use a single platform with a single API. To me, it looks like Logs.tf is the best platform for that right now, but we need to have a serious discussion to really determine what the best path is going forward.[/quote]

Logs.tf has a good API. Both for [url=http://logs.tf/about#apidev]uploading logfiles[/url] and [url=http://logs.tf/json/239800]reading the stats[/url].
It uses [url=http://tftrue.redline-utilities.net/]TFTrue[/url] or [url=http://teamfortress.tv/thread/13598/?page=1#post-1]F2's sourcemod plugins[/url] on the server side to [url=https://github.com/zooob/logstf-spec]add the extra information to the logs[/url] and upload the logs to logs.tf.[/quote]

Holy f... that makes things so much easier. Thanks!
22
#22
1 Frags +

Does anyone maintain records of which matches are posted in which logs.tf links? The best I've done so far was to look on the match pages of the ETF2L web site. Someone usually posted a link to the log file in there.

Does anyone maintain records of which matches are posted in which logs.tf links? The best I've done so far was to look on the match pages of the ETF2L web site. Someone usually posted a link to the log file in there.
23
#23
2 Frags +
synchroThe bottom line is this: you can't do damage if you don't hit your shots. I never said having low DPM explicitly makes you bad, just that having high DPM tends to mean you're doing well. It's the only statistic, in my opinion, that can stand on its own and still hold value, but it certainly isn't the only thing you should look at to determine skill.

DPM has an interesting (IMO) property, in that if you do higher DPM so does your opponent. High DPM shows a willingness to engage in fights (which is what also causes your opponent to increase theirs as they fight back) but not necessarily the ability to finish them.

[quote=synchro]The bottom line is this: you can't do damage if you don't hit your shots. I never said having low DPM explicitly makes you bad, just that having high DPM tends to mean you're doing well. It's the only statistic, in my opinion, that can stand on its own and still hold value, but it certainly isn't the only thing you should look at to determine skill.[/quote]
DPM has an interesting (IMO) property, in that if you do higher DPM so does your opponent. High DPM shows a willingness to engage in fights (which is what also causes your opponent to increase theirs as they fight back) but not necessarily the ability to finish them.
24
#24
2 Frags +

What would be great is real-time stats during the match, and afterward being able to go back and look at a certain period of time in a match. I think it'd enable some interesting stats like who is initiating contact first (to Jon's point in #23 about DPM), average heals (how well is a medic triaging injured teammates), just to name a couple.

What would be great is real-time stats during the match, and afterward being able to go back and look at a certain period of time in a match. I think it'd enable some interesting stats like who is initiating contact first (to Jon's point in #23 about DPM), average heals (how well is a medic triaging injured teammates), just to name a couple.
25
#25
2 Frags +
LKincheloeWhat would be great is real-time stats during the match, and afterward being able to go back and look at a certain period of time in a match. I think it'd enable some interesting stats like who is initiating contact first (to Jon's point in #23 about DPM), average heals (how well is a medic triaging injured teammates), just to name a couple.

I'm also working on an SQL database to store the [data](http://pastebin.com/a0fXRSYD) that can be found in a TF2 log file. An up do date ER diagram is linked in the first post on [this thread](http://teamfortress.tv/thread/17341/help-with-tf2-database-design/?page=1). If I ever pull this off, the stats you mention could be computed with a couple of SQL commands.

[quote=LKincheloe]What would be great is real-time stats during the match, and afterward being able to go back and look at a certain period of time in a match. I think it'd enable some interesting stats like who is initiating contact first (to Jon's point in #23 about DPM), average heals (how well is a medic triaging injured teammates), just to name a couple.[/quote]

I'm also working on an SQL database to store the [data](http://pastebin.com/a0fXRSYD) that can be found in a TF2 log file. An up do date ER diagram is linked in the first post on [this thread](http://teamfortress.tv/thread/17341/help-with-tf2-database-design/?page=1). If I ever pull this off, the stats you mention could be computed with a couple of SQL commands.
26
#26
2 Frags +

I'm gonna agree with synchro that DPM is the most valuable stat. It's definitely not infallible and definitely not the end-all-be-all of stats, but I think it can most accurately represent a players contribution to the team when scaled with other relevant stats for their class/role.

When I read stats I usually read DPM, then medpicks, then heals received, and make my judgement on my performance from that. If I'm doing low DPM but killing the med a lot, then I (hope) I'm playing roamer, or doing a roamers job. And if I wasn't able to do either then I (hope) I wasn't getting enough heals. If they don't seem congruent then I check the other stats to try to diagnose the problem.

There isn't a single role where high DPM is bad. To me, it represents your presence as a player. It shows that you apply pressure and occupy space, the latter being maybe the most important part of TF2. I don't really agree that you can fudge DPM stats like Scrimshaw described. Firstly spamming chokes is important, and all damage is good damage. If you're hitting things in choke during a hold, then they have to stop and heal up again every time. I also don't think that playing passively and baiting your team alone produces high DPM (as I proved yesterday, sssssorry teammmm). If they're getting high DPM I think it's usually safe to assume that, in this some cases at least, they're playing appropriately.

I've always liked to analyze stats and I think it's possible to build a program to do it, but I do think that it would have to be very complicated. So many factors can influence stats that every roles stats would have to be measured and compared to all the other players on his team, and each of their stats. Sometimes it's okay to have low DPM or a lot of deaths, sometimes that's actually what you should be doing. And sometimes heals aren't being passed around and nobodies doing damage so you're always 1v1ing fully buffed enemies, and there's not a lot you can do there. I don't think it's possible to make a foolproof program but I think it would be interesting to try.

I'm gonna agree with synchro that DPM is the most valuable stat. It's definitely not infallible and definitely not the end-all-be-all of stats, but I think it can most accurately represent a players contribution to the team when scaled with other relevant stats for their class/role.

When I read stats I usually read DPM, then medpicks, then heals received, and make my judgement on my performance from that. If I'm doing low DPM but killing the med a lot, then I (hope) I'm playing roamer, or doing a roamers job. And if I wasn't able to do either then I (hope) I wasn't getting enough heals. If they don't seem congruent then I check the other stats to try to diagnose the problem.

There isn't a single role where high DPM is bad. To me, it represents your presence as a player. It shows that you apply pressure and occupy space, the latter being maybe the most important part of TF2. I don't really agree that you can fudge DPM stats like Scrimshaw described. Firstly spamming chokes is important, and all damage is good damage. If you're hitting things in choke during a hold, then they have to stop and heal up again every time. I also don't think that playing passively and baiting your team alone produces high DPM (as I proved [url=http://sizzlingstats.com/stats/204889]yesterday[/url], sssssorry teammmm). If they're getting high DPM I think it's usually safe to assume that, in this some cases at least, they're playing appropriately.

I've always liked to analyze stats and I think it's possible to build a program to do it, but I do think that it would have to be very complicated. So many factors can influence stats that every roles stats would have to be measured and compared to all the other players on his team, and each of their stats. Sometimes it's okay to have low DPM or a lot of deaths, sometimes that's actually what you should be doing. And sometimes heals aren't being passed around and nobodies doing damage so you're always 1v1ing fully buffed enemies, and there's not a lot you can do there. I don't think it's possible to make a foolproof program but I think it would be interesting to try.
27
#27
3 Frags +

The problem with looking at stats is that due to differing playstyles, it's impossible to make comparisons of individual players across different teams. You can easily look at a team's total damage/frags/health and have a pretty good idea of who won, and you can make comparisons between a single player's performances to see when they had a good or bad game, but it's not easy to look at player 1 for team A and compare them to player 2 for team B.

I've played on teams where the pocket was the main damage dealer and did 350+ dpm every game. The demo on that team didn't do much damage or get a whole lot of frags, but he was a huge part of why we had success by locking down chokes and allowing the pocket to stay in spam battles a little longer without worrying about someone chasing him through the choke. On that team, the scouts got a ton of buffs so they were able to play a little more aggressively on the flank, leading to more dpm but not that many more kills.

On another equally successful incarnation of the team, all of the damage came from the demo, and the pocket acted more as a meatshield/bodyguard. The scouts didn't get as many buffs, so their damage wasn't as high, but they worked a lot more with the soldiers and their frag totals were generally a bit better.

As far as I can tell there isn't really a great way to show that the players on those teams were about equal. Perhaps it's possible with some of the stuff you can get from log files. I liked kace's ideas about Average Time of Death on Midfight, that's a pretty concrete way to determine a team's success regardless of playstyle. If you're losing your scouts or demo early on mid, you're generally going to be less successful than if they stayed alive.

I do want to wish you luck with this project, it'd be awesome to be able to look at logs and get a better picture of what went right and what went wrong.

The problem with looking at stats is that due to differing playstyles, it's impossible to make comparisons of individual players across different teams. You can easily look at a team's total damage/frags/health and have a pretty good idea of who won, and you can make comparisons between a single player's performances to see when they had a good or bad game, but it's not easy to look at player 1 for team A and compare them to player 2 for team B.

I've played on teams where the pocket was the main damage dealer and did 350+ dpm every game. The demo on that team didn't do much damage or get a whole lot of frags, but he was a huge part of why we had success by locking down chokes and allowing the pocket to stay in spam battles a little longer without worrying about someone chasing him through the choke. On that team, the scouts got a ton of buffs so they were able to play a little more aggressively on the flank, leading to more dpm but not that many more kills.

On another equally successful incarnation of the team, all of the damage came from the demo, and the pocket acted more as a meatshield/bodyguard. The scouts didn't get as many buffs, so their damage wasn't as high, but they worked a lot more with the soldiers and their frag totals were generally a bit better.

As far as I can tell there isn't really a great way to show that the players on those teams were about equal. Perhaps it's possible with some of the stuff you can get from log files. I liked kace's ideas about Average Time of Death on Midfight, that's a pretty concrete way to determine a team's success regardless of playstyle. If you're losing your scouts or demo early on mid, you're generally going to be less successful than if they stayed alive.

I do want to wish you luck with this project, it'd be awesome to be able to look at logs and get a better picture of what went right and what went wrong.
28
#28
serveme.tf
1 Frags +
LKincheloeWhat would be great is real-time stats during the match, and afterward being able to go back and look at a certain period of time in a match. I think it'd enable some interesting stats like who is initiating contact first (to Jon's point in #23 about DPM), average heals (how well is a medic triaging injured teammates), just to name a couple.

I already built a system that collects the data for these kind of stats from live matches. It's just used for live damage/kills stats in streams right now, you can see an example here. The "top damage this round" and "top kills this round" are collected live from the gameserver and delayed by 90 seconds to sync up with SourceTV.
That same system already collects all kinds of other data you can get from TF2 log lines, just never gotten around to write something cool for those.

[quote=LKincheloe]What would be great is real-time stats during the match, and afterward being able to go back and look at a certain period of time in a match. I think it'd enable some interesting stats like who is initiating contact first (to Jon's point in #23 about DPM), average heals (how well is a medic triaging injured teammates), just to name a couple.[/quote]

I already built a system that collects the data for these kind of stats from live matches. It's just used for live damage/kills stats in streams right now, you can see an example [url=https://www.youtube.com/watch?v=GxEqtEekFLU&feature=youtu.be&t=11m1s]here[/url]. The "top damage this round" and "top kills this round" are collected live from the gameserver and delayed by 90 seconds to sync up with SourceTV.
That same system already collects all kinds of other data you can get from TF2 log lines, just never gotten around to write something cool for those.
29
#29
0 Frags +
ArieLKincheloeWhat would be great is real-time stats during the match, and afterward being able to go back and look at a certain period of time in a match. I think it'd enable some interesting stats like who is initiating contact first (to Jon's point in #23 about DPM), average heals (how well is a medic triaging injured teammates), just to name a couple.
I already built a system that collects the data for these kind of stats from live matches. It's just used for live damage/kills stats in streams right now, you can see an example here. The "top damage this round" and "top kills this round" are collected live from the gameserver and delayed by 90 seconds to sync up with SourceTV.
That same system already collects all kinds of other data you can get from TF2 log lines, just never gotten around to write something cool for those.

Is there a "logs.tf" JSON schema available? It's easy enough to read the JSON files themselves in my app, but it would help me a lot to know its hierarchical structure.

[quote=Arie][quote=LKincheloe]What would be great is real-time stats during the match, and afterward being able to go back and look at a certain period of time in a match. I think it'd enable some interesting stats like who is initiating contact first (to Jon's point in #23 about DPM), average heals (how well is a medic triaging injured teammates), just to name a couple.[/quote]

I already built a system that collects the data for these kind of stats from live matches. It's just used for live damage/kills stats in streams right now, you can see an example [url=https://www.youtube.com/watch?v=GxEqtEekFLU&feature=youtu.be&t=11m1s]here[/url]. The "top damage this round" and "top kills this round" are collected live from the gameserver and delayed by 90 seconds to sync up with SourceTV.
That same system already collects all kinds of other data you can get from TF2 log lines, just never gotten around to write something cool for those.[/quote]

Is there a "logs.tf" JSON schema available? It's easy enough to read the JSON files themselves in my app, but it would help me a lot to know its hierarchical structure.
30
#30
Momentum Mod
4 Frags +

http://play.esea.net/index.php?s=stats&d=match&id=3648984

I remember watching this at the half. The jews were leading 3-1 while doing 3000 less damage and having 25 less frags.

Take what benk said above:

Benkthey are pretty much completely meaningless unless something is massively away from the norm like someone going 5:20 or doing 100 dpm or something.

It is kind of worrisome that teams look for people with high damage outputs or good k/d's to consider them for teams now. How should you play in your tryout? Try to get the most damage out by baiting/dive bombing at retarded times, or play a smarter game?

http://play.esea.net/index.php?s=stats&d=match&id=3648984

I remember watching this at the half. The jews were leading 3-1 while doing 3000 less damage and having 25 less frags.

Take what benk said above:
[quote=Benk]they are pretty much completely meaningless unless something is massively away from the norm like someone going 5:20 or doing 100 dpm or something.[/quote]

It is kind of worrisome that teams look for people with high damage outputs or good k/d's to consider them for teams now. How should you play in your tryout? Try to get the most damage out by baiting/dive bombing at retarded times, or play a smarter game?
1 2
Please sign in through STEAM to post a comment.