Solution for preventing bots playing level 1 cards from farming rewards and diluting DEC & cards value

in #spt7 months ago (edited)

Accounts with no cards or very few & low level cards are getting into very high leagues and earn a disproportionate amount of rewards. It has a strong impact on DEC value and card value.

I have just coded a simulation script to have a better insight into the problem and possible solutions.

rating_simulation.png

Problem

Accounts operated by bots with very few & low-level cards advance to high leagues, farm rewards and devalue DEC and card value.

Cause

The problem is caused by:

  1. One league for all system. I have proposed a new multileague system which I'm planning to describe in more detail later this week.
  2. Rating system. This post examines the rating system and shows part of the solution.

Bots play often 10 times more games than humans - well, they don't get tired!

Simulations

Assumptions:

  • A bot plays ~ 10 times more games than a human player
  • Quality - a 'human' player in the table represents a player that is on the average a better player or has higher-level cards; it was simulated as the human has a higher chance to win against a bot/low-level player, i.e. 0.7 means has 70% chance to win against a bot or another human with much lower level cards.
  • Edit: bot vs bot & human vs human have 50% chance of winning;
  • Rating - all in the league start the season with 1000 points; modified ELO rating is used to update player ratings after the each game
  • Games - number of games played

Simulation one - winning streak bonus included

The current rating system allows for a special winning streak bonus, which is a big deviation from the ELO system.

winning_streak.png

Despite starting at 1000 points, all players have advanced and several bots occupy top positions in the league.

Simulation two - winning streak bonus removed

Let's see the next table:

no_winning_streak.png

There is still one lucky bot in the top half of the table and one quality player in the bottom half, but the ranking looks much better!

Conclusion

Level one / no card bots can be quickly (partly) tamed by fixing the ELO system for Splinterland. This step requires little resources and time.

Several further improvements to the game can be introduced through the Multi League system, which requires more effort to implement.

Sort:  

Thanks for the post and ideas. This is definitely something we are considering but we want to generally allow players to progress through the ratings, otherwise the game can seem too frustrating. So if we do end up making a change like this I would like to try to couple it with other changes that give players some other type of benefit/progression for win streaks.

Win streak bonus is breaking the rating system. Players could still progress, and progression can be made even more entertaining with Multi League implementation, allowing also for better rewarding of good players in lower leagues.
At least 50 000 chests will be farmed by lvl one bots just this season, maybe 100 000 or more, according to my estimations.

P.S. Wouldn't hurt you to give a small upvote for a post based on in-depth research and trying to help with a problem that's been noticed over a year ago and not truly addressed yet.

My bad on the upvote, I swear I upvoted it when I read it yesterday but I don't know if it didn't go through or what happened.

There is one other ELO implementation change which is that the minimum rating increase when winning a match is set to 10. So if you beat someone with a much lower rating than you, then instead of getting an increase of only 2 or 3 points it will be 10 points. Do you think that should be removed as well?

I will try to accommodate this feature into the simulation script later this week and compare it with plain ELO to see how different the impact is. Thanks.

What is the K value used? I assume below 20?

The k factor is 40.

10 points minimum increase of rating still favors players playing large numbers of games (like lvl 1 bots do), as it breaks the symmetry of the equation, although it has a lower impact than win streak bonus.
Instead, 1200 value instead of 400 would allow for a similar effect but would also allow for slightly larger gain for an underdog being symmetrical.

Bots became really big problem and annoying to plaers. So I hope solution will be found and inplemented asap!

Posted using Partiko Android

We should make bots for everyone? Would that be more fair?

No no no we don't need such headache!

Bots seem to be inevitable, but allowing operators of large swarms of level 1 bots to overtake genuine players due to bad game mechanics is very detrimental for the game. And they farm dozens or maybe even hundreds of thousands of chests each season sinking DEC and card value.

Nice :) Can you share a code?
I think bots win rate is close to 50% anyway, because they are playing against other bots 90% of the time, so one of the bots still wins.

Sure.
Bot vs bot and human vs human in the simulation are at 50% chance. Also, 'human' represents here better deck or skills rather than whether it's played by a person or software.

Hi @hotbit!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 1.978 which ranks you at #20052 across all Steem accounts.
Your rank has improved 1151 places in the last three days (old rank 21203).

In our last Algorithmic Curation Round, consisting of 57 contributions, your post is ranked at #44.

Evaluation of your UA score:
  • Only a few people are following you, try to convince more people with good work.
  • You have already convinced some users to vote for your post, keep trying!
  • Try to work on user engagement: the more people that interact with you via the comments, the higher your UA score!

Feel free to join our @steem-ua Discord server