PDA

View Full Version : Calculated Skill Ratings



adeqd
05-18-2010, 07:33 AM
Calculated Skill Ratings


Hi, this is the first mod i ever made and my english is bad, so pls be nice :smile:

Especially now that all stats have been reseted, the PSR of most players dosent show their real skills which sometimes leads to inbalanced games.
This mod offers an alternative skill rating value: CSR ( Calculated Skill Rating)

Description:
This mod calculates a skill value based on the players stats and shows it in the gamelobby and the stats window.



http://i41.tinypic.com/2r7vj3a.png


http://i39.tinypic.com/cs20.png

The formula for the CSR is a little complicated, so Im not going to explain it here but in general the influence of the stats is splited like this:
50% PSR
25% Win%
25% Kills + Assists - Deaths

Edit:
ok,here is the current formula:

35 * (kills + assists - daeths) / played games + PSR - 50 * em games / played games + 600* wins / (10 + games played) - 500

Installation:
The mod was designed to be a part Rizel?s "Improved Frizzled K: D Mod", so dont forget to download his mod first!

http://forums.heroesofnewerth.com/showthread.php?t=80196&highlight=frizzled

After the installation you will also have to activate the mod, you can find it at the very end of the "Improved Frizzled K: D Mod" options window

http://i40.tinypic.com/bijm6r.png

Download:
v1.2 http://www.mediafire.com/?yhtouml5nzo (.honmod)
NOTE: v2.3 (!!!) of Improved Frizzled K: D Mod is required

Changelog:

v1.2 - adjused the formula to be closer to range of PSR ratings ( ->CSR will be between 1300 and 1900 now)
v1.1 - fixed to be compatible with the new Improved Frizzled K: D Mod v2.3
v1.0 - release

Taggsvamp
05-18-2010, 08:11 AM
Seems nice :D Gonna try it out soon :D

Teboga
05-18-2010, 08:18 AM
Seems nice indeed, but I really would like to know the formula you used there. Please post it.

Thanks.

Qgel
05-18-2010, 08:20 AM
Seems nice indeed, but I really would like to know the formula you used there. Please post it.

It's already in his first post...

dete
05-18-2010, 08:29 AM
works fine, but 1 question:
how to see if some1 is good? More then 500CSR is good?

adeqd
05-18-2010, 09:02 AM
this is the current formula:

35 * (kills + assists - daeths) / played games + PSR - 50 * em games / played games + 600* wins / (10 + games played) - 1500

I guess a very good player would have an CSR about 800-900

roflwtfbbq
05-18-2010, 09:49 AM
Got this Error when trying to Apply Mods:

http://www.abload.de/thumb/error65tp.jpg (http://www.abload.de/image.php?img=error65tp.jpg)

adeqd
05-18-2010, 10:12 AM
Got this Error when trying to Appy Mods:

get the the latest version of Improved Frizzled K:D mod and try again :)

Talantelorr
05-18-2010, 10:22 AM
I get the following error because I am using PB stats at the same time.

http://img7.imageshack.us/img7/3681/csr.png

Teboga
05-18-2010, 11:05 AM
Thankyou for the formula, it's nice and balanced. It just seems to me that the influence of each factor (PSR, win%, K:D:A) is more like 33/33/33 than 50/25/25.

I like the way you made the win% be more realistic the more games you have, and also the points removed from EM players. Though I would remove 100 points from EMers instead of 50.

I like this mod very much and I'm gonna try it ASAP.

Hollenhoe
05-18-2010, 02:11 PM
its a really good idea:) good job..i hope that someone will find the perfect skill calculation method since i think the current one is not the best.

HeavySoul
05-18-2010, 03:57 PM
This is a good idea, but people are used to the rating scale that PSR and SMR use. You need to tweak the formula so that it matches PSR in it's rating scale.

What I mean is:
chu should have a CSR that's about the same as, or even higher than, his PSR.
NoobyMcNooberson should have a CSR lower than his PSR.

Said another way: 1500 should be average, 1300 should be poor, 1700 should be better. Don't make people learn a new measurement.

Batchman
05-18-2010, 04:19 PM
suggestion: take his psr as base and than add or sub points based on other stats = real psr

i mean csr is nice, but u need to learn whole new way of evaluating players based on that

just saying :)

Teboga
05-18-2010, 07:31 PM
OK, I have a suggestion to make the CSR be based on the standard PSR range:

+ PSR
+ (((kills + assists - deaths * 1,7) / deaths) - 1 )) *50
- em games * 100 / total games
+ ((wins * 100 / total games) - 50 ) * 2



If your K+A/D is bigger then 1,7 you gain CSR, if it's lower you lose.
For each 1% EM games you have you lose 1 point on CSR.
If you have more then 50% win you gain CSR otherwise you lose.

Examples:

PSR - 1600 - 1600 - 1600 - 1600 - 1600
K/D/A - 1/1/1,7 - 0,8/1/1,6 - 1/1/1,7 - 1/1/1,7 - 1,2/1/2
EM games - 0% - 0% - 30% - 0% - 0%
Win ratio - 50% - 50% - 50% - 60% - 50%
CSR - 1600 - 1585 - 1570 - 1620 - 1625

