matchmaking small improvement for psychology.

pier4r
Skynet
Skynet
Posts: 3336

matchmaking small improvement for psychology.

Post#1 » 14 Oct 2018, 20:02

Problem

So many players, especially post reset, were frustrated that they got paired against ghosts of strong players that climbed just before them. We have to be honest, being punched by better people is hard to swallow after a while.

The point being, in the score delta of the stats page one notices - especially post reset - much more the rows of "minus" delta compared to the positive ones.

Example from gtresd latest matches

Code: Select all

2018-10-13 14:23:09 UTC   1367576   985651182   -95   [Steam Optimized Edition] mumpsimus (2212)   2117 +13
2018-10-13 14:21:03 UTC   1367572   1901740550   -14   BenJ V4 (2121)   2107 +10
2018-10-13 14:17:58 UTC   1367566   562739083   -89   Acho (2183)   2094 +13
2018-10-13 14:15:07 UTC   1367558   279622884   -29   masterplayer4000 (2112)   2083 +11
2018-10-13 14:10:43 UTC   1367539   1566094111   -97   ElvenMonky2 (2187)   2090 -7
2018-10-09 20:04:42 UTC   1358169   1367225210   -98   [Steam Optimized Edition] mrchris (2202)   2104 -7
2018-10-09 20:02:05 UTC   1358161   1763970528   -95   Pier4r Nvidia k1 (2206)   2111 -7
2018-10-08 01:12:17 UTC   1353733   1885202154   -75   Streaker (2174)   2099 +12
2018-10-08 01:10:03 UTC   1353732   1614649800   -41   Ninc (2129)   2088 +11
2018-10-08 01:07:37 UTC   1353731   828449888   -60   ChaosDMG (2136)   2076 +12
2018-10-08 01:04:52 UTC   1353729   497822888   -82   sollniss (2146)   2064 +12
2018-10-08 01:01:26 UTC   1353728   380643501   -90   RitterRunkel (2161)   2071 -7
2018-10-08 00:59:20 UTC   1353727   127031590   -96   [Steam Optimized Edition] Øbłīvīøň (2154)   2058 +13
2018-10-08 00:56:19 UTC   1353726   1349838194   -88   [Steam Optimized Edition] B_head (2154)   2066 -8
2018-10-08 00:54:28 UTC   1353725   1135835961   -56   Joni ja pojat (2130)   2074 -8
2018-10-08 00:53:09 UTC   1353724   104486479   +2   [Steam Optimized Edition] Ardent Dawn (2062)   2064 +10
2018-10-08 00:50:35 UTC   1353723   1745139506   -17   botmanbot (2091)   2074 -10
2018-10-08 00:47:42 UTC   1353722   1326359336   -77   JAKwins (2159)   2082 -8


One can see that there is only one time that gtresd had an opponent with lower score and 16 opponents with higher score (that is: 16 times negative deltas).
Now I understand this is hard to avoid for players at the bottom of a league, as they are going to pick everyone else that has likely more points than them, though I think I have a suggestion.

