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

zkstats: 1v1 Matchmaking Statistics

20 posts, 2254 views
Post comment
Filter:    Player:  
sort
5 years ago
This has been running for a while now, but I've only recently been reminded that I neglected to also post this on the forums.

https://zkstats.antihype.space/

The source is available at https://github.com/esainane/zkstats/

Almost all elements are clickable and will filter other dimensions.

Map categories were added very recently and are quite experimental. The mappings can be found at https://github.com/esainane/zkstats/blob/master/public/data/map-types.json - any suggestions or corrections would be more than welcome.

Suggestions or corrections in general would also be more than welcome, of course.
+21 / -0
Funny how you can see the second factory transition from Strider Hub to Gunship to Air as Elo increases.

Really nice interface btw!
+3 / -0
4 years ago
There was an unusual replay blocking updates. This has now been fixed. Regular processing should finish catching up on the backlog and resume in about four hours.
+2 / -0
USranknop
4 years ago
This is really cool, it's nice to be able to point to a graph to show how balance interactions are working or not working.

Would be nice to see charts of metal spent on each unitdef in winning/losing games, to identify which units are monospammed or are not being used.
+0 / -0


4 years ago
While I'm not much of a statistician, I figured I'd take a bit of a look. Some random findings looking at the last 3 months:

Looking at 2200+ elo with a +/-200 elo advantage for the winner (still kinda even skill) Just about every factory is viable somewhere, with a slight advantage to Shieldbots vs Any (55-45), but overall everything is fairly even. Spiders was surprisingly viable against Rovers, though.

Looking at ~1600 elo (the biggest elo block on the histogram) with a +/- 200 elo advantage for the winner, Rovers have a 75% chance to win, while Shieldbots, Amphbots, and Tanks also have an advantage, while Hovercraft doesn't work (probably because Daggers take a lot of practice to use well).

At the highest levels Shieldbots become quite reliably useful, but everything is overall still pretty close to 5-5 matchups.

The first 3 months of stat collection also show much stronger matchup advantages along all of the above lines, so I guess the matchup stats present a positive trend in game balance.
+4 / -0
4 years ago
Implemented and added experimental scaling of each row and column in the matchups chart by relative popularity.

You can now:
  • Watch the popularity of Rover explode in mid-high ranks, then quickly drop off above that.
  • Watch Hover instantly get discarded at all levels as soon as you look at maps with even light hills.
  • Boggle at Cloaky actually appearing to become slightly less popular, relatively speaking, since the big patch hit. ...really?

The box within each row/column is still scaled to indicate lack of significance if there are very few matchups available, which is possibly redundant with this new presentation.

The Matchups chart now conveys an extremely dense amount of information. If you want the old behaviour, type the following into the console:

m=charts.get('matchups')
m.sizeByPopularity(false)
m.redrawGroup()
+1 / -0
4 years ago
Also, FrostyCove v1.11 and Vantage v1.0 are now classified as Light Hills, rather than Hills.

Vantage v1.1 has been added, classified as Light Hills.
+1 / -0
Blockage on Multiplayer B836420 2 on Gecko Isle 1.1 fixed.
+1 / -0
4 years ago
Added the new matchmaking maps.

Someone yell at me about adding a new "Cliffs" map type category if that's not done in a day or two.
+1 / -0
4 years ago
*yells in conquistador*
+0 / -0
4 years ago
We've now hit over 10k matches processed!

[Spoiler]
+3 / -0
4 years ago
The recent blocking issue should be fixed. People can also now check a status endpoint to see if things are currently broken. Ignore the off-by-one for now.

There's also a done-when-its-done page for tracking the most basic facets of team games, which is currently showing the relative popularity of group balance teams versus solo balance teams throughout the day. Not terribly usable, no labels or anything remotely friendly, but it should still be an improvement over manually polling the replays page.
+6 / -0
Could you please mention here at least what is blue (top) and what is yellow (bottom) for tracking the most basic facets of team games?
+0 / -0

4 years ago
Group balance is in blue on the top I assume since there is no yellow earlier than a week or so ago.
+1 / -0
4 years ago
Fascinating!
+0 / -0
4 years ago
It's interesting that if you restrict the loser's elo rating to 2200+, the first factory with the highest performance is the Gunship Factory. It seems to be a pattern of using a lot of Locusts to out-raid the opponent on maps where the opponent might use hovercrafts: Adansonia, Leyline, Firebreak, Crubick Plains. Not necessarily even involving an early fac switch.
+0 / -0
4 years ago
zkstats now optionally supports displaying the game duration logarithmically:



This can be selected when loading the page by putting a | joined list of optional features after a # while loading the page.

For example (using the only two currently available optional features): https://zkstats.antihype.space/#popularity|logtime
+4 / -0
4 years ago
Logtime is now unconditional.
+3 / -0
2 years ago
The title text for matchups now takes the format "Factory vs Factory: W:L (R%)" rather than "Factory,Factory: W,L (R%)". This should hopefully avoid confusion for those used to seeing comma used as the decimal point, as well as being much more readable in general.

The Zero-K version chart now sorts in order of the version, rather than the number of games played in that version. There is somewhat fragile massaging around placing the "Zero-K 1.8.4.2" formatted versions amidst the "Zero-K v1.9.1.0" formatted versions (._.), so please let me know if there's anything very broken here.

Thanks to PLrankZenfur for the recommendations.
+3 / -0
2 years ago
This was apparently broken for about a month. This was caused by changes in the how the engine is distributed, and by engine version 105.1.1-798-gae7f0f8 crashing.

All replays created under 105.1.1-798-gae7f0f8 have been skipped. They can be readded later if I (or anyone else) can work out why these crashes happen, and how to work around them.

Crash log:
[Spoiler]
+0 / -0