Photon Voice 1 is the original and first major version of Photon Voice. It is now replaced by Photon Voice 2 which is refactored and enhanced. We highly recommend starting new projects with Photon Voice 2 and if possible migrating existing ones from Photon Voice 1 to Photon Voice 2. Photon Voice will be maintained for the coming months. We will fix important bugs and support new Unity versions but new features will be added only to Photon Voice 2.

用語集

ACK

UDPの信頼性を高めるためのコマンドです。内部的に使用します。


Actor

ルームに入っているプレイヤーは"Actor"とも呼ばれます。 ActorにはそれぞれActorNumberが存在し、別名ではactorId, player number, player idと呼ばれるルームで有効な名称があります。


Application

アプリケーションにはゲームロジックが含まれます。 C#で書かれていて、Photon Coreで実行されます。このために抽象クラスApplicationを拡張しています。Photon CloudはVirtual Applicationを使用しています。


Application ID (AppId)

Photon CloudではApplication ID (AppId)がタイトルとVirtual Applicationのメインの識別方法になります。

AppIdはダッシュボードから確認できます。ほとんどのデモで必要です。


Binaries Folder

Photon Server SDKのバイナリーフォルダにはPhoton Coreのプラットフォーム特化ビルドが含まれています。bin_とdeployフォルダが用意されています。


Build script

デプロイ用にアプリケーションをコンパイル及びコピーする際に使うバッチファイル又はMsBuildプロジェクト。クリーンなビルドのデプロイが可能になります。


Business Logic

Photon Coreの上部で動作するゲームのロジックです。このレイヤーは操作とイベントを処理します。


Channel

Photonでは通信をいくつかの連続した操作とイベントに分けるためにチャンネルを使用します。単一のチャンネル内において、全ての操作とイベントは順序立てられています。


Chat

Photon Chatはユーザ同士のコミュニケーションを可能にするライトウェイトなサービスです。 ユーザはチャンネルに参加したり、プライベートメッセージを送ってユーザステータスをフレンドに提供することができます。Chatは個別の接続を使用していてルームとは別になります。


Command

コマンドは、データを運んだり、接続を確立またはシャットダウンするために eNetプロトコルのレイヤー上で使用されます。 コマンドを書く必要はありませんが、参考の知識として説明しています。


Concurrent User (CCU)

ゲームのConcurrent Userとは同時にサーバに接続しているクライアントを指します。Photon Cloudアカウントの料金はCCUカウントが基準となります。

CCUはDaily Active Users (DAU/日別のアクティブなユーザ)やMonthly Active Users (MAU/月別のアクティブなユーザ)とは違います。ユーザが1日や月にプレイする時間は限られています (全てのユーザが毎日プレイするとは限らないので)。


Connect

クライアントがPhoton上で操作を呼び出す前までに接続し、接続を確立する必要があります。


Custom Operation

クライアントAPIにない操作、またはサーバ側の(ライトアプリケーションにはない)新たな操作を指します。


Custom Properties

PhotonではルームやプレイヤーのCustom Propertiesを設定できます。どちらの場合も、custom propertiesはHashtable(ハッシュテーブル)として提供されます。キーはtype Stringである必要がありますが、任意の値(シリアル化できる)を設定できます。

Custom Propertiesはプレイヤーがゲームを放棄すると同時に削除されます。Turnbasedのasync(非同期)ゲームの場合は維持されます。


Dashboard

ダッシュボードでは、各種数値をモニターするためにウェブサイト上で各種数値のグラフを生成して表示します。 Photonアプリケーションはダッシュボードから管理できます。

Realtime Apps Dashboard


Deploy Folder

Server SDKにあるこのフォルダはPhotonを実行するのに必要な物が全て(バイナリフォルダとコンパイルされたアプリケーション)含まれています。


Device

モバイル端末を初めとする、クライアントアプリケーションを動作させるたのシステムを指します。


Disconnect

クライアントとサーバ間の接続を終えることを指します。プレイヤーがクライアントのアプリを終了したい時、またはタイムアウトの時に起こります。また、サーバロジックがプレイヤーを切断することもできます。


Event

イベントはクライアントに送信される非同期のメッセージです。イベントは操作の副作用としてトリガーされ、またはイベントコードにより操作の主目的として発動され、識別されます。識別にはActorNumberが用いられます。


EvCode

イベントコードの略語です。イベントのタイプとそのイベントがどの情報を運んでいるのかを識別できます。


Game

Gameはタイトルやアプリケーションを指す場合と、プレイヤー同士の実際の対戦を指す場合があります。基本的にはタイトルを指す際に使うようにしていますが、状況によってはルームを表す際に使います。


GameVersion

GameVersionはどのゲームでも設定できるストリングです。Photon Cloudでは互換性の無いバージョンのユーザを別のVirtual Applicationに別ける際に便利です。


Latency

RequestとACKの間の時間を指します。レイテンシはクライアントとサーバによって異なります。


Lite

基本的なビジネスロジックを開始する場合に用いられるライトアプリケーションを意味します。


Lobby

Lobbyはルームのリスト(又はバーチャルコンテナ)です。複数のLobbyを使うことができますし、Lobbyには複数の種類があります。例:全てのLobbyタイプがルームリストをクライアントに送りとは限りません。

デフォルトではプレイヤーはLobby内で会話することができませんし他のクライアントがLobbyにいることすら分かりません。また、クライアントはLobbyとRoomに同時にいることはありません。


Log Files

Photon Serverはサービスとして実行するように設計されていて、extensive GUIはありません。 代わりに次の2つのログファイルが使用されます:アプリケーションはdeploy/logに書き込みます。Photon Coreはdeploy/bin_*/logに書き込みます。


