enum MatchmakeSelectionMethod;
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. |
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.
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
.
MATCHMAKE_SELECTION_METHOD_SCORE_BASED
.MATCHMAKE_SELECTION_METHOD_SCORE_BASED
.MATCHMAKE_SELECTION_METHOD_BROADEN_RANGE
, MATCHMAKE_SELECTION_METHOD_PROGRESS_SCORE
, and MATCHMAKE_SELECTION_METHOD_BROADEN_RANGE_WITH_PROGRESS_SCORE
values.
MATCHMAKE_SELECTION_METHOD_NEAREST_NEIGHBOR
.CONFIDENTIAL