nn::nex::MatchmakeSelectionMethod Enumerated Type

Syntax

enum MatchmakeSelectionMethod;

Value

Value Description
MATCHMAKE_SELECTION_METHOD_RANDOM Specifies random selection.
MATCHMAKE_SELECTION_METHOD_NEAREST_NEIGHBOR Specifies selection of the matchmaking session with the closest attributes.
MATCHMAKE_SELECTION_METHOD_BROADEN_RANGE Specifies selection using range broadening.
MATCHMAKE_SELECTION_METHOD_PROGRESS_SCORE Specifies selection of the matchmaking session with the highest game progress score.
MATCHMAKE_SELECTION_METHOD_BROADEN_RANGE_WITH_PROGRESS_SCORE Specifies selection using a combination of range broadening and game progress score.
MATCHMAKE_SELECTION_METHOD_SCORE_BASED Applies a score to each parameter and uses the scores to select the best choice.

Description

Method for selecting which of the discovered matchmaking sessions to join.

When the auto-matchmaking feature is used, if more than one matchmaking session meets the search criteria, the game server decides which session to join based on the selection method specified by the MatchmakeSessionSearchCriteria::SetSelectionMethod function. The default is random. The MatchmakeSelectionMethod value can be set using MatchmakeSessionSearchCriteria::SetSelectionMethod. If more than 50 matchmaking sessions meet the search criteria, you can apply the selection method specified by the MatchmakeSessionSearchCriteria::SetSelectionMethod function to any 50 of the sessions.

If MATCHMAKE_SELECTION_METHOD_RANDOM is specified, the sessions are selected randomly.

If MATCHMAKE_SELECTION_METHOD_NEAREST_NEIGHBOR is specified, the matchmaking sessions with the closest attribute value to that in the MatchmakeSession object passed as an argument to MatchmakeExtensionClient::AutoMatchmake are selected. The attribute value in the MATCHMAKE_SELECTION_METHOD_NEAREST_NEIGHBOR index is used. If more than one matchmaking session has the same attribute value, the matchmaking sessions are selected in order of gathering ID. If more than 50 matchmaking sessions meet the search criteria, the matchmaking sessions with the closest attribute value are not always the ones to be selected.

If MATCHMAKE_SELECTION_METHOD_BROADEN_RANGE is specified, the matchmaking session is selected using the range broadening method. A "range" refers one set of integer values from a sequence of integers divided into multiple levels based on threshold values. The default setting assumes the use of the Elo rating system, where integers from 0 to 10000 are divided into 12 different levels: 0-1100, 1101-1240, 1241-1400, 1401-1520, 1521-1620, 1621-1720, 1721-1815, 1816-1925, 1926-2040, 2041-2180, 2181-2300, 2301-10000. Each level is a range. When using the range broadening method, a matchmaking session that has an attribute value within the same range as the attribute value of the MatchmakeSession object passed as an argument to MatchmakeExtensionClient::AutoMatchmake is randomly selected from the matchmaking sessions that meet the search criteria. The attribute value in the MATCHMAKE_SESSION_BROADEN_RANGE_ATTRIBUTE_INDEX index is used. If a matchmaking session in the same range cannot be found, the scope can be expanded to any range adjacent to the current range. A matchmaking session is then randomly selected from the matchmaking sessions that meet the search criteria in the broader range and have the same attribute value in the MATCHMAKE_SESSION_BROADEN_RANGE_ATTRIBUTE_INDEX index. By default, the range is expanded to the two ranges before and after the current range. For example, based on the ranges given above, if a matchmaking session was not found in the 1401-1520 range, the range would be expanded to 1101-1720. This feature can be used to enable matchmaking with closely-ranked players in games that rank players based on a rating score by, for example, setting the attribute value in the MATCHMAKE_SESSION_BROADEN_RANGE_ATTRIBUTE_INDEX index to the rating score and setting the ranges based on the ranks.

If MATCHMAKE_SELECTION_METHOD_PROGRESS_SCORE is specified, the matchmaking session with the closest game progress score to the value set using MatchmakeSession::SetProgressScore or MatchmakeExtensionClient::UpdateProgressScore is selected from the matchmaking sessions that meet the search criteria. This feature is useful when, for example, a game accepts new participants for the next match after the current match has already begun. It would allow players to join a match that is almost over rather than one that has just begun, reducing the amount of wait time until the next match. To achieve this, you would set the game progress score to 0 at the beginning of the match, and use the MatchmakeExtensionClient::UpdateProgressScore function to periodically update the game progress as the match progresses. Note that frequently calling MatchmakeExtensionClient::UpdateProgressScore increases the load on the server. Update the score at an interval of UPDATE_PROGRESS_SCORE_MINIMUM_INTERVAL_TIME seconds or longer.

If MATCHMAKE_SELECTION_METHOD_BROADEN_RANGE_WITH_PROGRESS_SCORE is specified, the matchmaking session is selected using a combination of range broadening and the game progress score. The matchmaking session that has an attribute value within the same range as the attribute value of the MatchmakeSession object passed as an argument to MatchmakeExtensionClient::AutoMatchmake, and also has the highest game progress score, is selected from the matchmaking sessions that meet the search criteria. The attribute value in the MATCHMAKE_SESSION_BROADEN_RANGE_ATTRIBUTE_INDEX index is used. If a matchmaking session in the same range cannot be found, the scope can be expanded to any range adjacent to the current range. The matchmaking session with the highest game progress score is then selected from the matchmaking sessions that meet the search criteria in the broader range.

If MATCHMAKE_SELECTION_METHOD_SCORE_BASED is specified, the best matchmaking session is selected by applying a score to various parameters. Score conversions are defined in advance. To assign scores for various parameter types, parameters of matchmaking sessions that match the search criteria are compared with the sessions for the user, and the matchmaking session with the highest total score is selected. The following parameters are used.

Rating value difference
Disconnect rate difference
Violation rate difference
Distance, considering the path on the Internet
Country match
Country match if there is no distance information
Duration of the matchmaking session
Matchmaking session progress

By changing the score conversion settings index, multiple types of conversion can be used. For example, you can change the assignment of scores by changing the setting index according to the game mode.When multiple MatchmakeSessionSearchCriteria objects are specified, the first criterion is used as the strictest score conversion, the second is used somewhat less strictly, and so on to enable the best matchmaking session to be found. To use this feature, you must use an overloaded MatchmakeSessionSearchCriteria::SetSelectionMethod function, which takes a MatchmakeParam argument. Also, the MatchmakeParam object specified to this function must also be specified to the MatchmakeSession using the MatchmakeSession::SetMatchmakeParam function. The application must set the information such as the user's own rating value, disconnect rate, violation rate, and country for the MatchmakeParam If the application calculates the rating value, disconnect rate, and violation rate, consider using MatchmakeReferee.

Revision History

2014/04/15
Removed the beta designation from MATCHMAKE_SELECTION_METHOD_SCORE_BASED.
2013/12/18
Added MATCHMAKE_SELECTION_METHOD_SCORE_BASED.
2013/05/20
Added the MATCHMAKE_SELECTION_METHOD_BROADEN_RANGE, MATCHMAKE_SELECTION_METHOD_PROGRESS_SCORE, and MATCHMAKE_SELECTION_METHOD_BROADEN_RANGE_WITH_PROGRESS_SCORE values.
2013/03/18
Added a description for MATCHMAKE_SELECTION_METHOD_NEAREST_NEIGHBOR.
2012/05/14
Initial version.

CONFIDENTIAL