Matchmaking

ゲームやマッチを探す処理。Lite Applicationの場合はルームネームからルームに参加することはできますが、Matchmakingはありません。Lite Lobbyはルームのリストが追加されます。


Messages

Messageは他のユーザを更新したり、サーバで行う全ての処理を指します。

  • Photon内では: 全てのオペレーション、レスポンス、イベントはメッセージです。
  • PUN内では:  全てのRPC, 同期の更新, インスタンス化されたコール, Custom Properties (playerNameを含む)の変更 は全てメッセージです。

他のクライアントへのイベント(又はRPC)の送信はルーム内の各プレイヤーにつき1つのメッセージとしてカウントされます。一人が送信して、他のクライアントが受信します。

PUNはOnPhotonSerializeViewで更新を集合させます。複数のオブジェクトの更新は可能であれば一つのメッセージにまとめられます。また、Observeモードはこれに影響します:更新の間にGOが動かない場合"Unreliable On Change"が何は送らなくなります。レアなケースですが、一つのオブジェクトが原因で各プレイヤーに10メッセージ/秒が送信されてしまう事もあります。


Messages Limit

次の理由でルームや1秒毎に送られるメッセージ(更新)に上限をつけています:

  • 更新が多すぎると破損の原因となります。帯域幅やデバイスなどによって異なるので明確な上限を設定しているわけではありません。
  • 共有サーバを均等に別けられるようにしています。 ルームや秒毎のメッセージはDashboardから確認できます。

Operation

Photonのサーバ側での RPC機能と同義語です。クライアントはサーバ上の何かを行い、イベントを他者に送信するためにも Operationを使用します。Photon Cloudの各ドキュメント内では単に"操作"と表現します。


OpCode

Operationコード、操作コードの略称です。サーバー側で操作をトリガーするために使用されるbyte値です。クライアントは、返り値に対するアクションのタイプを識別するために、opCodesで操作の反応を得ます。


Peer

プラットフォームに依存せずに、Photonに接続する全てのクライアントを指します。なお、厳密にはPhotonのサーバーはクライアント側に対するピアでもありますが、全てのケースにおいて唯一のものです。


Photon Core

C++で書かれた Photonの中核です。接続とeNetプロトコルを処理します。


Photon Control

Photon Server SDKのPhoton管理ツール。PhotonControl.exeを起動するとタスクバーメニューが表示されてPhotonのサービスの管理ができます。


Photon Server SDK

Photon Server SDKには全てのWindows機でPhoton Serverインスタンスを実行及びビルドするためのツールが含まれています。 詳細はこちら


PhotonServer.config

Photon Coreの構成ファイル。IP, アプリケーション, パフォーマンス設定の構成を行います。以前の名称はPhotonSocketServer.xmlで、一時期はPhotonSocketServer.configとも呼ばれていました。


Photon Unity Networking (PUN)

Photon Unity NetworkingはUnity用のC#クライアントパッケージです。Photonの低レベルl機能を使って、より高度な形でUnityのビルドインされたネットワーキングを再実装します。Photonのlower level機能の多くがPUNでカバーされています。ReturnCodeCommands等の心配はほとんどありません。

PUNを入手:https://u3d.as/2ey


Policy File

Policy Applicationはcrossdomain.xmlを送るためにPhotonで実行されます。Unity Webplayer, FlashやSilverlight等のWebplayerプラットフォームはサーバに接続する前に認証を求めます。


Reliable

リライアブル(信頼できる)コマンドは相手側に到達するか、タイムアウト切断のいづれかの処理をします。コマンドはチャンネル毎に順序付けられており、リライアブルコマンドが一時的にない場合は送信が滞ります。


ReturnCode

byte値の形での各操作の第1の結果です。操作が問題なく(RC_OK == 0)行われたか、またはどのエラーが発生したかををチェックすることができます。


Room

プレイヤーは対戦をしたりコミュニケーションをするためにRoomで接触します。Room外でのコミュニケーションはできません。クライアントは一つのルームでしかアクティブでいられません。

Photon Room Core Concept
Photon Roomの基本的なコンセプト

PhotonのRoomには次のプロパティやメソッドがあります:

  • Room名を指定してRoomの作成又は参加をする。
  • RoomやプレイヤーのCustom Properties を設定する。
  • 最大プレイヤー数を定義する。
  • 非表示 (Lobbyでは表示されない)または表示。
  • クローズ(誰も入れない)又はオープン。

RPC

Remote Procedure Call(リモートプロシージャーコール)の省略。Operation (サーバ上のメソッドの呼び出し)を指す場合もありますが、通常はPUNゲーム内のリモートクライアントで呼び出す際の方法を指します。


RUDP

送信されたコマンドをリクエストに応じて信頼性を持たせるUDP上のプロトコルです。


Socket Server

Photon Coreの同義語です。


Timeout

eNetを利用し、クライアントとサーバは他方が Reliableコマンドを認識しているかどうかを監視します。これらのACKが長時間失われると、接続が失われたものと判断します。


Turnbased

TurnbasedはPhoton Cloudのプランの一つで、非同期的なゲームプレイ用に設計した機能を集めたものです。プレイヤーがルーム内でインアクティブになって、後からゲームを継続できます。ルームの状態(名前,プロパティ,キャッシュされたイベント, 等) が自動的に持続されます。


Unreliable

Unreliableコマンドは他方によりACKされません。Unreliableコマンドはチャンネル別に順序づけられますが、送信されると、順序が入れ替わる場合があります。


Virtual Application

Photon Cloudは全てのタイトルを一つのゲームロジック(アプリケーション)を実行します。内部でゲームをAppIdGameVersionで分別しています。


To Document Top