Discussing Better Metrics to Rank Characters


#1

Background

Several of my friends and myself started some “PPEs” for a bit of fun, I say PPEs but we allowed trading between each other. After several of the group had died we decided we would throw in a little bit of competition as friends do. Originally one friend boasted that he was currently winning the PPE, after dying with what was at that point the highest base fame of the group.

We began discussing and decided that perhaps we should use some better metrics when ranking our characters.


My First Attempt

Each character shall receive a score based on several factors. Calculate the score and halve it if the character is dead. The character with the highest score wins.

score = Base Fame + EquipScore*10 + Whites Acquired*100
EquipScore is equal to the total of all equipment tiers, any ST/UT is equal to Tier 15.

However there are several issues which make this would be ineffective and make me lean away form this take on the issue.


Other Thoughts

Gathering Data
I figured it would be better if the factors did not include any data which could not be gained off of dead characters on RealmEye. This would mean that we could calculate a score for any character which has been tracked by RealmEye.

Lets take the first character on Shatter’s RealmEye using Realmeye-API, to see what data we can use.

"characters": [
    {
        "backpack": true,
        "character_dyes": {
            "accessory_dye": "",
            "clothing_dye": "",
            "data_accessory_dye": 0,
            "data_clothing_dye": 0
        },
        "class": "Paladin",
        "cqc": 5,
        "data_class_id": 799,
        "data_pet_id": 32636,
        "data_skin_id": 10932,
        "equips": {
            "ability": "Seal of the Holy Warrior",
            "armor": "Acropolis Armor",
            "data_ability_id": 2645,
            "data_armor_id": 2812,
            "data_ring_id": 2765,
            "data_weapon_id": 2827,
            "ring": "Ring of Exalted Health",
            "weapon": "Sword of Acclaim"
        },
        "exp": 1100962,
        "fame": 756,
        "level": 20,
        "pet": "Blue Landfish",
        "place": 4366,
        "stats": {
            "attack": 50,
            "defense": 30,
            "dexterity": 45,
            "hp": 770,
            "mp": 252,
            "speed": 55,
            "vitality": 40,
            "wisdom": 75
        },
        "stats_maxed": 8
    }
]

Maxed Stats

An obvious point I missed is maxed stats, some how we need to add maxed stats into the equation. This could be used as an overall modifier for the score at the end. Then simply multiply the score by the modifier. The way I would do this is:

Modifier = 1 +  MaxedStats * 0.125

The score is doubled for 8/8s but left untouched for 0/8’s.

Fame Training

Whether you like it or not anyone who currently want’s to have any sort of rank on RealmEye currently has to fame train. The way I view it this takes the fun out of having a good character. Something should be done, again in my view, to lower the value that fame has in these calculations.

One idea I had was to multiply fame by Minutes Played over 100, however we do not have access to this information without using Muledump. Perhaps the maxed stats modifier could be applied simply to fame, however lots of high ranked fame trained characters are 8/8.

Fame Bonuses

I would like to apply fame bonuses to the score, however applying there true value to the score or fame would allow the score to be massively increased. This information is not tracked in RealmEye-API, however it is possible to get off of RealmEye.

Equipment

The totalling of Tiers works great for tiered equipment, however not all UT equipment is created equal. We should probably assign different scores to each UT based on rarity / use. Luckily this has been done for us by the Shipwrecked guild for there PPE contest here.

I would probably fiddle with these numbers so that they roughly match the top end of the tier range, however it is a start. I want the Equipment Modifier to be no more than 100.

Binary Factors

I would also add some minor bonus, about 100 a piece for some P2W factors. These bonuses would be for backpacks, dyes.

Constants

Some of the values which I used, such as the 10 in Equips*10, or the 100 for bonuses. These need to be balanced. And I would like them to be balanced in a way which means that fame only equates to 50% of the score.


My Second Attempt

After writing all of these factors I would like to take a second attempt at a good equation which calculates a score.

Each character shall receive a score based on several factors. Calculate the score and halve it if the character is dead. The character with the highest score wins.

score = (1+FameBonusPercentage/1000) * ( (1 + Maxed Stats * 0.125) * (BaseFame + EquipScore*10 + HasBackpack*100 + HasAccessoryDye*100 + HasClothingDye*100) )
EquipScore is equal to the total of all equipment tiers, look up any UT/ST.


I now present this to you to discuss. I almost guarantee that there is more that could be added. I almost guarantee that I am overcomplicating this. But I also almost guarantee that with some review and input this could be a better and more useful way to rank characters.