Suggestion1
If I understood the matchmaking (hopefully this is fairly updated: https://wiki.gladiabots.com/index.php?t ... king_rules ) , the suggestion is a small change.
Of the up to 10 best ghosts that are kept as possible opponents to pick from, the random selection decides an additional ordering step (randomly, so with 50% probability of happening): consider first those that have higher elo or consider first those that have lower elo.

Example

10 best ghosts picked (I emphasize the delta) for the next match
-58
89
-62
-20
100
-100
-21
-78
-60
-41

Coin toss: first come those with higher elo, so a ghost is picked among those

-58
-62
-20
-100
-21
-78
-60
-41

Coin toss: first come those with lower elo, so a ghost is picked among those
89
100

If one of the two groups (negative delta or positive delta) is empty, then the other group is going to be used for the pick.

Suggestion2
This is a bit more difficult. After 3 or 5 consecutive non-victories in ranked, the game may suggest to play unranked, that is more relaxed . With a message like "seems like the opponents are giving you arough time. What about playing some games in unranked, where you can test things with less pressure for results?"

Warning
I formulated my suggestions to lower the frustration but still keeping the matchmaking competitive. If, to avoid letting players being frustrated, the game goes for a ego-stroking-matchmaking, the major competitive part of the game is going to be seriously damaged. With ego-stroking-matchmaking I mean a matchmaking that instead of picking the latest ghost in range of an opponent, picks the weakest ghost in range of an opponent, even if that ghost is older.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

User avatar
Ritter Runkel
Neural Network
Neural Network
Posts: 498

Re: matchmaking small improvement for psychology.

Post#2 » 14 Oct 2018, 20:28

I second that it's really frustrating having ten to twenty matches with negative ELO delta in a row. Imho it should be balanced, so within ten matches the sum over the deltas should be around zero

pier4r
Skynet
Skynet
Posts: 3336

Re: matchmaking small improvement for psychology.

Post#3 » 14 Oct 2018, 20:34

You cannot balance if "weaker" opponents are not available. At most you can try to interleave them until the weaker ones runs out.
Otherwise you go playing more often weaker opponents if those are few, and that's not good. Better to lose score and settle to a lower range.

Funny that in the past (before ghosts) that was a request of many newcomers.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

Bockwurst
Script
Script
Posts: 16

Re: matchmaking small improvement for psychology.

Post#4 » 14 Oct 2018, 20:59

Isn't the underlying problem, that ghosts get generated, which are very far from the pre-reset rank of the player.

My suggestion would be: Players with a winrate above 90% don't leave behind ghosts.

pier4r
Skynet
Skynet
Posts: 3336

Re: matchmaking small improvement for psychology.

Post#5 » 14 Oct 2018, 21:16

why shouldn't they? Don't forget the reason for ghosts, to avoid not having online opponents.

You (almost) never experience the case that to resolve 10 matches you had to wait 3 days. Good ghosts slowly raise at the expenses of active players, that is also what makes a league worth its title.

In the past we had a similar discussion (that was not about the opponent to pick) viewtopic.php?f=2&t=1433 . In short: leave only personal best score ghosts or, in the smallest improvement, only winning ghosts.

Still one has not to exagerate to leave too little ghosts behind.

As there are strong ghosts raising, there are plenty of other ghosts that are not that strong there to play.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

Bockwurst
Script
Script
Posts: 16

Re: matchmaking small improvement for psychology.

Post#6 » 14 Oct 2018, 21:38

Ghost system is wonderful and I'm not suggesting to limit it in any major way.
If you look at my games from this season you will see that it took 34 games for me to lose my 90% winrate. I was in the mid 2300s at that point. So with my suggestion the 33 ghosts before this would not have been created. I think the playerbase would do better without these 2100-2350 ghosts.

One could argue that at the beginning of the season your winrate is 0% so your initial deployment does leave a ghost.

If I understand what you're saying, then you're worried there won't be enough ghosts, which is not true with my proposal. Most players reach a winrate below 90% very fast and even top players sit at 70% or so after a few games

pier4r
Skynet
Skynet
Posts: 3336

Re: matchmaking small improvement for psychology.

Post#7 » 14 Oct 2018, 21:42

ah then I misunderstood. I thought: if the ghost has a winrate of 90% (so like 1st match wins) it deactivates.

It is ok then. 90% winrate is hard to keep and forces people that watch only the ghosts to play a bit. Only I am not sure if this data is easily available when releasing the ghost.

But yours is an additional suggestion, for season 3 onwards.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

pier4r
Skynet
Skynet
Posts: 3336

Re: matchmaking small improvement for psychology.

Post#8 » 14 Oct 2018, 22:07

Bockwurst there are cases of players, though, that won't leave any ghosts. Yasgel for example (48 ranked matches, no losses nor draws). That somehow had 100% winrate. (his ghosts deployed at 1700 are now floating at 2100)
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

Bockwurst
Script
Script
Posts: 16

Re: matchmaking small improvement for psychology.

Post#9 » 14 Oct 2018, 22:35

That's a tricky one, but maybe this(quote) would be enough?

Bockwurst wrote:One could argue that at the beginning of the season your winrate is 0% so your initial deployment does leave a ghost.

User avatar
GFX47
Dev
Posts: 2845

Re: matchmaking small improvement for psychology.

Post#10 » 14 Oct 2018, 22:56

50% higher/lower opponent: I could test to change the elo filtering from "-100 / +100" to 50% of the time "-100" and 50% "+100".

Reset ghosts: I could test to disable ghosts that go too far from their initial deploy score, not only when going too low but also when going too high.

pier4r
Skynet
Skynet
Posts: 3336

Re: matchmaking small improvement for psychology.

Post#11 » 15 Oct 2018, 00:08

GFX47 wrote:50% higher/lower opponent: I could test to change the elo filtering from "-100 / +100" to 50% of the time "-100" and 50% "+100".

Yes exactly, with the clause that if one group is empty the other is picked

Reset ghosts: I could test to disable ghosts that go too far from their initial deploy score, not only when going too low but also when going too high.

Hmm I see it problematic. Be careful to not exclude those ghosts of people that are new, tested a lot not in ranked, and their ghost have good performances (example: yasgel, vector pleximus, antimedic, fate bots, mcompany).

The good ghosts are exactly those that are precious.
maybe we try with one change and then we collect some data first? I really have a bad feeling on taking away strong ghosts.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

Bockwurst
Script
Script
Posts: 16

Re: matchmaking small improvement for psychology.

Post#12 » 15 Oct 2018, 14:13

GFX47 wrote:Reset ghosts: I could test to disable ghosts that go too far from their initial deploy score, not only when going too low but also when going too high.


That's not really my suggestion, a ghost that is rising is perfectly fine.
What do you think of the 90% limit?

pier4r
Skynet
Skynet
Posts: 3336

Re: matchmaking small improvement for psychology.

Post#13 » 15 Oct 2018, 17:11

for the idea of bockwurst (that for me is additional to the "pick once the opponents with higher elo then the other time those of lower elo, unless one of the two groups is empty") to avoid losing good ghosts by new players that somehow prepare really well. I'd say that a ghost can be released nonetheless each time a hundreds score points is passed.

This because some people were really good (I noticed only a fraction of them):
Yasgel https://stats.gladiabots.com/player?v=15012&name=yasgel , notice ghosts at 2100 deployed at 1700.
antimedic https://stats.gladiabots.com/player?&na ... ostMatches (notice ghosts deployed at 1700 that are 2000)
mcompany https://stats.gladiabots.com/player?&di ... ntID=56545 notice deployed february 2018 (!) and being 2150 althogh started at 1900
fates bots https://stats.gladiabots.com/player?&na ... ostMatches (ghost at 2100 deployed at 1600)

Example.
Someone, for example yasgel, has over 90% win rate.
As long as the rate is over 90% a ghost is released when the player passed a hundreds threshold.
Yasgel goes over 1100 for the first time: ghost released
Yasgel goes over 1200, ghost released

and so on.
Since the winrate is >90% it is unlikely that one goes, say, 1250, 1190 and then again 1210. It may happen but not that often. Realistically hundreds are broken relatively often.

The same can happen post resets for strong players and so on. Actually with the "passed the threshold X" one can adjust the ghost deployment frequency relatively good. For example: release a ghost only if a score modulo 50 is crossed (with a non loss).
So players would release ghosts at 1250, 1300, 1350, 1400 and so on. Even if they fluctuate can happen, but less than the actual situation.

Anyway as I mentioned, the bockwurst variant is additional, the main topic is to pick available opponents in a balanced way, first higher opponents, then lower, unless one of the group is empty.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

B_head
Script
Script
Posts: 15
Contact:

Re: matchmaking small improvement for psychology.

Post#14 » 16 Oct 2018, 15:25

I think from the cause.

The system is erasing weak ghosts.
Obviously the ghost balance to break.

solution:
Do not erase weak ghosts.
deal with inflation in take score rake everyday from the ghost.

Strong ghost will not be a proper score even if time passes.
Even after two months of my ghost score has only changed by +80.
At this pace it will take more than a year to get the proper score.
スコアの変わらないゴースト.png
スコアの変わらないゴースト.png (32.26 KiB) Viewed 368 times

solution:
Delete a ghost with a larger lower score from the actual player.
Reduce ghosts in some way to do more matches.
Introduce glicko rating.
I am studying English. :geek:

pier4r
Skynet
Skynet
Posts: 3336

Re: matchmaking small improvement for psychology.

Post#15 » 16 Oct 2018, 16:04

We are going ot. The real thread would be: viewtopic.php?f=2&t=1433

The request wants to deal with picking ghosts lower and higher. That point is already covered I think.

By the way, let's continue.

About bhead ideas.

- Glicko rating helps but marginally (wouldn't be bad to read about it). At the end the elo works already quite well. I see it as a major effort to (re)compute rating and such for a little gain. Then after glicko one wants bayesian elo and so on and so forth, endless changes for infinitesimal gains. A bit like "I want a polygon that looks more like a circle. We have already 512 sides, push it to 1024! Why only 1024? Push it to 2048! Etc." the increase in real world efficacy is minimal.

- The point that the remaining ghosts are naturally selected and therefore stronger is a good point, but we want this or not? Keeping weak ghosts around, especially broken ones, is a bad idea. We had this, was frustrating. Anyway more about this later.

- taking points from ghosts to reduce inflation. Possible but tricky (resets do this quite nicely and in a simplified way if one sees the total sum of the scores and not the top scores). I wouldn't make it so simple, as stating something is much easier than implementing it without messing up.

- the ghosts change rating slowly, especially in crowded ranges. True. But that's not bad in general. It also means that the same strong ghosts are picked not that often.

Anyway the point I wanted to pick from bhead ideas, that I think it is quite ok, is the following:

Make a change to the activate/deactivate algorithm.
The current algorithm is:

Code: Select all

if ghost.score < ( ghost.originalScore - 50) and ghost.matches > 5 ; then
  ignore ghost
else
  consider ghost
end


Using the idea of bhead, that is not bad and should work relatively faster than the one from bockwurst (also, it should be easier to compute) we have:


Code: Select all

if ghost.score < ( ghost.originalScore - 50) and ghost.matches > 5 ; then
  # ghost underperforming
  ignore ghost
if ghost.score < ( player.score - 400) ; then
  # the ghost may be one of those too strong ones
  ignore ghost
else
  consider ghost
end


In short a ghost is not considered if it is 400 points under the actual score of the player (so if a player drops, a lot of the player's ghosts gets reactivated). Why 400 points? Because that is like the matchmaking limit. One could increase/decrease the value though.

Anyway I have to say that this change would tend a bit towards a "ego stroking matchmaking" (although a reasonable one) as it would make easier the life in score ranges far away from actual scores from strong players.

This, coupled with the 50% picks, should make the matchmaking much more bearable while keeping it competitive (of course forget that there won't be complaints. People want the maximum with no effort). Also the score range near the strong players would be increasingly harder, as people won't play their strong ghosts before being near to them, therefore being "surprised" by their strength.

Of course if a player got various resets, see good bot at 1800 now, would mean that all the ghosts from 400 points under the player score (that is 1400 for good bot) and above gets activated. And that's fine because if a player doesn't play it should also be true that the player ghosts should go through a process of selection and deactivation, instead of being idle.
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

User avatar
GFX47
Dev
Posts: 2845

Re: matchmaking small improvement for psychology.

Post#16 » 17 Oct 2018, 14:56

I'm not sure I get this:
if ghost.score < ( player.score - 400) ; then
# the ghost may be one of those too strong ones

User avatar
GFX47
Dev
Posts: 2845

Re: matchmaking small improvement for psychology.

Post#17 » 17 Oct 2018, 15:20

I patched the matchmaking algorithm to pick lower/higher elo ranking opponent at a 50% rate (random pick, not -/+/-/+/-/+).

pier4r
Skynet
Skynet
Posts: 3336

Re: matchmaking small improvement for psychology.

Post#18 » 17 Oct 2018, 16:34

yes, it should already be an improvement. And randomly means that is not exactly alwas +/- so it is also nice.

The rest (like the part I didn't clarify enough) can be discussed afterwards
http://www.reddit.com/r/Gladiabots/wiki/players/pier4r_nvidia_shield_k1 -> Gladiabots CHAT, stats, insights and more ;

User avatar
Ritter Runkel
Neural Network
Neural Network
Posts: 498

Re: matchmaking small improvement for psychology.

Post#19 » 17 Oct 2018, 21:42

GFX47 wrote:I patched the matchmaking algorithm to pick lower/higher elo ranking opponent at a 50% rate (random pick, not -/+/-/+/-/+).


Thank you. I'm glad you changed it.

mumpsimus
Algorithm
Algorithm
Posts: 63

Re: matchmaking small improvement for psychology.

Post#20 » 02 Nov 2018, 18:01

I think the real problem are the resets. Without them we wouldn't need all the tweaking to matchmaking, and the only problem that they aim to solve, as far as I'm aware, is Elo point inflation, which is kind of inherent with the introduction of ghosts, which have made the point system non-zero sum. I don't see the resets actually solving this problem, nor do I think it's an actual gameplay problem. The points are highly abstract and if the exact number of what it means to be a top 10 player changes over time, that seems fine to me.

Resets however *have* introduced actual gameplay problems, where there are now *many* ghosts of top 10 AIs with vastly undervalued Elo scores. Having 3000 Elo strength ghosts live around 1800 Elo is making the game much less fun for players who are not in the top 10, as there is now no way to make small improvements and have those result in modest point gains at those levels, because any gain will be taken away by these underranked ghosts.

Return to “Feature Requests”

Who is online

Users browsing this forum: No registered users and 1 guest