6.10 NEX: Matchmaking

Applications that use the CTR-NEX matchmaking features must comply with all the Guidelines listed in this chapter.

6.10.1 Implementing Modes for Carefree Play

In real life, some people are not comfortable joining in games with strangers or talking with people whom they have only just met for the first time. Many people are uncomfortable with these same activities over a computer network, even if they cannot see the other players’ faces and do not actually meet them. This could make them reluctant to play networked games. If your game specifications include matchmaking, we recommend implementing at least one mode that provides users with carefree gameplay, as illustrated in the following examples.

  • A mode that specifies either a friend or a group that includes a friend for matchmaking.
  • A game mode that matchmakes with strangers, but does not include exchange of UGC
    However, it is not a problem if the degree of exchange is nothing more than display of user names.

No required guideline items.

6.10.2 Clearly Specifying Communication Partners

As mentioned in section 6.10.1 Implementing Modes for Carefree Play, some people are not comfortable playing against strangers. Simply labeling a game as having online communication could make some people reluctant to play because they would not know whom they would be communicating with. We recommend that you show or explain who the player will be communicating with, so the player knows who his or her matchmaking partner will be. The following are a few examples.

  • When you describe network features, explain that there will be communication with strangers and also let players know who their opponents will be before they start playing.
  • Name the matchmaking modes "With Friends" and "With Anybody" so that users know who they will play against.
  • Color-code, attach icons to, or otherwise make it easy to distinguish between friends and strangers when the player is choosing a peer.

No required guideline items.

6.10.3 Filtering Matchmaking Candidates

If your application's matchmaking feature does not take player skill into account, it may pair up novice and expert players, giving the novice players no chance of winning. This also tends to attract only expert players to online play modes. Consider matchmaking specifications that can offer users a better gaming experience. No special measures are required if differences in skill level do not discourage users from online play; one such example is applications that only have cooperative play.

■ Setting Filtering Conditions

To enable more people to experience the fun of online gaming, Nintendo recommends fine-tuning the design of your game so that novice users can also enjoy online play. One possibility for matchmaking support is configuring auto-matchmaking with strangers so that player level is taken into account when selecting candidates. However, do not narrow down the candidates so far that the same people are always chosen as matchmaking opponents. You may decrease the likelihood that, via auto-matchmaking, players encounter opponents with whom they do not want to communicate.
Nintendo recommends implementing filtering for matchmaking candidates like the ones below, so that novices can also enjoy online play.

  • Limit matchmaking sessions to sessions in which friends are participating.
  • Break up matchmaking into multiple modes, such as beginner and advanced, based on such factors as number of matches and score.
  • Weight the number of points that can be gained from a victory by expertise.

CTR-NEX provides an auto-matchmaking feature that lets you search for matchmaking sessions that match various specified conditions. See the CTR NEX Manual: Server Services for details about this feature.

■ Cautions When Independently Implementing Auto-Matchmaking

You may want to implement an auto-matchmaking feature (similar to the CTR-NEX auto-matchmaking feature) independently for your application, such as when you want to add your own search conditions. However, this increases the chances of problems arising after the application is released that were unknown at the time of release, such as scaling problems when the number of users increases.
Nintendo therefore recommends using the MatchmakeExtensionClient::AutoMatchmake function to implement auto-matchmaking.

Note:

Even if you use the MatchmakeExtensionClient::BrowseMatchmakeSession function to find available matchmaking sessions, another client could join that session before you. In this case, Nintendo recommends taking measures to keep access attempts from concentrating on the same matchmaking session, such as sorting the search results in random order. You can also sort search results in random order on the server by specifying RESULTRANGE_ANY_OFFSET to the ResultRange::SetOffset function.

No required guideline items.

6.10.4 Persistent Gatherings

If you use the persistent gathering feature, it is possible to perform matchmaking only with other users who know the gathering ID that is issued by the server and unique to each persistent gathering. The application uses the gathering ID entered by the user to search for the persistent gathering and perform matchmaking.

When the user performs matchmaking using the persistent gathering feature, it is possible that the user might enter the wrong gathering ID or enter the ID for a persistent gathering that has already been deleted. Consequently, Nintendo recommends that the application inform the user if no persistent gathering is found that matches the user-entered gathering ID. Moreover, if this happens it must not impede progress in the application.

Note:

The feature name "Community" was changed to "Persistent Gatherings" in CTR-NEX 3.3 and later.

No required guideline items.

6.10.5 Matchmaking Blacklists

Nintendo recommends always enabling matchmaking blacklists when performing matchmaking.

Note:

