読者です 読者をやめる 読者になる 読者になる

tanaka's Programming Memo

プログラミングについてのメモ。

Unity5.1 ネットワークシステム Matchmaker

前へ | 次へ

UNet Unity5.1からの新しいネットワークシステム
Unity5.1のネットワークマニュアル斜め読み(2)
UNet NetworkManagerの利用
Unity5.1 ネットワークシステムのオブジェクト生成
Unity5.1 ネットワークシステムの状態同期
Unity5.1 ネットワークシステムのRemote Actions
Unity5.1 ネットワークシステム PlayerObjects
Unity5.1 ネットワークシステム Object Visibility
Unity5.1 ネットワークシステム Network Messages
Unity5.1 ネットワークシステム Matchmaker
Unity5.1 ネットワークシステム Scene Objects
Unity5.1 ネットワークシステム:シングルプレイヤーゲームを多人数に対応させる
Unity5.1 ネットワークシステム Multiplayer Lobby
Unity5.1 ネットワークシステム Network Clients and Servers
Unity5.1 ネットワークリファレンス概要

公式サイトの以下のページの斜め読みメモです。
Unity - マニュアル: Matchmaker

マッチメイカー(Matchmaker)

(Unityの)多人数プレイネットワークには、パブリックIPアドレスを知らなくてもインターネット上でプレイヤー同士が集える機能が用意されています。ユーザーはゲームを作成することができ、有効なゲームのリストを取得し、それに参加したり離れたりできます。インターネット上で遊ぶ時、ネット通信はクライアント間で直接やりとりされるのではなく、Unityが提供するクラウドのサーバーで中継されます。これによりファイヤーウォールやNATなどによる問題を回避できます。

マッチメイク機能は、UnityEngine.Networking.MatchネームスペースにあるNetworkMatchコンポーネントで利用できます。中継サーバーを利用するにはLLAPIを実装する必要がありますが、これ(NetworkMatch)を利用することで簡単にマッチメイカーを構築できます。これを利用するには、NetworkMatchからスクリプトを取り出して、管理オブジェクトにアタッチします。マッチの作成、リスト取得、そして参加する例が公式ページにあります。


このスクリプト(公式ページの例)は、マッチメイカーがUnityの公開マッチメイカーサーバーを利用するように設定しています。ベースクラスの(マッチの)作成、リスト、参加関数を呼び出します。CreateMatchでマッチを作成します。JoinMatchでマッチに参加します。ListMatchesでマッチメイカーサーバーに登録されているマッチのリストを取得します。内部ではNetworkMatchはマッチを設立するWebサービスを使っていて、プロセスが完了したら与えられたコールバックが呼び出されます。たとえばマッチの作成が完了した時にはOnMatchCreate()が呼び出されます。

NetworkMatch.matchSingletonはシングルトン(1つのインスタンスを共有する仕組み)で、ゲームに接続した時に直接接続するのではなく、中継サーバーを利用するようにシステムに伝えます。その後、クライアントが実際にゲームに接続すると、選択したマッチ用の正しい中継サーバーに接続されます。


前へ | 次へ