用語集

目次(アルファベット順 → 五十音順)

  RPC
  クライアント
  サーバ
  ホスト
  ルーム
  ロビー


RPC


  RPCとは「Remote Procedure Call(リモートプロシージャコール)」の略で、
  簡単に説明すると、ネットワーク上にある、別のクライアント端末のメソッドを呼び出す仕組みのことです。

  MUN では、ネットワーク通信を使って、端末間で情報をやり取りする場合、このRPCを用いて実行します。
  ただし、スクリプトからRPCを実行するためには、最低限以下の条件をすべて満たしている必要があります。
・スクリプトをアタッチしている GameObject に、MonobitView コンポーネントが追加されていること。
・スクリプトが MonobitEngine.MonoBehaviour を継承していること。


クライアント


  MUNに接続することになる、全ての端末(アプリケーション)を指して「クライアント」と呼称しています。


サーバ


  MUNで開発するにあたり、サーバに関する知識は一切不要です。
  ここでは MUN の内部機構について、要約して説明します。

  MUNのサーバは、モノビットリアルタイム通信エンジンで開発されており、1台のSyncサーバと、1台のMunMasterサーバで構成されています。
  (現在はテスト版のため、今後サーバ構成は変更される可能性があります。)

  Syncサーバは、モノビットエンジンの主要機能の1つである「VirtualNetwork(仮想化ネットワーク)」を実現するための「中央サーバ」です。
  サーバ処理をプロセス単位で分離し、各種サーバに対し、「仮想プロセスのユニークなID」を持たせます。

  MunMasterサーバは、MUNに関する、以下のサーバ機能を一手に受け持ちます。
    ・クライアントの接続(認証)制御
    ・クライアントの切断制御
    ・ロビーの入室制御
    ・ロビーからの退室制御
    ・ルーム一覧の送信
    ・ルームの作成
    ・ルームの入室(ルーム名指定入室、ランダム入室)
    ・ルームからの退室
    ・ルームの最大入室可能人数の更新
    ・ルームの表示/非表示の切り替え
    ・ルームのオープン(入室可)/クローズ(入室不可)の切り替え
    ・プレイヤーIDの発行
    ・RPCによる通信制御


ホスト


  MUNではサーバ/クライアント型のネットワーク通信を行なっていますが、ゲーム開発レベルで考えると、
  全ての処理をクライアントサイドで実行するため、実質上ホスト/クライアント型(またはP2P型)のシステムとして動作させる必要があります。

  ホストは、クライアントサイドで動作するシステムにおける、ゲームの「監視役」です。
  各クライアントが実行することになるキャラクタ制御 を除く 全ての制御を受け持ちます。

  具体的にいえば、以下のような制御を行ないます。
    ・敵キャラクタに代表される、NPC(ノンプレイヤーキャラクタ)の操作。
    ・ゲームのスコア管理、勝敗の決定
    ・制限時間の管理
    ・etc...


ルーム


  MUNでは、「マルチプレイを行なう場所」として、ルームが提供されています。
  各プレイヤーはルームに入室してから退室するための間、MUNが提供するマルチプレイ・オンラインゲームを遊ぶことができます。

  同時に複数のルームに入ることはできません。
  また、ルームに入室している間は、ロビーから一旦退室します。

  また、ルームに入室中、プレイヤーは以下の操作を行なうことができます。
    ・ルームやプレイヤーのカスタムプロパティを変更する。
    ・ルームの表示/非表示の切り替え。
    ・ルームのオープン(入室可)/クローズ(入室不可)の切り替え。
    ・ルームに入室可能な最大人数の変更。


ロビー


  MUNでは、いくつかのルームをグループとしてまとめた「大きな空間」として、ロビーが提供されています。
  現在、ロビーサーバ上にデフォルトで1つ存在しており、プレイヤーはロビーに入室することができます。
  (必ずしもロビーに入室する必要はありません。)

  ロビーはあくまでルームの窓口として存在します。
  ルームとは異なり、ロビー上では直接マルチプレイを実行することはできません。
  ロビー内にいるプレイヤー情報の取得や、ロビー内で(チャットなどを含む)プレイヤー間通信は許されていません。

  ロビー内に存在するプレイヤーには以下の行動が許されています。
    ・ロビーに属するルーム情報の一覧を取得する。
    ・ルームを作成する。
    ・ルームへの入室を行なう。
    ・ロビーから退室する。