Loading...
  OR  Zero-K Name:    Password:   

Spring Stats Viewer

25 posts, 2473 views
Post comment
Filter:    Player:  
Page of 2 (25 records)
sort
13 years ago
Discussed in chat earlier, here it is, the first release of the Spring Demo File Statistics Viewer.

SpringStatsViewer is a small program that allows you to view the player statistics and graphs you normally get to see at the end of the game without having to replay the whole game.

To use it, you must have a working python installation with working tkinter and Tix modules. The standard python distribution for 2.7 on Windows includes it.

Currently only tested with Python 2.7.2 on Windows 7, but should work on other platforms too.

You can get it here:

http://springfiles.com/spring/tools/spring-stats-viewer
+0 / -0

13 years ago
Can we make a version that strips chat logs into a plain text file? I would be very interested in a version that could do that.
+0 / -0


13 years ago
If you transmit those data to chat, i can make central server gather,store and display it on battle page.
+0 / -0

13 years ago
That would be AWESOME!

Also Licho, why do some games not have a download link?
+0 / -0
13 years ago
Yeah, I can probably extract chat and labels too.
+0 / -0


13 years ago
Engine fails to report gameid. Its possibly fixed in next version
+0 / -0
13 years ago
Extracting chat is quite possible indeed:

>>> for i in r.demorecords:
... if len(i.data) >= 3 and ord(i.data[0]) == 7 and ord(i.data[3]) != 255:
... print str(i.gametime) + ': ' + playername(ord(i.data[2])) + '->'
+ playername(ord(i.data[3])) + ' msg:' + i.data[4:]
...
0.285000026226: 255->254 msg:[Skasi]HAHA
0.285000026226: 255->254 msg:[Skasi]now godde has all the nubs wuahahaha
0.285000026226: 255->254 msg:[Skasi]:)
3.07800102234: [SPQR]Edlennion->252 msg:I choose: Steve!
13.7549915314: [V]SeoAiri]0K[->252 msg:I choose: tami!
14.607998848: 255->254 msg:[VALTIO]gl0g has left lobby
17.18400383: [NC]Gretchen->252 msg:I choose: Goldilocks!
20.1000232697: [VALTIO]Varikonniemi->252 msg:I choose: support com!
21.136013031: iMassacre->252 msg:I choose: Commander 2!
27.3590373993: krist->252 msg:I choose: XPKF!
43.4466171265: [DrK]Krudor->252 msg:I choose: ThzNts!
51.4099464417: [VALTIO]Varikonniemi->252 msg:I choose: support com!
54.5107078552: [RIIA]DieHardDeus->252 msg:I choose: Dell Conagher!
60.8002815247: [NC]Gretchen->252 msg:wouldnt call Krudor a nub tho
115.550720215: 255->254 msg:Game will be force started in 109 seconds
117.150184631: [V]SeoAiri]0K[->252 msg:skasi in?
122.703071594: Godde->252 msg:I choose: Builder3!
133.694381714: Skasi->254 msg:skasi is for nubs
135.105117798: [NC]Gretchen->252 msg:I see his dot moving
135.542037964: 255->254 msg:Game will be force started in 89 seconds
155.530471802: 255->254 msg:Game will be force started in 69 seconds
173.861343384: Skasi->252 msg:I choose: Zomg I'ma UNDERCOVER!
175.553359985: 255->254 msg:Game will be force started in 49 seconds
179.451293945: Skasi->252 msg:meh goin west
182.833831787: Skasi->252 msg:aaaaaall the way west
195.527801514: 255->254 msg:Game will be force started in 29 seconds
213.728500366: Godde->254 msg:mm...
215.543136597: 255->254 msg:Game will be force started in 20 seconds
217.516891479: Godde->254 msg:do we get his com?
219.620422363: Skasi->254 msg:glog dropped
221.004226685: Godde->254 msg:or what happens?
226.943099976: Skasi->254 msg:you get it after 2 mins if he didnt place
233.94102478: Godde->254 msg:meh
235.16784668: [NC]Gretchen->254 msg:what Skasi said
249.040908813: Skasi->254 msg:it was changed to 30 secs in latest version, but t
hat ones not stable yet
267.440917969: Skasi->252 msg:kill fleas with glaive
271.240905762: Skasi->252 msg:dont spamm porc
281.80758667: [VALTIO]Varikonniemi->254 msg:what was
310.007568359: Skasi->254 msg:godde so predictable
342.774230957: Skasi->252 msg:godde has a spy
346.574249268: Skasi->252 msg:he can emp your comm so watch out
442.607574463: Skasi->254 msg:troll
464.107574463: Skasi->254 msg:hahaha u dun get me nub
477.040893555: [V]SeoAiri]0K[->254 msg:massacre
477.040893555: [V]SeoAiri]0K[->254 msg:massacre u here?
477.040893555: iMassacre->254 msg:here
477.040893555: [V]SeoAiri]0K[->254 msg:unpause
543.807556152: 255->254 msg:[Omega]qwerty3w has left lobby
589.107543945: Skasi->254 msg:geez
601.474243164: 10->254 msg:lol
611.274230957: 10->254 msg:no more comm
701.874267578: 255->254 msg:yurit1337 has left lobby
833.807617188: [VALTIO]Varikonniemi->254 msg:zk bugs out too much
844.640930176: Skasi->254 msg:+1
844.774230957: [VALTIO]Varikonniemi->254 msg:some lua spam continuously
936.640930176: 255->254 msg:Godde has left lobby
1013.14093018: Skasi->254 msg:ah well gg or sth
1030.34094238: [RIIA]DieHardDeus->254 msg:As you can see, I didn't need to expan
d west.
1046.10754395: Skasi->254 msg:you should have, diehard ;)
1049.17419434: 255->254 msg:[[20]Blackdutchie]As you can see, planetwars is EMPT
Y!
1055.84094238: [RIIA]DieHardDeus->254 msg:Yes but you said it so thus I didn't.