It seems pretty solid to me and people can still refer to the PSR values they are used to.

Please adeqd tell me what you think of that.

Cheers.

`SunTzu
05-18-2010, 07:35 PM
teboga has a good idea :D

Teboga
05-18-2010, 08:09 PM
So, I took the liberty to open the xml file and edit the formula to the one I suggested above, for my personal use.

The mod still works OK with the new formula, and the results are just what I expected. Only problem is the value it shows now has 4 decimals, and this is quite anoying.

As I'm total new to this, anyone care to tell me how I get the mod to round up the values to get rid of the decimals???

Thanks in advance.

EDIT.: NVM, found my error, it has 0 decimals now, and works like a charm.

Rich_Dawkins
05-18-2010, 08:54 PM
So, I took the liberty to open the xml file and edit the formula to the one I suggested above, for my personal use.

The mod still works OK with the new formula, and the results are just what I expected. Only problem is the value it shows now has 4 decimals, and this is quite anoying.

As I'm total new to this, anyone care to tell me how I get the mod to round up the values to get rid of the decimals???

Thanks in advance.

EDIT.: NVM, found my error, it has 0 decimals now, and works like a charm.

Could you plz post your changes? I've been trying to do what you did, but I can't get it to work.

Nevermind, I got it to work as well.

BlackICE
05-18-2010, 11:08 PM
Doesn't work with the new improved frizzled K:D 2.2

Delfofthebla
05-19-2010, 06:56 AM
Sounds cool, but seems like it's not working right now. Can't wait for an update.

Ambro
05-19-2010, 07:05 AM
Wow, I was actually working on a Team Estimated Skill indicator (TES, for those who'll understand its meaning :D) which would have given a sum of kind-of "CSR"s, but I guess this would be pointless now... =) Thanks for that, if I may, you should add a sum for each team feature (would then be close enough to what I was intending to do ^^). My formulaes (while still working on it) were supposed to be separated for each type of stat (ratios with ratios, CK with CKs, PSR with EM% and NbGames etc etc...) and looked like :
(PSR - 1500) / 100 - [(NumberOfGamesPlayed - 100) / 200 - 1)]

If you're interested in improved your mod in such a way, I'll do my best to help you to get the most polished way to estimate TES possible. I also thought of something like : TES = TES + NbLocks^3
And some others "bonus" if the team was balanced (such as one player with very good score in support oriented stats, etc..)

Possibilites are endless, and such a system could be, with time, a nice replacement to current autobalance.

Gl with that in any way =)

adeqd
05-19-2010, 09:18 AM
is more like 33/33/33 than 50/25/25.I finished the formula before the retail version came out -> the situation was diffrent:
a good player had stats like this: (PSR= 1800, K+A-D =13, Win% = 60%)
But now a good has stats like this : ( PSR=1650, K+A-D = 15, Win% = 75%)
so now it might seems that the influence is 33/33/33, but when PSR will reach their old values it will be more like 50/25/25 again :D

@Ambro,Teboga and [SxH]HeavySoul

You are right, i will think about it and change the formula as soon as i can :D

Delfofthebla
05-19-2010, 09:37 AM
PB Stats does work with the current version of Frizzled KD. I think it would be nice if you could make it compatible :(

adeqd
05-19-2010, 09:55 AM
@ Taboga
Basicaly I like ur ideas, but I guess most of the values need to be tweaked :D

Example:
a good player (PSR=1700, Kills+assists-deaths =15, win% = 65% , Em%= 0)
CSR= 1935
So the influence of the stats based on your formula would be like:

PSR : 88%
K+A-D : 10,5%
Win% : 1,5%

For me, the PSR influence seems much to high and Win% influence much to low.
Also i think that subtracting -100 for a player with 100%Em is to much, if a player
with 100% win has only 100 added to his CSR.

adeqd
05-19-2010, 10:04 AM
PB Stats does work with the current version of Frizzled KD. I think it would be nice if you could make it compatible :(

ok, I just discovered that there are 2 diffrent versions of PB stats, depending on which number ( 1/2) I click behind the download headline :D
Maybe he forgot to update both mirrors? oO

whatever, i will try to make them compantible :)

Hollenhoe
05-19-2010, 10:07 AM
theres a new version of my mod so update it and then try to make it compatible:D

Unreal
05-19-2010, 10:08 AM
yeah, update it plz !!

adeqd
05-19-2010, 10:30 AM
Ok, i just updated CSR to work with the new Improved Frizzled KD Mod v2.3

PB stats dosent seem to work with v2.3 yet

But anyway i have a question to all the PB stats users:

Why do you still need PB stats, Now that Improved Frizzled KD Mod also shows the 5 favorite heros of any player??

BlackICE
05-19-2010, 10:59 AM
I only use PB stats because it puts their most used hero as their picture before the picking phase starts. Its not super important but it is nifty.

bzbz0805
05-19-2010, 12:15 PM
i think this mod currently only work on Hellboune, at least mine does.........

PS: ......and my CSR seem to be great or there is some calculation problems
http://i47.tinypic.com/2crjyvt.png

adeqd
05-19-2010, 03:28 PM
i think this mod currently only work on Hellboune, at least mine does......... this happens because u dont have the current version of Improved Frizzled KD mod, get v2.3 and it will work


PS: ......and my CSR seem to be great or there is some calculation problems.. your K: D ratio os 7,6:1 and u have 88% win....
POSER!!

Teboga
05-19-2010, 03:42 PM
@ Taboga
Basicaly I like ur ideas, but I guess most of the values need to be tweaked :D

Example:
a good player (PSR=1700, Kills+assists-deaths =15, win% = 65% , Em%= 0)
CSR= 1935
So the influence of the stats based on your formula would be like:

PSR : 88%
K+A-D : 10,5%
Win% : 1,5%

For me, the PSR influence seems much to high and Win% influence much to low.
Also i think that subtracting -100 for a player with 100%Em is to much, if a player
with 100% win has only 100 added to his CSR.

Hi,

So, for the CSR to be close enough to the PSR range, the actual PSR has to have a high influence, otherwise the final CSR value will stray to far away from 1500 (like 800 or 3000). In this case the other stats will serve only as an adjustment to the actual PSR.

As for the other stats, I tried to make so that each one could add or subtract 100 points from the PSR. But I think you are actually right, EM% influence should be lowered and WIN% influence should be higher.

As for K/D/A it seems to be fine, I set the neutral value at 1,7 ratio (K+A-D), but maybe this can be tweaked as well.

I trust your judgment on this, and I'll keep your mod updated.

Also, I have a little suggestion, if possible make an estimate winning % for each team based on the CSR of the players, as it is today with the PSR.

Cheers.

MasterRahl
05-19-2010, 04:22 PM
So, I'm looking at the CSR rating, and to me, it's another PSR, just slightly different. Hmm that was a horrible way to put it.

Basically, I like the concept of CSR, but I want my formula so that it fits my judging methods. I opened up *.xml file but I know next to nothing about modding but for the formula part, I see

(param20 + param24 - param25) / param5 + param13 - 50 * param49 / param5 + 600* param6 / (10 + param5) - 1500

which is great... if I had a list of the parameters. I'm mostly concerned with adding creep denies as part of the scale and seeing if I could shrink it down to zero to ten scale. I don't want to make you do it, but how do I get different parameters in there?

Great concept though, thanks for the effort.

~Rahl

Habile
05-19-2010, 06:57 PM
which is great... if I had a list of the parameters. I'm mostly concerned with adding creep denies as part of the scale and seeing if I could shrink it down to zero to ten scale. I don't want to make you do it, but how do I get different parameters in there?

Here's the format as used in Improved Frizzled KD.
<form
name="halisa_stats_"
host="masterserver.hon.s2games.com"
method="get"
target="/statsRequest.php"
statustrigger="HalisaStatsStatus"
resulttrigger="HalisaStatsResult"
resultparam0="nickname"
resultparam1="name"
resultparam2="rank"
resultparam3="level"
resultparam4="account_id"
resultparam5="acc_games_played"
resultparam6="acc_wins"
resultparam7="acc_losses"
resultparam8="acc_concedes"
resultparam9="acc_concedevotes"
resultparam10="acc_buybacks"
resultparam11="acc_discos"
resultparam12="acc_kicked"
resultparam13="acc_pub_skill"
resultparam14="acc_pub_count"
resultparam15="acc_amm_solo_rating"
resultparam16="acc_amm_solo_count"
resultparam17="acc_amm_team_rating"
resultparam18="acc_amm_team_count"
resultparam19="acc_avg_score"
resultparam20="acc_herokills"
resultparam21="acc_herodmg"
resultparam22="acc_heroexp"
resultparam23="acc_herokillsgold"
resultparam24="acc_heroassists"
resultparam25="acc_deaths"
resultparam26="acc_goldlost2death"
resultparam27="acc_secs_dead"
resultparam28="acc_teamcreepkills"
resultparam29="acc_teamcreepdmg"
resultparam30="acc_teamcreepexp"
resultparam31="acc_teamcreepgold"
resultparam32="acc_neutralcreepkills"
resultparam33="acc_neutralcreepdmg"
resultparam34="acc_neutralcreepexp"
resultparam35="acc_neutralcreepgold"
resultparam36="acc_bdmg"
resultparam37="acc_bdmgexp"
resultparam38="acc_razed"
resultparam39="acc_bgold"
resultparam40="acc_denies"
resultparam41="acc_exp_denied"
resultparam42="acc_gold"
resultparam43="acc_gold_spend"
resultparam44="acc_exp"
resultparam45="acc_actions"
resultparam46="acc_secs"
resultparam47="acc_consumables"
resultparam48="acc_wards"
resultparam49="acc_em_played"
resultparam50="maxXP"
resultparam51="last_activity"
resultparam52="matchIds"
resultparam53="matchDates"
resultparam54="favHero1"
resultparam55="favHero2"
resultparam56="favHero3"
resultparam57="favHero4"
resultparam58="favHero5"
resultparam59="favHero1Time"
resultparam60="favHero2Time"
resultparam61="favHero3Time"
resultparam62="favHero4Time"
resultparam63="favHero5Time"
resultparam64="xp2nextLevel"
resultparam65="xpPercent"
resultparam66="percentEM"
resultparam67="k_d_a"
resultparam68="avgGameLength"
resultparam69="avgXP_min"
resultparam70="avgDenies"
resultparam71="avgCreepKills"
resultparam72="avgNeutralKills"
resultparam73="avgActions_min"
resultparam74="avgWardsUsed"
resultparam75="create_date"
resultparam76="favHero1name"
resultparam77="favHero2name"
resultparam78="favHero3name"
resultparam79="favHero4name"
resultparam80="favHero5name"
resultparam81="favHero1id"
resultparam82="favHero2id"
resultparam83="favHero3id"
resultparam84="favHero4id"
resultparam85="favHero5id"
resultparam86="error"
/>
As you can see, param70 is the avg. creep denies.

This is the function I use for CSR (not based on PSR is any way; just from KDA, creep kills per minute (farming ability), and denies):

((param20 + param24) / if(param25 gt 0, param25, 1)) * 150 + 5000 * param71 / param68 + param70 * 40 + 600

Delfofthebla
05-19-2010, 08:14 PM
Ok, i just updated CSR to work with the new Improved Frizzled KD Mod v2.3

PB stats dosent seem to work with v2.3 yet

But anyway i have a question to all the PB stats users:

Why do you still need PB stats, Now that Improved Frizzled KD Mod also shows the 5 favorite heros of any player??

I find the "scrollover 5 favorite heroes" option on frizzled to be 100% completely and utterly useless. I wonder why he even bothered wasting time working on that instead of fixing alignment issues or implementing default stat display values for the lazy/untrained.

I use Sephs Quickstats in conjunction with Frizzled. Frizzled is used to let me see a general overview of what the teams will be like, then I use Quickstats to get the full details on a players stats (including their top 5 hero picks).

I use PB Stats as a simple cosmetic mod to get an idea on the players. It shows their favorite hero as a replacement for their avatar, giving you a general idea of what type of heroes they are good with. Instantly and without any mouse movement required. Honestly speaking, I'd find PB Stats to be a much better option than the current scrollover option Frizzled has. Frizzled should only be used to see as much as you can about every player all at once. You can't do that without PB, and his scrollover addition does nothing to help that.

Compatibility would be nice :(

MasterRahl
05-19-2010, 08:32 PM
@ Habile:

Thanks, that helps a ton. Confused a tad about this part:

if(param25 gt 0, param25, 1)

but i'm just assuming that's a; if deaths = 0, then use 1 instead so the game doesn't try to calculate infinity.

Do the favorite hero parameters return a name specifically, or just their identifier code? so if their favorite character is scout (so I deduct 50% from their rating) will it return 'Scout'?

And this may start to get off the topic of this... well, topic, but I think that would be cool to give higher rating to someone who traditionally plays more support.

~Rahl

WhazZzZzup17
05-19-2010, 08:36 PM
great idea however, i would rather have kills+deaths+creepkills+goldpermin

Hollenhoe
05-19-2010, 08:40 PM
I can't see any alignment issues. simply dont use more than 4-5 stat and it will be fine. if you want more (as you said) use Sephs mod to see all the stats but i doubt you need every single stat of every single player to get an overview of your team.

The PB Stats only shows the top1 fav hero, its a good thing but i think 1 fav hero its not enough, and will be incompatible with the custom avatars when it comes. this mod is not made to the lazy/untrained players. If the player can't tick 3 checbox and type 1-2 chars then it's his problem but there are much other player who find my mod usefull imho.

I can't see why scroll over the avatar and see all the stats is better than scroll over the stats you need and see the fav icons..but theres a toggle checkbox in the options menu..use it if you dont like it:D

edit: sorry for the offtopic.. i still waiting opinions like Delfofthebla's in my topic;)

resp
05-19-2010, 09:58 PM
delfofthebla's opinion pretty much sums mine as well. would be nice for a compatibility.
pbstats is purely for aesthetics, you're right about when avatars come out, but who knows when that will be ;)

DarkZero901
05-20-2010, 12:17 AM
I'm also trying to change the formula around a bit to suit what I'm looking for but was wondering what to replace the "Ceil" function with so the output is not a rounded integer, instead, a number with decimals.

Habile
05-20-2010, 12:24 AM
I'm also trying to change the formula around a bit to suit what I'm looking for but was wondering what to replace the "Ceil" function with so the output is not a rounded integer, instead, a number with decimals.

FtoA([number], [decimal places to round to])

This converts floating point values to strings.

SHJordan
05-20-2010, 11:10 AM
I'm getting this error when trying to patch it with honmodman:

http://i.imgur.com/YoanBl.jpg (http://i.imgur.com/YoanB.png)

How can i fix it?

GoldMath
05-20-2010, 11:37 AM
just update with the CSR 1.1

SHJordan
05-20-2010, 11:50 AM
just update with the CSR 1.1

I'm trying using it =\

Not working.

Hummal
05-20-2010, 12:18 PM
why no auto update? Its more comfortable

Grigore
05-20-2010, 12:31 PM
i think it should show 0 (ZERO) if you have more than 5% EM.

Praetorian
05-20-2010, 12:39 PM
OP: I don't think you should be adding in win % as you do currently. Given an infinite number of games, win% should approach 50% and rating it's true value for any given player. Thus I think It would be better to adjust rating according to win percentage.

Something like:

psr.adjusted = psr * (1 + win% / 10)

eg. for 1600PSR and 60% win rate:
psr.adjusted = 1600 * (1 + 0.60 / 10) = 1600 x 1.06 = 1696

I'd have to play around more with numbers and do similar adjustments for ck/cd compared to win%. If you have a high win% you are underrated, leading to inflated ck/cd, I think. Anyway, you get the general idea I hope. :smile:

adeqd
05-20-2010, 02:19 PM
Everyone seems to have a diffrent opinion about the perfect formula, so its hard for me to find a good solution that everyone likes.

So i decided to keep my old formula and only adjust it a little bit to be closer to the range of PSR ratings. Most players will now have a CSR between 1300-1900 ( --> v1.2 out now!)
Anyway, feel free to tweak the formula for ur personal use or whatever :)


Also, I have a little suggestion, if possible make an estimate winning % for each team based on the CSR of the players, as it is today with the PSR.I was also thinking about such a feautre, but i found this a litte bit to hard for the beginning and after taking a look in some of the .packages in the resources folder I still have no idea where the program code for the calculation of the winning chance is located :(


I'm getting this error when trying to patch it with honmodman:dont forget to update Improved Frizzled K: D mod to v2.3 !!
* I edited the description now to make it clearer that v2.3 is needed


why no auto update? Its more comfortable coming soon.

SHJordan
05-20-2010, 02:23 PM
I got Improved Frizzled K: D version 2.4, maybe this is the problem =\

Can u fix it?

SHJordan
05-20-2010, 02:27 PM
With version 1.2 of CSR i'm getting this error:
http://i.imgur.com/mstrBl.jpg (http://i.imgur.com/mstrB.png)

I'm using all honmods to the last update =\

Hollenhoe
05-20-2010, 02:53 PM
i downloaded this mod from the link in the opening post and it works with the v2.4 of my mod

SHJordan
05-20-2010, 02:55 PM
try with PB:STats too... maybe that's the problem...

Tamale
05-20-2010, 03:04 PM
I am working on a formula with the following weights:

KA/D 25
psr 20
em 20
denies 15
% wins 10
xp/min 10

I left out gold/min because that is a function of carry vs support.

For em, I have it so if you have zero em%, you get the full 20 points. If you have 50% em, you get 0 points. If you have 100%, you get -20 points.


disconnects (negative) 0-100


If anyone has any feedback it would be appreciated. I am standardizing it to be a 0-100 scale.


Also, just to confirm, is resultparam44="acc_exp" exp per min? Or is it just total experience?

adeqd
05-20-2010, 04:16 PM
Also, just to confirm, is resultparam44="acc_exp" exp per min? Or is it just total experience?

its total experience


I got Improved Frizzled K: D version 2.4, maybe this is the problem =\

I just tryed Improved Frizzled K: D version 2.5 an CSR v1.2 and it works fine, I guess its a compatibility issue with PB stats again. I will try to make them compatible.

Tamale
05-20-2010, 04:23 PM
its total experience



I just tryed Improved Frizzled K: D version 2.5 an CSR v1.2 and it works fine, I guess its a compatibility issue with PB stats again. I will try to make them compatible.


Yeah, just found exp/min is labled as xp, so my ctrl+f didnt bring it up :)

I will let you know how the formula works out, but looks good so far. Normal players will be 40-80, pros 80+, and em/leavers will be under 40.

SHJordan
05-20-2010, 05:30 PM
I just tryed Improved Frizzled K: D version 2.5 an CSR v1.2 and it works fine, I guess its a compatibility issue with PB stats again. I will try to make them compatible.

Nope... still got the same error... I think you're right. PB stats... seems to be the problem... =\ Don't know why.

BenZen
05-20-2010, 06:39 PM
I'm working on a way to calculate %win, and suggest it here, but I need to know if the scripting languages used has a function for "tan()", since this would really be the best way to calculate a win% that never exceeds 100%

Edit: well in fact i just realised the function had to work with radians, not degrees... To test it, check if tan(3.1415/4) is close to 1 (like 0.99995) and you got to be able to use "tan^(-1)" (that's arctan)

Edit 2: After some testing, the formula would be something like:

Team A VS Team B

X = (total team A ratings - total team B ratings) / (number of players per team) in other words, average difference in rating per player
Y = %win for team A (%win for team B is 100% - team A's)


for X greater than 0
(200*ArcTan(3X/100))/Pi = Y

for X smaller than 0
100 + (200*ArcTan(3X/100))/Pi = Y

for X = 0, 50%/50%


This formulae is balanced around my estimation that a 100 rating per player difference would give a team 80% win. For example, an average 1600 team versus an avg 1500 would have 80% win. An average 1700 team up against an average 1500 team would have roughly 90% win. You can never reach 100% win.

Edit 3: there was a mistake in the X < 0 part, now fixed

Tamale
05-20-2010, 10:14 PM
Ok, I got it working I believe. Currently, the rating system does this:

33% of your rating comes from psr and win percentage (half of each).
33% of your rating comes from K:A: D ratio
33% of your rating comes from creep denies and xp/minute

After that, a percentage of your total rating is subtracted based on your Leave% and your EM%.

I believe this gives all non-em non-leavers a standardized score that is easy to interpret and understand, and is comprised of meaningful game statistics. I am still tweaking the numbers slightly, but if anyone is interested in me posting the edited mod or the formula please let me know.

Habile
05-20-2010, 10:55 PM
Ok, I got it working I believe. Currently, the rating system does this:

33% of your rating comes from psr and win percentage (half of each).
33% of your rating comes from K:A: D ratio
33% of your rating comes from creep denies and xp/minute

After that, a percentage of your total rating is subtracted based on your Leave% and your EM%.

I believe this gives all non-em non-leavers a standardized score that is easy to interpret and understand, and is comprised of meaningful game statistics. I am still tweaking the numbers slightly, but if anyone is interested in me posting the edited mod or the formula please let me know.

Could ask Maide to put together a feed of the average Kills, Assists, Deaths, xp/min, creeps kills/denies, and whatnot.

Each average statistic would be considered 1500 CSR base, and users of the mod could control how each statistic is weighted when averaged together.

These are just some averaged stats that I pulled from http://honstats.heroku.com/

Kills: 4.771
Assists: 7.085
Deaths: 4.995
Creep Kills: 88.998
Creep Denies: 7.131
Game Time: 36.334 mins / 2180.06 secs
Exp: 426.952

So if you wanted to measure KA;D, then you'd take 1500 and divide by (4.771+7.085)/4.995, and wind up with around 632.

If a player has a KA;D of 3:1, then their score would be 3 * 632 = 1896. You can then weight that into the other stats, like 0.25 * 1896 + 0.75 * [other stats].

The users themselves could modify how each statistic is weighted to their own personal preference.

Tamale
05-20-2010, 11:40 PM
If someone wants to put that together that would be great. I don't know a whole lot about modding, I just took the xml file and edited the formula to include the things that everyone seems to agree are important, then standardized them.

KnalIPeng
05-21-2010, 06:17 AM
Ok, I got it working I believe. Currently, the rating system does this:

33% of your rating comes from psr and win percentage (half of each).
33% of your rating comes from K:A: D ratio
33% of your rating comes from creep denies and xp/minute

After that, a percentage of your total rating is subtracted based on your Leave% and your EM%.

I believe this gives all non-em non-leavers a standardized score that is easy to interpret and understand, and is comprised of meaningful game statistics. I am still tweaking the numbers slightly, but if anyone is interested in me posting the edited mod or the formula please let me know.

Please, don't estimate the values by using the XP/Min. The best example: Roaming (which is one of the most difficult roles in HoN) will render you underlevelled, so your CSR would decrease, although you are highly skilled.
XP and Gold are nothing to reckon with - you have to have a view on it from a neutral point of view, regardless of the percentage of supporters/carries played. Of course, the average public player theoretically plays any kind of role (mostly carries though), but still, when a stack of 3 players is created (I personally mostly play publics with 2 or 3 further mates) then we have predominantly predetermined roles to play, rendering our supporter's CSR lower than mine e.g. (yea my stats arent that great -.-, anyways ...), but I hope you get what I mean.

WhazZzZzup17
05-21-2010, 10:09 AM
Is there a way you can add gold a min? Cuzz Creep kills and gold a min is more important to me

Tamale
05-21-2010, 01:13 PM
Please, don't estimate the values by using the XP/Min. The best example: Roaming (which is one of the most difficult roles in HoN) will render you underlevelled, so your CSR would decrease, although you are highly skilled.
XP and Gold are nothing to reckon with - you have to have a view on it from a neutral point of view, regardless of the percentage of supporters/carries played. Of course, the average public player theoretically plays any kind of role (mostly carries though), but still, when a stack of 3 players is created (I personally mostly play publics with 2 or 3 further mates) then we have predominantly predetermined roles to play, rendering our supporter's CSR lower than mine e.g. (yea my stats arent that great -.-, anyways ...), but I hope you get what I mean.


What would you recommend instead? While that stat does hurt roamers a bit (a role that is played less than most others), it does not hurt support. Support should still be very close to the carries level, although I admit a bit lower.

I think KDA is pretty much agreed upon as important, and win percentage and psr are also agreed to be important. Creep denies is not mentioned as often, but it does a great job of measuring lane skill. However, I do not want to weight creep denies as 33% of the equation. Can you think of another stat other than xp/min which does a good job of explaining some aspect of the game?

KD - Carry
AD - Support
Win%/PSR - Both
Deny - Both
XP/min - More carry

So the equation does seem to favor carries a little bit. However, a good carry and a good support will only be a few points apart in that department, with roamers perhaps one or two points behind that. All suggestions on how to address this are welcome.

Jomik
05-21-2010, 01:36 PM
Can this be updated to work with v.3.0 of Frizzled? >.< I get that weird error someone posted earlier. Thanks :D

Skyks
05-21-2010, 02:46 PM
yeah broken with frizzled 3.0
please update. great mod btw!! :D

AtomicFox
05-21-2010, 02:58 PM
Even thought I have CSR enabled in options, mine doesn't show. Why is that? :P

Good job by the way!

sVs
05-21-2010, 09:28 PM
Hey it's GearScore for HoN... yay?

Angelics
05-22-2010, 04:19 AM
is ward placed counted in CSR?
mayb CSR = CSR + (10*ward placed) ?

MrMult
05-22-2010, 04:38 AM
Gives me an error when applying it in modman "/
line 15.

MasterRahl
05-22-2010, 06:02 AM
Ok, Tamale and I go back and forth between what's the best equation.

((param13 - 1200) / 300 * (1 - param49 / param5) + 2 * (param70 / 10) + 2 * (2 * param20 + param24)/(param25 * 4)+ (2 * param6 / param5)) * (1 - param11 / param5) * 10

That's the hard code, here's the explaination:

~(param13 - 1200) / 300 * (1 - param49 / param5):
This is effectively the PSR consideration. It takes a 1500 to be completely average. The other part takes EM into consideration:

(PSR[1500] - 1200) / 300 -> 1200 PSR gives 0 points, 1800 gives 2 points
(1 - EM%) -> If they have a lot of EM, then it takes away the points they could of gotten from their PSR.

Some might say it wouldn't punish EM enough. I see that they just lose about 1/6th of their points, which is quite a hit. And if they have a bad PSR, then they don't get double hit for it.

~2 * (param70 / 10):
This is creep denies. Screw creep kills, anyone can do that. I have this possibly rated too high but it should be.

2 * (CD[10] / 10) -> Average of 10 CD will give 2 points, 0 gives 0 and 20 gives 4. Yes that is a lot, but someone with 20 CD avg a game needs my attention brought to them.

~2 * (2 * param20 + param24) / (param25 * 4):
This is K A D considerations. I value kills twice as much (maybe bad) as assists just because statistically there are almost twice as many assists as there are kills. Anyways...

2 * (2 * K[1] + A[2]) / (Deaths * 4) -> 1 K/D and 2 A/D gives 2 points

~(2 * param6 / param5):
This would be win percentage. I mainly want this mod to trigger if I need to look at someone, so if they have a warped win% this will give more points. 50% gives 1 point, 100% gives 2 points, and 0% gives 0 points. I didn't say it contributed much.

~(1 - param11 / param5) * 10:
This one is an over reducer for LEAVING!!! OMG I HATE LEAVERS!!! So if you have 50% leave, you lose 50% of your points. Relativity linear in that aspect. 10% loses 10%, 20% loses 20%, 100% loses your soul.
And I added a nice *10 just so you can get a tad more accurate.


So, quick review:
1500 PSR and 0 EM -> 10 Points
10 CD average -> 20 Points
1 K/D & 2 A/D -> 20 Points
50% Win -> 10 Points
0% Leave -> * 1 multiplier

So an average player would be around 50 to 60 points.
A good player would be around 80 to 90 points.
A person you will want to kick 5 mins into the game will have around 20 to 30 points.

Weaknesses:
1) Doesn't account for kill stealers
2) Doesn't account for stat padding
3) Doesn't account for inflated stats (aka not enough games to average out stats)


33% of your rating comes from psr and win percentage (half of each).
33% of your rating comes from K:A: D ratio
33% of your rating comes from creep denies and xp/minuteSo, It's basically what Tamale has except the I don't include xp/minute.

Also, since you have a window in the Frizzle thingy already, would it be possible to weigh the factors so it's customizable in the game? That way we won't have to have 10 ka-jillion equations posted here and everyone can make their own CSR.

I still like the concept of this mod, it makes it easy to find out who sucks and not.

~Rahl

P.S. Apologies for the long winded post.

adeqd
05-22-2010, 07:27 AM
Since Improved Frizzled K: D v3 now offer the option to create ur own formulas
easily in the options menu, i will stop updating this mod.

If you liked my formula u can copy+paste this into the formula box in the options menu:

35*(kills +assists-deaths)/(wins+losses)+psr-0.5*empercent+600*wins/(10+(wins+losses))-500NOTE:
There is currently a bug in Improved Frizzled K: D v3.1 that always shows PSR ratings as 0
You can either wait until Rizel fixes it, or you can fix it urself:

1. unpack Improved_Frizzled_KD_by_Halisa.honmod
2. open halisa_stats.package
3. at line 150 change " CreateString('psr' , param2); "
into " CreateString('psr' , param13); "
4. pack all 4 files and name the archive "Improved_Frizzled_KD_by_Halisa.honmod"

KnalIPeng
05-22-2010, 07:51 AM
@Tamale: I disagree in a very important point of yours. Either the supporter or the carry is playing completely wrong if their respective levels are approximately akin. Basically, a fullcarry's task is: Farming on lane with a babysitter which is harassing the enemies (sometimes even out of his own XP range) and placing wards on the whole map, also helping out on other lanes when the own lane's opponents are gone so that the carry gets solo XP and freefarm. Basically, a carry stays on his lane as long as possible without leaving it at all (of course they partake in clashes by always having a Homecoming Stone with them), whilst the supporters are warding, (ganking,) harrasing etc. It is not unusual to have an Andromeda Level 10-11 while Swiftblade being level 16 already e.g.

You simply have to find appropriate measures for every single role in the game. As a roamer/supporter, your assists and placed wards should be much more important than as a carry (in fact it is eventually even "bad" for a carry to collect assists, as they are supposed to killsteal as often as possible) and as a tank/initiator your deaths should play an inferior role, as you are likely to die in nearly every teamfight (except you just rape your enemy). You would have to include certain conditions in order to make it work.
Maybe something like (rough example):
If creepkills/gamelength > 4 then increase CSR
else if creepkills/gamelength < 4 AND assists/deaths > 2 then increase CSR,
which would roughly enable roamers to get an equally high CSR as a carry without being forced to have good cs for that (I know that this is a very weak example and that the actual equation would be hilariously complicated, but still this seems to me to be the best solution possible).

Hollenhoe
05-22-2010, 09:13 AM
Since Improved Frizzled K: D v3 now offer the option to create ur own formulas
easily in the options menu, i will stop updating this mod.

If you liked my formula u can copy+paste this into the formula box in the options menu:


NOTE:
There is currently a bug in Improved Frizzled K: D v3.1 that always shows PSR ratings as 0
You can either wait until Rizel fixes it, or you can fix it urself:

1. unpack Improved_Frizzled_KD_by_Halisa.honmod
2. open halisa_stats.package
3. at line 150 change " CreateString('psr' , param2); "
into " CreateString('psr' , param13); "
4. pack all 4 files and name the archive "Improved_Frizzled_KD_by_Halisa.honmod"

bug fixed in v3.2 thanks adeqd:)

DarkZero901
05-22-2010, 11:19 AM
Any way to still use this mod in addition to Frizzled's?

I liked the incorporation of the new skill rating inside the Right Click -> View Stats window, which Frizzled's mod does not offer.

SHJordan
05-22-2010, 01:38 PM
If u scroll up... you will see a formula... but... now this addon is obsolete.

DarkZero901
05-22-2010, 05:10 PM
I still like the feature of having the CSR show up in the Stat's Pop-up Window...I wish this mod still worked.

EDIT: Already taken care of...

DarkZero901
05-23-2010, 01:13 AM
Good work adeqd.

I have given you credit in my TSR mod thread:
http://forums.heroesofnewerth.com/showthread.php?p=1698777#post1698777

Tamale
05-24-2010, 01:45 PM
@Tamale: I disagree in a very important point of yours. Either the supporter or the carry is playing completely wrong if their respective levels are approximately akin. Basically, a fullcarry's task is: Farming on lane with a babysitter which is harassing the enemies (sometimes even out of his own XP range) and placing wards on the whole map, also helping out on other lanes when the own lane's opponents are gone so that the carry gets solo XP and freefarm. Basically, a carry stays on his lane as long as possible without leaving it at all (of course they partake in clashes by always having a Homecoming Stone with them), whilst the supporters are warding, (ganking,) harrasing etc. It is not unusual to have an Andromeda Level 10-11 while Swiftblade being level 16 already e.g.

You simply have to find appropriate measures for every single role in the game. As a roamer/supporter, your assists and placed wards should be much more important than as a carry (in fact it is eventually even "bad" for a carry to collect assists, as they are supposed to killsteal as often as possible) and as a tank/initiator your deaths should play an inferior role, as you are likely to die in nearly every teamfight (except you just rape your enemy). You would have to include certain conditions in order to make it work.
Maybe something like (rough example):
If creepkills/gamelength > 4 then increase CSR
else if creepkills/gamelength < 4 AND assists/deaths > 2 then increase CSR,
which would roughly enable roamers to get an equally high CSR as a carry without being forced to have good cs for that (I know that this is a very weak example and that the actual equation would be hilariously complicated, but still this seems to me to be the best solution possible).


That is an excellent point, but would take a very long and complex formula :D

On another note, why hasn't S2 done something like this I wonder.

SHJordan
05-24-2010, 02:09 PM
Could you tell me what is the formula? i seems to always being getting a negative score... so i don't know if it is correct.

wiLson
05-28-2010, 08:40 PM
could someone repack and post a solution? plz ?

wiLson
06-14-2010, 06:33 PM
bump ( ? )

DarkZero901
06-14-2010, 10:06 PM
This is a dead thread because Rizel's Lobby Stats supports this formula...