supertuxkart / stk-code

The code base of supertuxkart
Other
4.46k stars 1.05k forks source link

Tracks should not repeat in ranked #4357

Open Alayan-stk-2 opened 4 years ago

Alayan-stk-2 commented 4 years ago

Every player has some "best track" where their relative performance against other players is better. The rankings are supposed to show strength across the STK tracks, not just over one or a few favorite track.

People usually vote for the tracks they enjoy most, but there is an implicit understanding that over a playing session there should be a rotation over available tracks before going for repeats. Most players abide by this unwritten rule, but some vote over and over again for one of a small number of tracks.

Two or three such people in a server can make it very likely their choice go through. They are even more effective at preventing tracks they don't like from being picked at all.

It's not fun for other players that have to play the same tracks over and over, and it creates trouble for the rating system as "specialists" get an inflated rating compared to people who play most of the tracks.

This isn't without issues.

On a related topic, the reverse direction is rare. It is used from time to time by people who want to avoid the staleness of looping over the same tracks again, as most tracks offer a noticeably different gameplay and a fresh experience in reverse. Reverse mode makes STK more rich and varied, it would be bad to avoid it entirely with random tracks in ranked.

But people that aren't used to playing in reverse often end up quitting if the other players manage to vote to play some track in reverse. Because they avoid it all the time, they can never learn to play the tracks in reverse, and keep avoiding them.

SvenAndreasBelting commented 4 years ago

Hi Here a few quick thoughts and ideas.

Instead of allowing players to ban some tracks from being played, they could choose one or two tracks on which they are allowed to quit without loosing points. Maybe on that tracks they could even be allowed to quit before the first lap is finished without loosing points, this way they could try to drive the track and if it starts to lag they could still quit.

Another idea could be that STK chooses randomly two (or more) tracks (of course only tracks that haven't been played short before) and the players could choose between them.

qwertychouskie commented 4 years ago

One potential option is to have the server vote just as players do. The server would vote for a random track (exc. Black Forest for the time being until a better system is figured out), and would internally have a number of votes equal to the what is currently the highest voted track. That way, it's a 50-50 chance of either the top vote or the server random vote being selected, and players won't know for sure which one until the race starts.

TheYellowArchitect commented 3 years ago

I think this is not a serious issue, because many players voting for their favourite track on repeat, is happening in every lobby, and so, the % is balanced for each player (e.g. Player 1 plays on his favourite track 10 times, Player 2 plays on his favourite track 10 times, in enough games of course because of rng sample)

The elo system cannot ever be accurate anyway, as in "objectively the best in supertuxkart" - it is an approximation.

As for the only change which would help in this issue, is perhaps a stage ban system, just like fighting games do, where the winner or whatever can ban a stage for current round. But honestly, just having the current stage unable to be played for X rounds (X=number of players inside lobby) would fix this. All other solutions seem bloated (punishment, optional point loss, server voting etc etc)

Edit: If you want a "objectively the best in STK" elo system, the optimal solution would be a "grandprix" of all official tracks, where every track is played once, before repeating. For hardware-intensive maps, just have each player ban 1 map (not exclusively ban, so others don't see what is banned!) I think this is too much imo, takes too much time-investment, but it sounds good to judge on the top players imo.

Alayan-stk-2 commented 3 years ago

It's not a serious issue relatively to many others, but it's still a concern.

I think this is not a serious issue, because many players voting for their favourite track on repeat, is happening in every lobby, and so, the % is balanced for each player (e.g. Player 1 plays on his favourite track 10 times, Player 2 plays on his favourite track 10 times, in enough games of course because of rng sample)

The selected track is the one with the most votes, not a random weighted pick, so two or three persons who try to play one track as much as possible can really skew things.

The implicit unwritten rule about rotating over the tracks during a playing session is something most decent players abide by in ranked, but this issue was opened after real abuse, with something like Scotland getting played 5 times out of 10, or something ridiculous like this, and it wasn't a one-off. This can really suck out fun.

The elo system cannot ever be accurate anyway, as in "objectively the best in supertuxkart" - it is an approximation.

Sure, the rating system is not and cannot be perfect for plenty of reasons. But when some try hard to game it, it's normal to think of ways to limit that.

But honestly, just having the current stage unable to be played for X rounds (X=number of players inside lobby) would fix this. All other solutions seem bloated (punishment, optional point loss, server voting etc etc)

Preventing the same track to be played again in ranked for some number of races (or some time limit) is a sensible alternative proposal to full server-side track selection.

Regarding the "punishment", in a random track scheme, they have a purpose, to limit people just closing STK if the selected track is not their favorite. That's an issue that affects at least one very big online matchmaking system I know of. Granted, iit's likely not worth the effort for now.