Photon Serverイントロ

Photonはとても速く、使い方もシンプルなオンプレミス型の リアルタイムソケットサーバクロスプラットフォームマルチプレイヤーゲーム開発フレームワーク です。

Available Photon Server Client SDKs
クライアントSDKは全てのメジャーなプラットフォームで利用可能です。

Photon ServerのマルチプレイヤーーAPIを使って、共有されたゲームセッションにプレイヤーーを参加させ、プレイヤーー同士がプラットフォーム間でデータ転送やメッセージ送信を同期・リアルタイムで行えるようにしましょう。 全てのクライアントSDKはiOS, Android, Web, スタンドアロンに関わらず相互的に通信ができます。

自分だけのマルチプレイヤーーゲームバックエンド!

Photon Cloudは以下のクライアントSDKとその他表記されていないSDKを使った幅広いゲームタイプに対応しています:

  • ファーストパーソン・シューティングゲーム(FPS)
  • レーシングゲーム
  • マインクラフト系ゲーム
  • カジュアルリアルタイムゲーム
  • 非同期と同期型ゲーム
  • ...

Photon Serverアプリケーション により、マルチプレイヤーゲームバックエンド を構築して実行するフレームワークが手に入ります。 全てのアプリケーションはC#のソースコードで提供されています。 アプリはパフォーマンス重視で構築されており、必要に応じてカスタマイズ、もしくはそのまま使うこともできます。 xcopy deploy の自動、もしくは手動再起動を使うことによりDeployはとても便利になっています。

the Photon Server SDKと利用可能なアプリケーションは

  • LoadBalancing: Load balanced scaling across servers - this is powering our Photon Cloud!
  • MMO: A good solution for large world games with plenty of players.
  • Lite: This should be used as introduction only to many of Photon basic concepts (operations, events).

無料でSDKを入手サインアップ後、無料の100CCUライセンスをダウンロードできます。

Photon Serverの中身

Photon Serverの構造

Photon High Level Architecture
Photon High Level構造

Photon CoreパフォーマンスのためにネイティブC++ で書き出されています

  • コアはハイパフォーマンスSocket対応のためにIO Completions Ports (IOCP)を使っています
  • 重たいプロトコルの"lifting"を実現しています
  • 信頼性の高いUDP,TCP,HTTPとWeb Socketsに対応しています。

business logic はコアでホスティングされる.NET CLRで実行されます。

  • Photonで動作しているアプリケーションを含みます
  • C#もしくはその他の.NET言語で書かれています。

プロトコル

Photon Severのコアは以下のプロトコルをサポートしています。

  • 信頼性のあるUDP (eNETに基づく)でClient-2-Server構造に特化しています
  • Binary TCP
  • Web Sockets
  • HTTP

転送プロトコルは無駄がなく、効率がよいです。 Photonはあなたに代わり各クライアントプラットフォームのNetworking Layerをまとめてくれます。 ゲームクライアントにクロスプラットフォーム間、プロトコル間でのコミュニケーション手段を与えましょう。 データをハッシュテーブルに入れて送信するだけです。 Photonがde-/serializationを行ってくれます。

Server Devフレームワーク(C#)

全てのアプリケーションはdevelopment framework上に位置し、一般のタスクを解決してくれます。

  • RPC コールはシンプルで柔軟性があり、オペレーションインスタンスにマッピングされています。
  • Threading問題はファイバの message passing を使って解決します。
  • PhotonはCPUがボトルネックになる前に帯域幅を埋めるよう設計されています。

サーバ開発ツール

Visual Studioで完全動作している>> F5 >>コードから直接デバッグできます! .NET Developmentからfirst class toolsを使いましょう。

Data Persistence (DBs)

Photon ServerはPersistence layerを提供していません。

.NET/Windowsはメジャーな商品全てに対応しています。 - SQL: MySQL, Postgres, MS SQL Server, SQLLite, ... - NoSQL: MongoDB, Redis, MemCached, ...

オプションでのORM(マッピング)レイヤーの使用には例として以下があります: - nHibernate - Lightspeed ORM - Codesmith Tools

 ドキュメントトップへ