Author Topic: How to Properly Implement the Eventual Matchmaking System  (Read 8032 times)

Offline SupaChigga

  • Member
  • Salutes: 0
    • 1
    • View Profile
How to Properly Implement the Eventual Matchmaking System
« on: May 25, 2014, 03:03:22 am »
Hello Everyone! I just picked up GoI a few days ago and just played my first few matches. The game is a blast and I can't wait play with my friends in the coming weeks with it. This is my first post here and I wanted to give the dev team my ideas on how to improve the game. Keep in that I am a brand new player And I do not have the experience to comment on how the classes, ships, or abilities should be balanced with respect to different game modes, maps, and team sizes. With that being said, I hope that this post helps the devs see how they can improve public matches for GoI.

One last note: I do not want the devs to replace the current lobby system with automated matchmaking. The matchmaking should work alongside the current system. Additionally, the matchmaking and lobbies should be completely separate, the players in matchmaking should not be put into lobbies.

In short, the preferred kind of matchmaking for GoI would be very similar to the matchmaking in the game Smite. (Note, I don't actually play Smite, I've only seen videos on how the matchmaking works. I apologize for anything I get wrong about the Smite matchmaking). Here's how I envision the matchmaking in GoI should work.

1. On the main menu, there will be 2 separate buttons labeled "Lobbies" and "Matchmaking". Pressing the Lobbies button will enter you into the same lobby list that is currently implemented in the game.

2. Upon pressing the Matchmaking button, you would come to a menu with a button for each different gametype in a list. Underneath (or to the right/left) of each button would be a timer that is counting down. All of these counters would be counting down. It would look something like this:

GametypeTime Remaining till Next Match
Capture Point3:12
Crazy King7:40
Deathmatch14:01
King of Hill5:10
Resource Race0:30

Each of these timers would be counting down together at an equal rate. You would be able to press on a gametype, which would then bring up a textbox explaining the rules of the match and the possible maps for that gametype (with icons of the maps. It's hard to remember maps by name). There will also be textbox that tells the possible number of teams for that specific gametype (i.e. Deathmatch Teamsize 2-4 ships per team. This could be randomized or specific to the map chosen)

You would then press a "confirm" button in the bottom right to enter the queue for the gametype you just selected. Upon doing this, a copy of the timer for that specific gametype would show up over the guns of icarus logo on the top of the menu (This would mean that you would be able to see this timer count down no matter which menu you navigate to). When the timer counted down to zero, you would automatically be put on a crew and the match would start immediately.

3. How this system works:
When a player enters a queue for a certain gametype in the matchmaking menu, they are added to a list and their information is recorded be the matchmaking system. When the timer hits zero, all of the players that opted in to play that gametype will automatically be put into balanced crews based primarily on their skill rating and secondarily on their level. The ship and ship's loadout will be based on the captain's ship choice. All of the crew loadouts will be one captain, one gunner, and two engineers (more on this later). A random map will then be chosen (and the team size for that specific map if needed). The matchmaking system will then put teams of (primarily) equal skill and (secondarily) similar levels together.

The match will then start automatically without any lobby in between(more on this later). For the remaining players that do not have enough other players to form full games with, a pop up message will show up for them telling them that the matchmaking could not find a match for them.

4. Why this matchmaking system is preferred normal matchmaking and the lobby system:

A) This matchmaking system encourages players to try out different gametypes. Because the timer countdown for each of the gametypes is staggered, players looking for a quick match will be drawn to queue up for a gametype that is starting soon. As the timer gets closer and closer to zero, more and more players will sign up for that gametype because they know they will immediately jump into a game. With the above example, many players will sign up for Resource Race, a gametype that I rarely see lobbies for. This also makes it easier for players to finish challenges and achievements for gametypes that are not very popular.

B) This matchmaking system alleviates waiting in lobbies. With the current system, it cant take a while for a game to get started as people keep joining and leaving lobbies, players switch around on teams, and your lobby is competing with all of the other public lobbies who are also trying to start a match. Additionally, this matchmaking system gives the player a set time until the match starts, letting the player browse the web or watch vids without having to worry about the match starting without them noticing. This is much better then forcing all players to be stuck in a lobby waiting for players to trickle in and have everyone ready up. Additionally, since the timer will be superimposed on the Guns of Icarus logo, players can navigate to any menu and customize their loadout and ship while the timer counts down.

C) The crews and teams are always balanced. Because the matchmaking system does not start assigning players into crews and teams until the timer hits zero, that means that when the timer does hit zero, the matchmaking system will have a large pool of players to pick from to form balanced crews and teams.

5. Important Notes:

If a party of 2 or more people queue up in this timed matchmaking, there are many ways for the matchmaking system to deal with this
A) The party's skill levels are averaged out, and that average skill level is used when the matchmaking is creating teams
B) The party will have a new skill level assigned to them that only applies when that particular combination of players parties up together. (This is very intensive server-side, as the skill level of all combinations of players, parties of 2,3, or 4, have to be stored and updated by the dev's online database). However, Method B is preferred over method A since a party of players that know eachother with planned out loadouts will likely do much better that a crew of random players that don't know eachother.
C) Split each gametype matchmaking into two sections: Single players and parties. This may not be the best solution since this will splinter the playerbase even further.
D) Don't allow parties in the matchmaking. If players want to party up, they will have to use the lobby system.

The homogenized loadout of one captain, one gunner, and two engineers is necessary to make sure all teams are equally balanced in this regard. If you want to specialize the crew, players will have to use the lobby system.