(It was also fun to write and think about I guess)


#2

Get rid of the backpack and dyes from the equation maybe. Other than that, seems alright.


#3

I guess the 4 people that were in the ppe should give their thoughts

Tbh sounds good, except the bit where u mentioned the guy that died with highest base fame (ahem, me)

Pretty good template tho


#4

cool and good


#5

IMO you really can’t put much weight on RNG-dependant criteria such as whites or even pots. RNG-luck does not necessarily denote a better player


#6

yes


#7

Ahh but I am not trying to denote a better player, just simply better characters.


#8

Wonder who were some of those friends… . :thinking:

Oh and ahem @Clactipede

And you won because you died with the highest base fame? My PPE is still alive and its got 425 Base Fame. Pretty sure when i die, I’ve won our friend PPE competition. Plus I got a DBow.


(And i didn’t trade anything with that dude, i was just showing him that i got the DBow)

Anyway back to the main topic. I think it’s a very good structure but maybe no the backpack and dyes like @ArcturusV mentioned. May be a little unfair to those F2P’s who don’t pay for cosmetics and backpacks unlike the P2W’s (Unless they got some of those from the daily awards). But all in all, it’s pretty good. Keep it up.


#9

Dude, you did your fucking research. Well fuckin’ done.


#10

Some of the UTs in the chart were a bit unbalanced. Namely, I have problems with the following weapons:

  • Dirk of Cronus below Queen’s Stinger. One cannot easily farm Cube Gods; aside from that, the Nest’s drop rates are most likely higher than that of the Cube God’s.
  • Coral Bow below Doom Bow. UDLs are much easier to farm than Ocean Trenches, and then you usually have to compete for loot with well over 20 other players!
    That said, very interesting and quite balanced otherwise.

Know what, let’s grab one of my dead characters and see how much I’d’ve gotten! (non-PPE)


With the variables now being:

score = ~85%/1000 * ((6 * 0,125) * (394 + (20+8+15+4+6+12+6+4=75)* 10 + 0100 + 1100 + 1*100)) or 0,085 * (0,725 * 1344) equals 82,824

So, is that, like good…? I suppose not really…


#11

So after seeing someone use the calculation I see some of the errors I have made, and some of the things I didn’t explain well.

So here is a revised version:

Each character shall receive a score based on several factors. Calculate the score and halve it if the character is dead. The character with the highest score wins.

score = (1+FameBonusPercentage/1000) * ( (1 + Maxed Stats * 0.125) * (BaseFame + EquipScore*10 + HasBackpack*100 + HasAccessoryDye*100 + HasClothingDye*100) )
EquipScore is equal to the total of all equipment tiers, look up any UT/ST1.

  • Added missing 1+ from Maxed Stats and FameBonus bonuses

There is an error on your part here here, the score is only calculated for equiped items, as this is the only info we can grab off realmeye.


After these changes and corrections I calculated your score as follows:

Then this must be halved as your character is dead.

~934


#12

So…is…that…decent…?


#13

Well seeing as your base fame was not extremely high I’m guessing not really. But you had good equips and bonuses, so until I work out some more I’m not sure.


#14

Yeah, Sins don’t seem to live for a very long time with me. Hopefully my fiery fella will survive for long enough to get to 800 fame…


#15

You gotta figure out a way to include the stat “fun” into your equation, with a multiplier of a bajillion.

I know that stat can’t be retrieved through the API, or realmeye, or even muledump, but it’s the most important one.


#16

Better = more successful?
It still comes down to luck, which still means it is essentially an unfair comparison


#17

So what would you propose which didn’t include RNG? Since Random numbers control almost all aspects of the game.


#18

Well this is the problem with being a nay-sayer… sooner or later somebody very sensibly asks you for a better alternative :wink:

I will ponder and see if anything good floats to the surface.

Edit -

How about including a metric based on the number of enemies killed, their level of difficulty (either invent a rank system or simply base it on their def & hp) and the time taken.

eg (very roughly): (enemies killed*difficulty)/time
so if you kill 5 pirates in 3 hours of play you get a low modifier, but if you kill 100 GLand monsters in 3 minutes you get a high modifier


#19

That’s not a bad idea… but again we can’t track this stat effectively without the use of Muledump. Even then we can only track God, Monster and Oryx kills.


#20

Dang.

Edit - I suppose a slightly messy way past it is to compare fame vs foes killed, but then that opens the door to fame trainers getting humongous fame levels from relatively few kills.

Ah well, back to RNG then :wink: