baldrickk / replay_team_balance Goto Github PK
View Code? Open in Web Editor NEWA tool to check the average WG ratings of your teams vs your enemies teams from World of Tanks
License: MIT License
A tool to check the average WG ratings of your teams vs your enemies teams from World of Tanks
License: MIT License
The percentage difference calculation always takes the green team as base. This leads to an error in calculating the difference in strength between the teams.
Example:
green team rating: 10
red team rating: 15
diff = 100*(10-15)/10 = -50%
red team rating: 15
green team rating: 10
diff = 100*(15-10)/15 = 33.33%
I would say that for teams the difference is the same, it is only reversed.
Therefore I changed the logic like this:
def percent_diff(a, b):
base = b
if a < b:
base = a
return 100*(float(a)-float(b))/float(base)
I am having a problem I hope you can help me with.
I run the program:
replay_analyser.py dir f:\WOT_REPLAYS\
It loads the replays, finds the players and writes to the cache - then I get:
Traceback (most recent call last):
File "F:\APPS\WOT Replay Analyser\replay_team_balance-master\replay_team_balan
ce-master\replay_analyser.py", line 438, in
main()
File "F:\APPS\WOT Replay Analyser\replay_team_balance-master\replay_team_balan
ce-master\replay_analyser.py", line 431, in main
team_ratings = team_average_ratings(replays, cache)
File "F:\APPS\WOT Replay Analyser\replay_team_balance-master\replay_team_balan
ce-master\replay_analyser.py", line 121, in team_average_ratings
team_ratings.append(team_rating(teams, replay_team))
File "F:\APPS\WOT Replay Analyser\replay_team_balance-master\replay_team_balan
ce-master\replay_analyser.py", line 98, in team_rating
return ({'green team': mean(teams[replay_team]),
TypeError: list indices must be integers or slices, not NoneType
Can you advise please.
Thanks,
Ark'
Would be interesting to see how often a game with a 12 tank (or whatever) score difference occurs and what the 'skill' difference is in these 'landslides' to see where the correlations lie between the two.
It seems that the weigthed mode does work really well with older replays and therefore crash.
Problems seen:
Tanks names not being recognized: I have 129 different tanks, in my replays which are not being matched on a 100% basis (see attachment for tank names). These tanks come from replays within versions 0.9.13 #61 till 0.9.15.0.1 #45. When matching with an endswith than those are being matched, however we cannot be 100% sure that the correct tier is always returned I think (old tank / current tank definition; some of the lights were changed tier I believe)
The tier spread is larger than +2, since for lights also +3 can be seen. This can be easily fixed by adding more weights to the weight list.
I made an earlier pull request to make the tank weight determination a little more robust, but that maybe was not a solid solution.
Question is how to resolve this. Prevent the weigthing for earlier replays or extend the mechanism?
unrecognized-tank-names.txt
Hi Baldrickk,
Could find out how to create a branch and push the changes back or via pull request...
But these are some minor problems in the file right now:
Line 210 should be:
def cache_players_from_replays(directory, application_id):
Line 229 should be:
cache_players_from_replays(directory, application_id)
Regards,
forkboy1 (in WoT)
I'm not sure if this is a bug or a feature.
For most users, this will not affect them at all. The cache contains only the players that they are analysing.
If they then analyse a subset of players, or someone elses replays, they will then see all players, but the usefulness of this graph is more that it shows (roughly) the distribution of players on the server (with enough replays at different times and tiers) than just the quality of the players in the subset.
I'll leave this open for now while I try and decide whether to base this graph on the cache, the replays beieng analysed, or just do both.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.