ZeroK-RTS / Chobby

Spring RTS Ingame lobby project
16 stars 37 forks source link

Thoughts about matchmaking and !proposebattle #746

Open seedship opened 4 years ago

seedship commented 4 years ago

http://zero-k.info/Forum/Post/222188#222188

To summarize, I think !proposebattle is a novel attempt to promote better matchmaking, but I think it should be integrated into matchmaking itself. I propose the following solution:

Matchmaking should be always active, and consider all logged on players who are not fighting ingame as a player (ingame specs should be considered for battles) and not afk for battles. When it identifies a possible game, it should show 'sortie available' or 'teams available', similar to how it sometimes says '1v1 available'. (Even for ingame specs)

This solution is noninvasive, as we get 1v1 available popups anyway, and players can choose not to click on them. I believe it will also help end lobsterfests that the entire community is divided on.

sprunk commented 4 years ago

For 1v1 popups there is exactly 1 player missing (which would be you). In teams this doesn't hold up because for all we know 5 out of those 8 people are just playing the chat game and will decline, wasting everybody's time. AFAIK we do actually get "teams available" popups as long as an teams MM queue has N-1 people and you would fit the last slot (but this happens so rarely it's hard to tell if it exists).

seedship commented 4 years ago

This waste's nobody's time. First of all, the current matchmaker system is hidden behind a menu that no one goes to.

Second of all, whenever I check Teams All Welcome, at least 30% of the players in the room are specs. This doesn't include the people who are listed as players but joined late and are waiting for the game to end. You mean to tell me, that you can't pull 4-6 people out of the Teams All Welcome, given how many angry posts there have been about unbalanced games? I've witnessed firsthand people trying to organize games via chat in Teams All Welcome this way.

Second of all, let's say it is a quiet day and matchmaker can only identify 4 people of similar skill and flashes the popup of 'small teams available'. 3 People accept but the 4th declines. Then there is no game, but the 3 people who accepted wouldn't have gotten a game anyway, so nobody loses anything they would have had. And at least this motivates the 3 people to keep waiting for maybe a 4th to show up.

DeinFreund commented 4 years ago

There is a system which can show MM team invites to players after each big teams battle. It will ignore players that previously denied and count all other players in the room + those in queue to find possible matches. This system was deemed intrusive and disappointing by most players since nearly always someone declined. Even though it wouldn't show invites again to those who declined before and only considered players in the teams host.

GoogleFrog commented 4 years ago

"Battle available" would be a lie when the battle is not actually available. You can't say that the battle is available just because there are enough people logged in.

How does this ticket differ from there being a big button at the top of the screen that says "Join 4v4 Matchmaker" whenever the player is in the multiplayer submenu and not in the 4v4 matchmaker?

Second of all, let's say it is a quiet day and matchmaker can only identify 4 people of similar skill and flashes the popup of 'small teams available'. 3 People accept but the 4th declines. Then there is no game, but the 3 people who accepted wouldn't have gotten a game anyway, so nobody loses anything they would have had. And at least this motivates the 3 people to keep waiting for maybe a 4th to show up.

Annoying popups is a loss. If a player puts in work to get nowhere they will very quickly learn not to put in the work. Your proposal could very easily train people out of clicking "1v1 available" when a 1v1 is actually available.

seedship commented 4 years ago

@GoogleFrog I see your point. I agree, my proposal would be similar to putting 'Join 4v4 Matchmaker' in the multiplayer submenu, although that would fail to capture specs in games who are waiting for the game to end.

I just feel like many players (myself included) are frustrated at the difficulty of getting small games when lobster pots are happening, yet my experience with the teams matchmaker has been it is always empty, and as a result, I am too lazy to queue up. Thus, I think some UI change should be made to make it require less steps to queue up for the teams matchmaker.

Perhaps we should make a poll or solicit community ideas?

Sortale commented 4 years ago

maybe a tick box of "auto joining queue on login" so people can opt-in to queue with reduced friction. (maybe have a delay of 2-3 sec before joining so the lobby can load proper?) Also a bit unrelated maybe another tick box for "continue to queue while spectating(or even playing single player)" so people can continue to wait while they spectating lob pot [the current system is not working for battle queque]. if they join an actual battle as a player then take them off the queue. series of tick box to people can specify exactly which kind of game they prefer

make all these tick boxes persistent to further reduce friction. something like this:

[Join queue] [ ]auto joining queue on login [ ]continue to queue while spectating Tick all the queues you want to join [ ]Coop-against AI [ ]Coop-against Chicken [ ]1v1 [ ]2v2 [ ]3v3 [ ]4v4 [ ]5v5 (maybe []6v6)

the Lobster pot conitue to serve as the place to go for lobster pot where everyone can join to play or to spectate while waiting for queue.

While I am griping about the design, can we fix the problem where the location of the join queue buttons keep jumping around each lobby start? https://github.com/ZeroK-RTS/Chobby/issues/598

GoogleFrog commented 4 years ago

With all of these suggestions that make joining MM easier (or automatic) you need to consider whether you are tricking people into the MM and whether they will actually want to play when the battle is found. If the system is so frictionless that people forget they joined or do not even realise that they joined, then a lot of the battle popups will fail and people will learn to actively avoid the MM.

You can make this tickbox into a combobox with a spectating option, if you can figure out how to check whether you will spectate: image

While I am griping about the design, can we fix the problem where the location of the join queue buttons keep jumping around each lobby start?

Report this on a dedicated ticket.

Sortale commented 4 years ago

I linked the dedicated ticket above: #598

I was hoping to prevent the problem of people forgetting that they join by making the system opt in.

Ultimately we have to make some trade off somewhere, and I do not have enough data to say which implementation is better. I assume that a trial of what I suggest is worth it if only for the data collected alone, but I am very uncertain.