Starting with CTR-NEX 3.5 and in all future versions of CTR-NEX, matchmaking blacklists are enabled by default.
In CTR-NEX 3.4 and previous versions, matchmaking blacklists are disabled by default and you must set GatheringFlags::UseBlackList in the gathering flags in order to enable them.

Matchmaking blacklists are a means of preventing matchmaking with specific users. With applications that use matchmaking blacklists, the local user is blocked from participating in any matchmaking session for which the local user is registered to any of the participating users’ blacklists. If the local user attempts to join a session with a user who has blacklisted them, an error will occur. To avoid upsetting the local user, do not tell the user that they were blocked from a matchmaking session due to being blacklisted. Instead, simply inform the user that he or she is not able to participate in that matchmaking session. When doing so, make sure the message is clear and does not suggest that matchmaking in general is unavailable. One example of an acceptable message would be, "Could not join this group." Nintendo also recommends excluding that matchmaking session from future matchmaking search results.

6.10.5.1 Checking Message When Matchmaking Fails Due to Matchmaking Blacklist Feature

Guideline Item

If the user cannot join a matchmaking session due to being blacklisted, the application must not inform them that they have been blacklisted. Instead, it must indicate only that they cannot participate in the matchmaking session. The message must not mislead the user into thinking that he or she cannot use matchmaking at all.

Software to Be Tested

Applications that implement the matchmaking blacklist feature.

Test Method
  1. Prepare two Nintendo 3DS systems, system A and system B.
  2. On system A, register system B to the matchmaking blacklist.
  3. On system A, create a matchmaking session.
  4. On system B, attempt to join the matchmaking session created on system A.
Pass/Fail Determination

Passes if the application displays a message meeting all of the following conditions in step 4.

  • The application does not inform the user that he or she cannot join the matchmaking session because he or she is on a blacklist.
  • The application informs the user only that he or she cannot join that matchmaking session.
  • The message does not mislead the user into thinking that he or she cannot use the matchmaking feature at all.

6.10.6 Measures Against Harassment

Certain harassment can occur when strangers play against each other through matchmaking or some other means. For example, some players may always attempt to battle weaker opponents or harass a specific player. Consequently, whenever communicating with strangers, Nintendo recommends that you implement measures to forestall such harassment, such as an auto-matchmaking feature that does not allow selection of specific opponents, or a method of avoiding unpleasant opponents, perhaps by allowing players to reject matchmaking requests or by using a blacklist.
See section 6.10.3 Filtering Matchmaking Candidates for details about auto-matchmaking.

No required guideline items.

6.10.7 Handling Intentional Communication Disconnections

Some people are "sore losers" who will turn off their systems or otherwise attempt to escape from online games that they are about to lose. Users can intentionally disconnect from the Internet by pressing the POWER Button or causing the system to enter Sleep Mode. Nintendo recommends adopting mechanisms like the following to prevent these types of actions and make games fun to play until the end regardless of whether the user is winning or losing.

  • Add points to the score when a match is finished.
  • If you include a rating system, increase the ratings of players who play games to the end.

No required guideline items.

6.10.8 Waiting for Input from Another User

When game progress is halted during online play to wait for input from a user, input by other users may become blocked unintentionally. For example, if the user that needs to provide input loses connection or falls asleep. Consequently, to avoid unintentionally preventing other users from advancing when game progress is waiting for input from another user, Nintendo recommends adding a timeout and enabling progress if the predetermined period has elapsed. Alternatively, you could provide a feature that allows users to leave the multiplayer game at their discretion.

Also, consider measures to avoid the user mistakenly believing that the application has frozen. Possible ways of handling this include:

  • Allow certain user operations even when waiting for input from another user.
  • Display a message indicating that they are waiting for input from another user.
  • Display animation somewhere on the screen.

No required guideline items.

6.10.9 Adopting a Rating System

A way for people to rate their experiences playing against each other and then displaying these ratings makes it easier to identify who has a bad rating. This can be an effective deterrent against misconduct, and Nintendo recommends that you implement a rating system. Seriously consider including a rating system for multiplayer games and any other type of game in which misconduct could make other players uncomfortable.

It is believed that the use of ratings, such as how users play, or user-created content, and designing a good rating system requires careful deliberation to ensure a fun game experience. Take care of the following points when including a rating system.

  • Use some means of preventing people from maliciously leaving bad ratings.
    This can be handled in a number of ways, such as only allowing players to rate each other once per game session or only allowing players to give positive ratings.
  • Design your ratings system so people can properly tell the difference between ratings.
    Some rating systems make it impossible to distinguish between new players and players that have poor ratings. Display additional information, such as the number of network matches, together with player ratings to help clarify this.

No required guideline items.

 


CONFIDENTIAL