[Introduction]
I’d like to propose replacing the Kinship Leaderboard in Season 3 with BOOSTED Dependability.
A lot of the problems with the (rookie) Kinship leaderboard have been pointed out in this thread:
One of the biggest problems is that after “PATCH 0.1d — ALCHEMICAL CHANNELING KINSHIP BOOSTS” passes (which it will), there will be no means by which later summoned Gotchis have any real means of catching up in the Kinship leaderboard, unless they are willing to spend thousands and thousands of GHST on Kinship potions.
Another problem is that with rookie Kinship leaderboards, there are way too many tied Gotchis in the top spots. In the last snapshot there was a single tie of 209 Gotchis in the top spots that never missed a pet and never drank a potion. And these ties were all broken by XP, which has its own Leaderboard already. More importantly, XP is not related to Kinship / interactions.
Dependability fixes these issues and makes rookie Leaderboards unnecessary. In fact, in the Dependability leaderboard, H2 Gotchis made the top 400 in the last snapshot of RF S2.
[What is Dependability?]
Imagine you are a Gotchi and you’re looking for a new owner. You go on Aamaazon.pet and look at the reviews. Instead of 1 to 5 stars, Gotchi owners only have positive or negative reviews.
You see an owner that has 20 positive reviews and 0 negative reviews. Next to it, there is an owner with 199 positive reviews and 1 negative review. And next to that is another one with 496 positive reviews and 2 negative reviews. Which one do you pick? Sure the first one has a perfect average, but given that there are only 20 reviews, you naturally gravitate towards the other two candidates. In fact, despite having the worst average score, the last owner is probably the savest bet, right?
And this sort of ranking, which considers not just the average review, but also the number of reviews, and spits out how much confidence we should have in something (which we do instinctively with product reviews all the time), can be expressed exactly using the Wilson score interval.
Basically, Dependability is exactly that. How confident can our Gotchis be in us, based on previous interactions. Instead of positive or negative reviews, Gotchis are all about how often they could have been pet versus how often they were actually pet.
However, in order not to disadvantage certain Gotchis, there are a view intricacies to consider. First of all, where do you start the 12h time-frame? If you use the snapshots timeframe for all Gotchis then you disadvantage people who summoned close to the end of this window, as they would only have limited time before eventually shifting into the next window causing them to have 1 interaction less than they had opportunities. Hence, it is more fair to use the Gotchis summoning time as the beginning of the first time-frame:
Another thing is that you should only consider closed frames. As long as a frame is open, the owner still has a chance to pet their Gotchi, even if they are late. So the current / open frame is not considered.
Now what if you buy a neglected Gotchi and nurse them back to health? For such an heroic act, you should not be disadvantaged either. So upon a sale, the owner’s dependability starts anew. It’s basically like they just summoned the Gotchi.
While this is very important, it also would (by itself) decrease the value of Gotchis that have a high dependability score, because the scores are reset upon purchase. So in order for these Gotchis to keep their value, you have not just an owner-specific dependability, but also an overall dependability. So if you purchase a Gotchi with a high overall dependability score, you will be able to continue that streak and keep all those benefits.
Ok, so we have two scores, how do we decide by which to rank? Easy. For each Gotchi we use the higher of the two scores.
Now there is just one final issue left. How about those people that spend thousands of GHST on Potions? Potions are not considered in the original Dependability. How do we ensure that we don’t rek those people?
We apply the boost the potions give to Kinship to the number of interactions. First those potion boosts replace the missed interactions with positive interactions, and in case the Gotchi shugged more Kinship points than their owner missed pets, the overall number of opportunities and pets is increased.
[BOOSTED Dependability]
How do we even know what that would do to the scoreboard?
I set up a BOOSTED Dependability leaderboard on aavegotchi.pet.
As you might notice in the leaderboard, potion boosts (the way I implemented them right now), are pretty powerful. It might be warranted to use a different implementation. These implementation details can still be discussed and changed in-between the signal proposal and (if the DAO is with us) the core proposal. One implementation that would cause less difference between the top spots of Kinship versus Boosted Dependability would be to use boost = Kinship - (interactions+50), instead of using boost = sum of all Kinship potion boosts.
Ok, so people who pet are better off, people who drink Potions are better off, rookies are better off. How does that work? Who looses? People with large shifts lose. If you have a lot of Kinship but you also missed a lot of pets or shifted too much, then you will get a lower rank than in the traditional Kinship leaderboard. This ensures that Gotchis can catch up.
[Implementation]
That all sounds kinda complicated. How would Pixelcraft implement this?
All they would need to do is to include some more information in the subgraph. They actually have a dedicated person for that: Frank Pfeift.
In particular the Aavegotchi class would need the following members added:
- timeOfLastPurchase
- timesInteracted (was part of the subgraph before, but was removed later)
- kinshipFromPotions
- boostedDependability
Since events for consumables and listings already exist, this would not require any changes to the contracts. And with the first three values added, you could calculate boostedDependability and then just use that to sort the leaderboard.
So from my understanding this would not require much dev time (or in other words, it would mainly require Frank’s time ). And we’d finally end up with a leaderboard that is entirely based on interactions, doesn’t rek anyone, gives newly summoned Gotchis a chance to catch up comparatively quickly, and best of all: without the need to implement different rules or leaderboards for different Haunts. Every Gotchi will be treated equally, based on their time of summon / purchase and the amount of time shift they acquired from petting too slowly or forgetting to pet.