1056.57421875: Skasi->254 msg:game wouldve been easier and you wouldve been usef
ul :)
1101.64086914: Skasi->254 msg:err its not cause i told you to
1146.47424316: Godde->252 msg:I choose: ComKiller!
1163.27416992: Skasi->254 msg:Kimbo youre last
1211.64086914: 255->254 msg:[DrK]Krudor has left lobby
1220.17419434: 255->254 msg:Ahira has left lobby
1229.97424316: Kimbo->254 msg:LOOK BAD
1250.44091797: Skasi->254 msg:Kimbo youre last
1290.94091797: 10->254 msg:lol
1296.50756836: 255->254 msg:Game over, exiting
>>>

Just a teaser
+0 / -0

13 years ago
Thanks Gretchen! Once that data gets cleaned up a bit it should be really easy to include chat logs in the logged battles.

NEATO
+0 / -0

13 years ago
Gretchen you are a hero.

I think a website stats page can completely replace the engine one. Just let the game end with a large "Victory!" or "Defeat" banner and then bring up the endgame stats page when done.

It is so much easier to chat about stats anyway without the laggy endgame-state engine running, and now you can quit spring after resigning (or else crash) and still see ingame stats.
+0 / -0


13 years ago
Oh we already store full chat histories of all games played as well as some statistics data - those are mostly unit damages for modstats system used in balancing.
+0 / -0
13 years ago
It's always hard to distinguish between teal and white - no legend who has which color at all.
It's also mostly impossible to figure out the delta-stats of the beginning of a long ressource heavy game.

If you can preview the chat and the time when ppls was talking about something, you have it much easier to speed up the game and slow it down at exactly this moment ( We don't have time machines to spectrate an earlier time once passed ).

I hope we can also add some filters over the non-delta team stats.
Balance the top points and ramps toward the average to get a cleaner view.
+0 / -0
13 years ago
luckywaldo wrote:

It is so much easier to chat about stats anyway without the laggy endgame-state engine running, and now you can quit spring after resigning (or else crash) and still see ingame stats.

To which my reply is: not quite.

The spring stats viewer as is works on the demo files recorded on your hard drive and they have to be complete (a.k.a. the game must run to completion) for the stats to be recorded. When you quit early, the stats are not recorded in your local demo file.

However, the class library that parses the file can work on the server too, provided that the demo file is complete on the server (a.k.a. no crash or death of springie / planetwars), you would then need a different front end to serve it up as a webpage. I have no dev rights so I cannot possibly do that (let alone that the class library is in Python and the web page engine is ASP.NET?)
+0 / -0
13 years ago
Licho wrote:

Oh we already store full chat histories of all games played as well as some statistics data - those are mostly unit damages for modstats system used in balancing.

To which my reply is:

The spring stats viewer does not use the unit damages sent by the game to springie and on which, afaik, the awards are based, and which are presumably stored in the database. Instead it uses the same data recorded in the demo file on the local hard drive of the player that the end game stats uses, entirely Spring engine based. In fact, there is quite some discrepancy between the two (the damages reported to springie and the damages collected by the Spring engine).

Googlefrog or KR told me that the data collected by the Spring engine is off without going into any details.
+0 / -0


13 years ago
Discrepancy is probably because you dont distinguish it properly. We have special cases for EMP damage, for various weapons like mines and for overkill (damaging more than unit remaining HP) etc.
Those are not reported properly by engine and must be "fixed".

Awards and modstats work independently too.
+0 / -0
13 years ago
Licho wrote:
--------

Discrepancy is probably because you dont distinguish it properly. We have special cases for EMP damage, for various weapons like mines and for overkill (damaging more than unit remaining HP) etc.
Those are not reported properly by engine and must be "fixed".

Awards and modstats work independently too.
--------

Problem is that modstats only sends the data it has collected during the game at the end of the game so you cannot make a graph of the damage dealt over time. Also it does not provide information on who (player) did damage to whom (player) using attacker (unit type) against victim (unit type), so it really is only useful for gathering overall balance statistics.

I also noticed that there is a lot of duplication of modstats in the demo file.
+0 / -0
13 years ago
it would be funny to see another elo-gain for eco-killing and offensive players which uses the units in a way that they get heros instead letting them die.
+0 / -0
12 years ago
I just uploaded version 0.2.0 of the standalone stats viewer to springfiles:
- it fixes a number of bugs in the previous version
- it works for engine version 0.83, 0.84 and 0.85 too
- it now features a chat log
- it also features a display of awards, unitstats and modstats recorded in the demo file (ZK-only)
I actually finished it quite a while ago, but did not get round to uploading it yet due to RL interference.
+0 / -0

12 years ago
Cool!
+0 / -0
12 years ago
Hi, [S44]Nemo here. Playing with this - got it running pretty easily under ubuntu, but two questions, if you have a moment.

1) What does "version 4" related to? Spring 0.84? I tried changing that particular check to '5' (line 219 of SpringDemoFile.py), which led to the next error:
2) Demo has length 352, expected 112. This might be a result of my blind tweaking of the above, but I'd be excited to get this working so I could start harvesting stats from demo collections.

Thanks!
+0 / -0
[AG]abma
12 years ago
NLrank[NC]Gretchen:

anything against putting spring stats viewer to github?
+0 / -0
Page of 2 (25 records)