Thoughts on how to fix Arena matchmaking
-
So after multiple times of sitting in the Sea Dog Tavern for 40 minutes searching for crews and the game not starting because of one or more crews only have one person, here are my thoughts on matchmaking for the arena.
My best guess of what is currently happening, and I could be very wrong, is the game is trying to get 5 crews of 3 or 4 people before the game starts. It appears that if a person solo queues then they are dropped in on their own crew. If a second person solo queues then they are dropped in on another crew and so on. Then when all crew have 1 person then it starts over. Open crews of more than one mix this up a bit but the general idea is still there. I'm not 100% sure this is how it is set up but from my experience of sitting in lobbies for 20, 30, 40+ minutes at a time, this is how it looks to me.
How I would consider setting this up is to start by pairing people in open crew into a group of at least 3 before they even load into the Sea Dogs Tavern (closed crews already require 3 to start). This can be either during the 'Searching the Seas' screen or load then into their own tavern and merge later. Doing this would make it so 3-4 (potentially pre-made) crews aren't waiting for people to be matched to the one guy on a crew by himself. This would be my preferred approach.
Another idea is instead of trying to fill 5 crews, fill one at a time up to at least 3 people until there are 4 crews, then start a hidden 1 minute countdown. Then start to fill the 5th crew. Then start filling any open 4th player slots. Any pre-made 3-player open crews should be ignored from filling the 4th slot until all solo/duo queues have 4 players. Closed crews should not ever get a 4th. At the end of the hidden countdown, assuming nobody has left the queue bringing a crew below 3 people, the game should start. If there's a 5th crew that still doesn't have 3 people then they should be moved into another lobby and the game starts with 4 crews (this is just personal preference that I would rather start a game with 4 crews over waiting longer to get a 5th). If there's less than 4 crews with enough players then it should trigger a merge.
The 'server merge,' as it currently is, most of the time doesn't actually change the player list in the current lobby, however there is likely more going on behind the scenes. Regardless, this should be used as an opportunity to take any partial crews (less than 3) across multiple lobbies and combine them into as many crews of 4 as possible, move them into lobbies that have open crew slots (partial crews in lobbies before the merge would now be open slots), and any remaining players should be moved to a new lobby awaiting another merge or new players in the queue. The purpose of the new lobby is to keep them isolated and put them back in / keep them in the original queue but not have to kick them back to the menu as that would be annoying to the average user that doesn't understand what's going on.
Another suggestion that I would strongly consider adding, even to the current build, is some kind of on screen indicator of how many crews/people are in the game and how many are needed to start. This will give people in the lobby a quick indication of the status on starting the match and hopefully keep people from backing out if they can see the match is close to starting. I really like the simple UI of this game but in a lobby where people are waiting and doing nothing there needs to be some feedback so people don't just think the lobby is broken.
This post isn't necessarily intended to be the solution that Rare uses, assuming they even see it, but rather putting some ideas out there. Having no experience with writing matchmaking systems myself, I assume there are levels of complexity that I'm not considering. Rare's developers need to figure out a solution that makes sense to them. Hopefully what they figure out is better than what we currently have. These are just the thoughts of a software engineer (not a game dev so might as well be an armchair developer in this case) that wants to play the game and not wait in a lobby for an extended period of time. Best case scenario this sparks the right idea to the right people that pushes development in the correct direction. Best of luck Rare.