35.7K Views
December 18, 22
スライド概要
2022/12/18に行われたイベントに使用した資料です
【年末だよ】Unity お・と・なのLT大会 2022
https://meetup.unity3d.jp/jp/events/1384
Photon Fusion for Unityを 半年使ってわかった ハマりポイント 2022/12/18 【年末だよ】Unity お・と・なのLT大会 by ニム式
自己紹介 ● 名前 ニム式 ● サイト http://nimushiki.com ● twitter https://twitter.com/ni26mu ● 数年ぶりにゲーム作りに復帰 ● UNIBOOK14寄稿 ● 猫3匹と同棲
アジェンダ ● Photon Fusionとは ● ハマりポイント5選 ● 最後に
Photon Fusionとは
Photon Fusionとは ● ゲーム向けネットワークエンジン ○ PUN2の後継(PUN2は開発終了) ● 様々な新機能 ○ ラグ補償、描画補間 ○ 複数の接続方法に対応
ハマりポイント5選
①簡単ではない概念の習得 ハマり度
簡単にはいかない、概念の習得 ● Photon Fusion以前にネットコード自体が難解 ○ なにをどう通信・同期させるかの仕組み ● 「オンラインゲームはオフラインゲームの3倍難し い」 ● オンラインゲーム初挑戦 スプラトゥーンの非同期処理の話 ~なにがラグのせいなのか ~https://note.com/maktopia/n/n307369c9f10d#678ef7a4-5b66-4ffd-bfff-bce12f890
聞き慣れない単語 ● ティック ● レプリケーションシステム ● スナップショット etc… Photon Fusion for Unityの新機能 描画補間、ラグ補償、同期範囲設定 https://qiita.com/nimushiki/items/c82763817a8c7c4f2278
時間軸が複数存在する ● サーバー ● 各クライアント ● スナップショット
時間軸が複数存在する https://doc.photonengine.com/ja-JP/fusion/current/manual/network-simulation-loop
②リージョンの自動設定 ハマり度
マッチングしない状況が発生 ● 一週間ゲームジャムで遭遇 ○ しかもランダム ● Runner.SessionInfo.Regionで確認 ○ jpのときとkrの時があった
マッチングしない状況が発生 ● 原因 ping次第でjp以外にも接続 ● 解決策 Fixed Regionで指定 プレイヤーに選ばせる
③BR200の初期設定 ハマり度
BR200とは ● Unity社とExitGames社が共同開発 ● 200人同時参加可能なバトルロイヤルゲーム ● 無料でDL可能な完成プロジェクト BR200公式マニュアルより https://doc.photonengine.com/ja-jp/fusion/current/game-samples/fusion-br/overview
BR200とは ● ネットコード ○ Photon Fusionを使用 ● ホスティングとマッチメイク ○ Unity Gaming Serviceを使用
マニュアル通りでは動かない ● マニュアルは欧州向け(英語) ● region周りの設定を要変更 ○ どこを変えるべきかが不明 ○ 問い合わせ済み ● マニュアル自体はとても丁寧 Unityで最大200人バトロワを実現するサンプル「 BR200」を触ってみた 基礎編 https://qiita.com/nimushiki/items/dde8614c8173cd6537e0
④マルチピアとマルチシーンの 両立が困難 ハマり度
マルチシーンとは ● Unity5.3から追加 ● 複数のシーンを同時に読み込み・編集 ● 作業分担、疎結合化
マルチピアとは ● 1つのUnity Editor内に複数のゲームインスタンス を立ち上げる機能 ● 通信内容をモニタ ● 通信状況を調整可能 ○ パケロス、遅延 Photon Fusion for Unityでマルチピアモードを利用したデバッグの始め方 https://qiita.com/nimushiki/items/d683b3a17a6431f12b01
両立は大変 ● 公式サンプルは鋭意制作中 ○ =両立は可能 ● 二択で考えると流石にマルチシーン優位…?
⑤Nightlyが安定版 ハマり度
SDKのバージョン表記 ● 一般的には… ○ Stable=安定版 ○ Nightly=ベータ版 ● 現在はStableのみ
Stableを使ってた時… ● Despawnした時、ランダムに例外が出た ● 開発元「Nightlyが安定版だぜ!」 ○ 🤔🤔🤔 ● Nightlyにアップデートしたら治った
Photon Fusionはまだ新しい ● バグもままある ● 更新頻度は高い ● 問題が起きたらアプデを確認しよう
さいごに
さいごに ● 難しい部分の多くはネットコード由来 ○ SDKの導入、機能の利用は簡単 ● ハマりやすいポイントは経験&公開済み😭 ○ 今後も活動を継続 ● 年末年始にPhoton Fusionデビューしよう!
ご清聴ありがとうございました!