When a player signs up to do matchmaking, they will never be put into a lobby from the moment they queue up to the moment the match ends. This is present because the matchmaking is supposed to be a form of "instant action" for players to jump into. Any players that want to plan with their team beforehand or synergize player loadouts should use the lobby system.

6. Final Thoughts
I hope that this post is helpful to the devs in their design of matchmaking. If there are any questions regarding how this matchmaking works, I will be happy to answer. I look forward to playing more of this game; I'll see you in the skies!
« Last Edit: May 25, 2014, 03:19:57 am by SupaChigga »

Offline Mattilald Anguisad

  • Community Ambassador
  • Salutes: 12
    • [GwTh]
    • 12 
    • 45
    • 30 
    • View Profile
Re: How to Properly Implement the Eventual Matchmaking System
« Reply #1 on: May 25, 2014, 05:59:14 am »
There are some interesting ideas.

Matchmaking will have a prematch lobby, becouse there is no universal tools and loadouts (at least when it comes to captains) - you need to prepate for what your ship needs and for what your enemy is bringing, all within x seconds. There is also going to ba a post match lobby with no timer limit.

Ship crew will be set to a default 1 Pilot, 1 gunner, 2 engineers - but will alow for flexibility when joining queue as a team. Team balancing will work by balancing the player's Glicko2 ratings (premade teams will not be split apart, but opising team will be given players that have as average same rating as your team.

On the final note lobby system will probably remain, but in a diffirent form (lobby list generates way too much overhead, and is thus very ineficcient).

Offline SupaChigga

  • Member
  • Salutes: 0
    • 1
    • View Profile
Re: How to Properly Implement the Eventual Matchmaking System
« Reply #2 on: May 25, 2014, 05:46:16 pm »
Matchmaking will have a prematch lobby, becouse there is no universal tools and loadouts (at least when it comes to captains) - you need to prepate for what your ship needs and for what your enemy is bringing, all within x seconds. There is also going to ba a post match lobby with no timer limit.

Ship crew will be set to a default 1 Pilot, 1 gunner, 2 engineers - but will alow for flexibility when joining queue as a team. Team balancing will work by balancing the player's Glicko2 ratings (premade teams will not be split apart, but opising team will be given players that have as average same rating as your team.

I agree that a short lobby period of about 60-120 seconds (matchmaking should start games quickly) before the match could be helpful for the crew to plan. However, I disagree with allowing players to switch between crews. This would mess up the balance that the matchmaking system used to form balanced teams. Team members could be scrambled after the first match (by the matchmaking system to reform new balanced teams).

Furthermore, I wanted to explain one last benefit of the "timed" matchmaking system. The system allows the matchmaking to dynamically change the countdown times based on how many players are online. From what I have read, the player base for GoI tends to fluctuate greatly with sales of the games. There are many periods where a smaller population of players is online. During these times of lower player counts, the matchmaking system could automatically increase the countdown times for the gametypes. By doing this, more players will be able to opt in to play a match before the timer hits zero, alleviating the low player count. This is a much better alternative then waiting in a lobby for players to slowly join in. The system could also decrease countdown times when a large playerbase is online to decrease the time waiting for a match to start.

Giving players a set time until the match is starting is far better than the current system where a player must remain inside a lobby waiting for every player slot to be filled and then having all pilots ready up to start. With the timed system, a player simply needs to choose and confirm a gametype, wait until the time hits zero (they can do anything else they want during the countdown such as choose loadouts or watch videos) and then go into a lobby for 60-120 seconds and have the match start. If there weren't enough players to start a match, the player simply needs to choose a different gametype and wait until that timer hits zero. While this isn't perfect, it's much better than the current system because players are given a timer for when their attention is needed to start a game.

Offline Wundsalz

  • Member
  • Salutes: 72
    • [Rydr]
    • 45 
    • 45
    • 45 
    • View Profile
Re: How to Properly Implement the Eventual Matchmaking System
« Reply #3 on: May 25, 2014, 06:05:17 pm »
personally i think a preparation time of roughly 5 min to be more suitable for this game. There's a lot to discuss: First you need to think of a strategy and pick your shiploadout and then you need to get everyone to pick a proper crew-load-out. That can take quite some time.
I've got one feature request to quicken things up: Let captains set recommended crew-load-outs for their ship builds and assign those to all crew members when the ship is changed unless they actively disagree! (popup with a yes/no menu + a text message informing everyone about the choice of each crew-member.)

Offline SupaChigga

  • Member
  • Salutes: 0
    • 1
    • View Profile
Re: How to Properly Implement the Eventual Matchmaking System
« Reply #4 on: May 25, 2014, 06:10:48 pm »
personally i think a preparation time of roughly 5 min to be more suitable for this game. There's a lot to discuss: First you need to think of a strategy and pick your shiploadout and then you need to get everyone to pick a proper crew-load-out. That can take quite some time.
I've got one feature request to quicken things up: Let captains set recommended crew-load-outs for their ship builds and assign those to all crew members when the ship is changed unless they actively disagree! (popup with a yes/no menu + a text message informing everyone about the choice of each crew-member.)

Absolutely! I'm brand new, so I'll defer to your experience that 5 minutes is a more reasonable set up time. The ability for captains to "recommend" crew loadouts to their crew is a great idea as well (Especially if the captain does not have a microphone).

Offline Mattilald Anguisad

  • Community Ambassador
  • Salutes: 12
    • [GwTh]
    • 12 
    • 45
    • 30 
    • View Profile
Re: How to Properly Implement the Eventual Matchmaking System
« Reply #5 on: May 25, 2014, 06:52:31 pm »
Matchmaking would automaticaly dump all the players in the loby at the same time, and switching between the teams won't be possible - for the obvious reason you pointed out yourselt.