Wednesday, October 24, 2012
Product Owner: David Candland
When players begin an activity that allows matchmaking they are taken from orbit to the matchmaking progress screen that matches him with other players.
- Give the player feedback and basic progress in the search for other players
- Allow matchmade players to show off the emblems and ships they have acquired
We don't want to display too much information, otherwise players may misinterpret or second guess our matchmaking model. Worse than that, TMI could help players "work the system."
The matchmaking progress screen is the piece of UI that we display to the user when they are matching with other players prior to getting into an activity. There are two types of activities that a player can match into: PvP and PvE. Currently, the only PvE activities with matchmaking are Strikes. The only current PvP activity now is Faction Wars, but potentially more could come online (such as tournaments).
The Matchmaking screen
When the player has selected and launched an activity and the Director UI is dismissed, the player maintains their view of orbit. What happens next depends on the activity, each having a slightly different player experience. For the purposes of this spec, we will only address those that cause the player to match with other players.
On the matchmaking screen, the player is informed how many players are needed for the match in a string (X of Y players). We also display a button key that informs the player when they are still able to back out of matchmaking.
There are a maximum of 4 steps in matchmaking that we display to the player. The text string that we display is in [BOLD BRACKETS].
Stage 1: Finding Games
- Querying service for games [LOOKING FOR GAMES]
- Getting results
- During this time, results are mostly measured by players popping into the roster. The spinner continues to churn so players are aware that we are doing something even though there may be little feedback.
- 3. Analyzing results [EVALUATING GAMES]
- Success? Move forward to step 4.
- Timer still running? Loop back to 1
- Timer ended? Kick player back to director and pop the failure toast.
- Are there enough players to start/join game?
- Yes. Move to stage 2
- No. Continue looking for players [LOOKING FOR MORE PLAYERS]
Stage 2: Starting game
- New game: Message [STARTING GAME]
- Game in progress: message [JOINING GAME IN PROGRESS]
- Kick player back to director and pop the generic failure toast.
- Kick player back to director and pop the 'missing DLC' failure toast.
The players are given the status of their search below the roster on the right. We display the number of gathered players/the maximum players to start.
To prevent searches that could theoretically last forever, the matchmaking process has a failsafe timer that stops the search after a predefined time. If the search fails, the party is returned to the director and a toast pops up saying that matchmaking failed. The circular meter around the numerical status lets players know how much longer before we either restart matching, fail, or just go ahead and start the game anyway.
The Matchmaking Roster
In matchmaking, we display the nameplate of each player in your fireteam, replicating the same exact roster functionality we have in the orbit screen.
In PvP, as players match in, they maintain their anonymity. This way players won’t be able to keep backing out until they match with opponents they like, thus increasing match times. While searching, we display the number of players/the total number we are searching for. The players in my current fireteam maintain the same nameplates we had in the orbit screen.
Once we have enough people to start, we divide up the teams and immediately begin caching the ships for display. In the roster, my teammates are revealed. My opponents are not. My teammate ships are also revealed and appear in on the screen with me and my fireteam. This cinematic needs to be 4:3 friendly. The player is no longer able to back out at this time.
In PvE strikes, we max out at 3 players, total. We are not dividing into teams. Everyone matched with you is a friendly. The flow remains the same though for both PvE and PvP matchmaking. Strikes are a 3 person activity. If 3 people start a strike, matchmaking is bypassed altogether.
For non-matchmaking activities, if there is a load error, we wouldn’t know about it until we have tried and failed to load the level during the flight cinematic. The cinematics team has a filler loop showing the ships in low orbit when you reach the planet. If loading takes longer than anticipated, we continue to loop the cinematic there. If the load fails, we bump you back to orbit (displaying that planet in the background) and pop a load failure error message.
In the event that there are less than 3 players, then we search in matchmaking to fill the openings until we have 3. Players in the current party display their ships, but players that match in do not. This way the cinematics team does not have to deal with loading and unloading potential player ships as matches come and go (which will be more problematic in Faction Wars, but still applies to strikes somewhat.
The selected activity from the director remains visible on-screen. Once matching begins, however, the (Y) Friends menu goes away. We don't want to encourage people inviting/joining friends at this point in the process, because they can't.
The roster is sorted by your fireteam on top, then the remaining players, in no particular order.
Player communication settings are set in the playlist settings. These settings dictate whether or not the voice of matched players is on or off.
While tower matchmaking is something that we do, the player's perception is that they are just going home, no matchmaking occurring. We want to drive people to the tower, so it is imperative that the process of getting them there is as transparent as selecting a campaign level.
Right now the Tower code looks something like, upon launching go into a state of, “try to find a Tower to join for 20 seconds, and if you can’t find one, start your own.” From the player's perspective, they select the tower from the Director and the Director UI cuts away. During this time, we display the status UI text string, "Waiting for tower clearance..." The travel cinematic plays during this time. Once a match has been found, the ship simply leaves orbit as if he was going directly to an area.
Social Spaces Matchmaking
Matching to other social spaces should be an experience very similar to the tower. However, behind the scenes we are really doing something more akin to strike matchmaking into a public bubble. We don't want to display a roster filling with people for various reasons. Most commonly, players will find an existing session and join it in progress.
From the player's perspective, their ship simply leaves orbit as if they are going directly to an area. In the flight cinematic, we have a section at the end that allows us to loop the shot of the planet to create a buffer for the unknown timing of the matchmaking cycle. If we haven't found a suitable match by then, this shot continues to loop until we are matched or otherwise set up.
Once we have told the player he has reached the STARTING GAME phase at the end of the matchmaking cycle, the words STARTING GAME are displayed in the progress block. The spinner goes away and the roster transitions out.
The level begins to load, and we then move into the landing cinematic:
Postgame Posse Intermission
As soon as a game is complete and (in Faction wars) when the postgame scoreboard is up, the players that have are given a playlist defined timer (in seconds) intermission before continuing on with their posse of players. During this time, players may opt to leave, talk, inspect, and interact with others.
In the example below, the timer is at 20 seconds and counting.
Each line item is interactable, giving the standard contextual player menu when selected.
Upon completion, matchmaking begins again at Stage 1: Finding Games if more players are needed. If everyone chose to stay in the posse, matchmaking goes directly to Stage 2: Starting game.