Photon PUN の代替:ターン制・カジュアルゲーム向け
PUN 2 はメンテナンスモードです。Fusion やゲームサーバーが必要なゲーム、ルームとマッチメイキングのあるホスティング型 WebSocket サービスで足りるゲーム、それぞれの費用。
Photon のドキュメントには、PUN 2 はメンテナンス(LTS)モードで、修正はあっても新機能の予定はなく、新しいプロジェクトは Fusion か Quantum を検討するようにと書かれています。この 2 つはリアルタイムのアクションゲーム向けです。ただ、PUN で作られたゲームの多くはそうではありません。プレイヤーが順番に動くカード、ボード、クイズ、パーティーゲームで、更新は 1 秒に数回で足ります。こうしたゲームなら、ルームとマッチメイキングを備えたホスティング型の WebSocket サービスで PUN を置き換えられ、費用も下がり、WebGL にも最初から対応できます。
そのゲームにゲームサーバーは必要?
| ターン制・カジュアル:WebSocket サービスで足りる | リアルタイムアクション:ゲームサーバーを残す |
|---|---|
| カード、ボード、パズル、ワードゲーム | シューター、格闘、レースゲーム |
| クイズ、トリビア、パーティー、お絵かきゲーム | プレイヤー間で同期し続ける必要がある物理演算 |
| ターン制ストラテジー、オートバトラー | tick ベースのシミュレーション、lockstep や rollback のネットコード |
| 別のゲームサーバーの手前に置くロビー、マッチメイキング、チャット | 1 人のプレイヤーから毎秒 10 回を超える更新 |
| WebGL ゲーム、ブラウザと Unity のプレイヤーが同じルームで遊ぶゲーム | 100 人を超えるルーム |
WebSocket サービスは TCP 上で動き、tick はなく、ゲームロジックを実行せずにプレイヤー間でイベントを中継します。右の列に当てはまるゲームなら、Photon Fusion や Quantum、または専用サーバーのほうが適しています。
PUN 2 のゲームの移行先
| 選択肢 | 運用するのは | 向いているもの |
|---|---|---|
| Photon Fusion または Quantum | Photon | リアルタイムアクション、tick 同期と予測。ネットワークコードの書き直しが必要 |
| 自分でホストするオープンソースのゲームサーバー(Nakama、Colyseus など) | あなた | サーバー権威のロジック。サーバーの運用とスケールができる場合 |
| Hibira と Unity パッケージ | Hibira | ターン制・カジュアルのルーム、マッチメイキングのキュー、WebGL、ブラウザや Godot のプレイヤーとのクロスプレイ |
同じプレイヤー数での費用
| 同時接続プレイヤー | Photon Public Cloud | Hibira |
|---|---|---|
| 20〜100 | 20 CCU は開発用のみ無料。100 CCU は 1 回 95 ドルで 12 か月有効 | 無料プラン:100 接続、本番でも利用可 |
| 500 | 月 95 ドル | Hobby、月 19 ドル |
| 1,000 | 月 185 ドル | Starter、月 39 ドル |
| 2,000〜3,000 | 2,000 CCU で月 370 ドル | Pro、3,000 接続で月 89 ドル |
Photon の数字は PUN の料金ページと PUN 2 の紹介から、2026-10-31 に確認したものです。Photon は CCU あたり月 3 GB の通信量を含みます。Hibira は送信したメッセージを 1 日ごとに数え、クライアントイベントは何人のプレイヤーが受け取っても 1 メッセージです。無料プランではプレイヤーへの配信が月 2 GB のデータに含まれ、Hobby 以上ではブロードキャストの配信を回数に含めません。どのプランも 1 日のメッセージ数、同時接続数、月間の直接配信データには上限があります。料金ページをご覧ください。
移行の流れ
| PUN 2 | Hibira Unity パッケージ |
|---|---|
JoinRandomOrCreateRoom | 人数、レーティング幅、条件を指定した HibiraQueue.Join |
CreateRoom、JoinOrCreateRoom | presence-room- チャンネルに定員を指定して HibiraRoom.Join |
OnPlayerEnteredRoom、OnPlayerLeftRoom | room.MembersChanged |
MasterClient | room.Host:最初に入ったプレイヤーで、抜けると次の人に引き継がれる |
photonView.RPC、RaiseEvent | room.Channel.Trigger("client-…") と Bind |
PhotonNetwork.Instantiate、PhotonView | 相当する機能はなし:生成や状態のイベントを自分で送る |
バックエンドがアプリの secret で各ルームとキューに署名するので、プレイヤー名やレーティングはクライアントではなくサーバーから来ます。すべての対応表と各ステップのコードは PUN 2 移行ガイドにあります。まずは Unity ガイドから始め、ブラウザのプレイヤーも入れるルームはゲームロビーをご覧ください。
よくある質問
PUN 2 は提供終了になりますか?
Photon のドキュメントによると、PUN 2 はメンテナンス(LTS)モードで、修正はあっても新機能はなく、新しいプロジェクトは Fusion か Quantum を検討するようにとされています。既存の PUN 2 のゲームはそのまま動き続けます。
ターン制のゲームなら WebSocket サービスで Photon を置き換えられますか?
はい。カード、ボード、クイズ、パーティーなどのターン制やカジュアルなゲームなら置き換えられます。ルーム、マッチメイキング、プレゼンス、ルーム内のイベントで、こうしたゲームで PUN が担っていた役割をカバーできます。tick 同期が必要なリアルタイムアクションゲームには、引き続き Fusion、Quantum、またはゲームサーバーが必要です。
Unity の WebGL ビルドでも使えますか?
はい。Hibira の Unity パッケージは、エディター、デスクトップとモバイル、WebGL ビルドのいずれでも WebSocket で接続し、同じルームにブラウザや Godot からも参加できます。
製品名は各所有者の商標です。