【Unite 2017 Tokyo】マルチプレイゲームのグローバル展開事例(BNE様)と完全同期を実現するPhoton TrueSync のご紹介

482 Views

May 12, 17

スライド概要

講演者:並木 健太郎(GMOクラウド株式会社)
    Christof Wegmann(Exit Games GmbH)
    神﨑 喜多(株式会社バンダイナムコエンターテインメント)
    大石 伸昭(株式会社バンダイナムコスタジオ)

こんな人におすすめ
・マルチプレイゲーム開発に興味がある方
・世界展開、海外展開に興味がある方
・より高度なリアルタイム同期に興味がある方

受講者が得られる知見
・簡単なマルチプレイゲームの実現方法
・事例を元に世界展開における様々な課題と解決方法
・より高度なリアルタイム同期の実現方法

講演動画:https://youtu.be/HJvB59sUkAY

profile-image

リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
2.

マルチプレイゲームの グローバル展開事例と 完全同期を実現する Photon TrueSync のご紹介

3.

講演者ご紹介

4.

Christof Wegmann Founder & CTO, Exit Games GmbH

5.

神崎 喜多 株式会社バンダイナムコ エンターテインメント

6.

大石 伸昭 株式会社バンダイナムコ スタジオ

7.

並木 健太郎 GMOクラウド株式会社 シニアテクニカルアドバイザー

8.

アジェンダ • Introduction of Photon • by Christof Wegmann • Photon TrueSyncとPhoton Enterprise Cloudのご紹介 • by 並木 健太郎 • マルチプレイゲームのグローバル展開事例 • by 神崎 喜多 • by 大石 伸昭

9.

Introduction of Photon Exit Games GmbH CTO Christof Wegmann

10.

Photon We Make Multiplayer Simple.

11.

Photon Stats 200,000 Developers Signed Up 150 Million MAU in the Photon Cloud 3.5+ Petabytes traffic per month

12.

Photon Products P2P + Relay Authoritative Bolt Thunder Multiplayer Relay Server „Plugins“ PUN Lockstep Deterministic TrueSync Quantum Video Messaging On Premise

13.

Support all Major Unity Exports

14.

Nintendo Switch Support

15.

Photon Quantum: Q3/2017

16.

Built for … Unity only: Brawler, Moba, Coop, RTS

17.

Fully Deterministic • • • • Path Finding (NavMesh) Fog of War (integrated into simulation e.g. vision checks) Low network overhead (inputs sent between players) No network interpolation required (no artifical delay added for interpolating gamestate) • State of the art prediction/rollback deterministic simulation without lockstepping • Built-in resistance to cheats that rely on modifying the game state (making yourself invulnerable, etc.) • Simulation without Unity to verify game results.

18.

Zero Runtime Allocations • No GC from simulation code • Everything is preallocated and re-used • Blazing fast performance

19.

Social Backend • • • • In-Game Chat & Chat Channels Friends Lists/Invites/PMs News & Notices Matchmaking (with support for player groups, i.e. find a game with your friends) • Pre-Game Lobby (character pick, countdown, chat, etc.)

20.

TrueSyncとEnterprise Cloudのご紹介 GMOクラウド株式会社 並木 健太郎

21.

New Service! Photonの進化系!

22.

キーワード キーワードは 完全同期 Lockstep

23.

従来の物理オブジェクトの同期手 法 1. 座標で同期 – イベント時に座標を同期 • 齟齬は生じない • メッセージ数が大きくなる 2. ベクトルを同期 – 自分自身の座標と移動量、方向を同期 • メッセージ数は少ない • 物理エンジンに決定性がないため齟齬が生じる

24.

TrusSyncの完全同期とは…? • すべてのクライアントに おいて、同期対象の全イ ンスタンスが同一タイミ ングで同様に動き、かつ 同一タイミングでイベン トが発生する どう実現…?

25.

実現方法の考え方 基本 物理演算の結果を全クライアントで一致させる! そのために 物理エンジンに完全性と同期 そして インスタンスへの入力をPhotonで通信

26.

簡単な実例 同期 生成 同期 生成 同期

27.

どう使う? • Unityの物理エンジン の代わりに、 TrueSyncの物理エン ジンを各インスタン スにつければOK • 同期はPhotonが自動 でやってくれます

28.

使いどころ • • • • 1対1のゲームには最適 多人数では逆に向かないケースも TrueSyncはPUNも搭載 ゲーム内で使い分けも可能

29.

ブースでデモしてます! • TrueSyncのデモをPhotonブースで体感できま す! • 第一ブースエリア、中央手前にありますので、 ぜひお越しください!

30.

Photon Enterprise Cloudのご紹介

31.

Photon Enterprise Cloud • Photon Cloudの上位サービスとして、 Photon Enterprise Cloudをご用意しています • Photon Cloudでは難しいと思われる場合でも、 Enterprise Cloudなら 大丈夫です!

32.

Cloud vs. Enterprise Cloud • • • • • Publicサービス (共有) 20 - 5,000CCUまで Webhooks対応 複数タイトル共有不可 サーバー設定変更不可 • • • • • Privateサービス (専有) 2,000CCU - 上限なし Webhooks & Plugin対応 複数タイトル共有可能 サーバー設定変更可能

33.

Privateサービス • サービスを提供するサーバーは専有でご利用い ただけます • 他のお客さまによる影響の心配は一切ありませ ん • Pluginの利用が可能です!

34.

CCUについて • 1,000CCU単位で、上限なく追加が可能 • ビッグタイトルになっても安心してご利用いた だけます • 最初はRealtimeでスタートし、規模が大きく なったらEnterprise Cloudに移行することもアプ リの書き換えなしで可能

35.

複数タイトル利用 • 構築されたEnterprise Cloudを複数タイトルで共 有することができます • 複数タイトルでご利用いただくことにより、利 用効率を高めていくことも可能に

36.

世界中のリージョンが利用可能 • 世界10リージョンに設置可能 – それ以外ご希望の場合もご相談ください • 海外リージョン設置も可能なことにより、マル チプレイゲームの世界展開も容易に!

37.

マルチプレイゲームのグローバル展開事例 Photonを利用した事例紹介 株式会社バンダイナムコエンターテインメント NE事業部第3プロダクション プロデュース1課 神崎 喜多 株式会社バンダイナムコスタジオ 技術統括本部 技術本部 ネットワーク統括部 システム4課 大石 伸昭

38.

アジェンダ 1.Photonを使った上で気を付けた点について 2.Photonを使った海外展開について 3.Photonを使った複数案件の管理について Copyright © 2017 BANDAI NAMCO Entertainment 38

39.

Photon導入の経緯 1.Photonの採用実績 BNEの案件で採用実績(PhotonServer)がありました。 2.Photonを選定した理由 リアルタイム通信サーバーを作成するのは困難であり、サーバーアプリケーション の開発をするに時間がかかると判断しました。 3.クライアント開発との親和性 クライアントはUnity開発なので、プラグインのあるPhotonは相性がよいと思いま した。 4.検証結果 実際に検証してみたところ、仕様に十分に耐える性能が確認できました。 Photonを使いましょう。 (この時点ではPhotonServerを採用予定) Copyright © 2017 BANDAI NAMCO Entertainment 39

40.

PhotonServerの課題について 1.PhotonはWindowsサーバであること。 BNEでは、Windowsサーバーの管理経験が少なく不得手であると考えました。 例えば、細かいネットワーク周りのチューニングやセキュリティ対策の知見などが不足して いました。 2.Photonの設定やチューニングについて Photonの設定やチューニングはお任せしたい。 3.Photonのライセンス運用について 数が増えてくるとPhotonのライセンス管理も大変でした。 4.Windowsサーバの管理について ライセンスと設定と台数管理などが大変でした。 PhotonCloudを検討してみよう Copyright © 2017 BANDAI NAMCO Entertainment 40

41.

PhotonCloudにしてみる? 1.Windowsサーバの管理について Windowsサーバーの管理をクラウドなのでしなくてよくなりました。 細かいネットワーク周りのチューニングなどしなくてよくなりました。 セキュリティ対策をお任せできるようになりました。 2. Photonの設定やチューニングについて Photonの設定やチューニングをお任せできるようになりました。 3. Photonのライセンス運用について ライセンス管理もPhotonCloudになりましたので、こちらで管理する必要がなくなりました。 4. Windowsサーバの管理について PhotonCloudになりましたので、サーバーの管理もしなくてよくなりました。 5.その他メリットについて 海外リージョンも存在しました。世界展開を考える上で非常に高いメリットでした。 PhotonCloudのメリットが多い。 Copyright © 2017 BANDAI NAMCO Entertainment 41

42.

PhotonEnterpriseCloudにした理由 1. 安定したサービスにしたい 専有サービスになるので安心です。 2. 案件に応じたカスタマイズを行いたい 個々の案件でクラスタを立てれば、他の案件に影響することなく、カスタマイズが可能です。 3. 同時接続数について PhotonRealtimeの同時接続数はMax5000CCUでした。これでは、要件をみたしていません でした。そのため、 PhotonEnterpriseCloudにしました。 (PhotonEnterpriseCloud:1クラスタMax40000CCU) 4.複数の案件でも運用を簡単にしたい 1つのアカウントで複数の案件が利用可能です。 「PhotonEnterpriseCloud」はじめました。 Copyright © 2017 BANDAI NAMCO Entertainment 42

43.

Photonを使用する上での注意点。その1 1.同期処理が必須 Photonを使うだけでは同期しません。同期するタイミングは必要です。 2.シビアな通信は難しい 対戦格闘ゲームやリアルタイムMMOなどの実現は非常に難しいと判断しました。 アクションゲームなども厳しいと判断しました。 3.Photonサーバ側で計算処理などはさせない Photon側でゲーム内判定や結果処理など処理がおもくなり、結果 同期ズレの要因となることがありました。 4.ゲームルーム検索について Photonで取得できるルームの数に制限があります。 Copyright © 2017 BANDAI NAMCO Entertainment 43

44.

Photonを使用する上での注意点。その2 5.1クラスタの限界値について 1クラスタ最大4万CCUが限界これ以上はクラスタをわける必要があります。 6.マッチングシステムを別で用意する必要性について クラスター外マッチングなどする場合は、Photonの外側でマッチング ルールを生成してPhotonサーバに投げる必要がありました。 7.Photonに依存しすぎない Photonは万能ではありません。Photonの特性に合わせた ゲーム仕様が必要でした。 8.1メッセージの通信容量について 1200Byte以上の通信は送信しないようにしました。 エラーになるので場合があるので、メッセージサイズには注意が必要です。 Copyright © 2017 BANDAI NAMCO Entertainment 44

45.

Photon利用時の注意点まとめ 1.同期タイミングを置くようにしました。 2.通信はできるだけ軽くしました。 3.Photonサーバ側では重い処理は避けました。 Copyright © 2017 BANDAI NAMCO Entertainment 45

46.

Photonを使用する通信フローの例 Copyright © 2017 BANDAI NAMCO Entertainment 46

47.

海外展開について Copyright © 2017 BANDAI NAMCO Entertainment 47

48.

海外展開について 海外展開の前例について BNEでのリアルタイム通信系の海外展開の前例 がありませんでした。 そこで、いろいろ考えた構成が次のページです。 Copyright © 2017 BANDAI NAMCO Entertainment 48

49.

初期構成案 Lobby API Game DB 欧州(本番) deploy Lobby API Lobby API Game DB Game DB 日本(本番) deploy API Game DB 豪州(本番) deploy 北米(本番) deploy APP(sa) APP(au) Lobby APP(na) APP(jp) APP(eu) deploy Lobby API Lobby API Game DB Game DB 南米(本番) 日本(開発) Manage Copyright © 2017 BANDAI NAMCO Entertainment 49

50.

海外展開の課題や要件 1.運用の簡略化について 出来るだけ運用を楽にしたいのですが、先の案だと運用が大変です。 2.通信品質の考えについて 通信品質を保証するにはどうすればいいかを考える必要がありました。 3.ライセンス管理について ライセンス処理を含めて可用性を担保したかったです。 4.コストについて インフラコストいかに低減させるためにどうすれば良いか。先の案だとかかりすぎました。 5.マッチング方法について ワールドマッチングについてどうするかを考える必要がありました。 Copyright © 2017 BANDAI NAMCO Entertainment 50

51.

海外展開の課題や要件の解決方法 どのように対策をしたのか? Copyright © 2017 BANDAI NAMCO Entertainment 51

52.

海外対応ネットワーク図 マッチングを管理 Lobby 負荷対策 Lobby API Game Game jp us 遅延対策 遅延対策 最寄りのリージョンを選択 最寄りのリージョンを選択 最寄りのリージョンを選択 最寄りのリージョンを選択 APP APP APP Copyright © 2017 BANDAI NAMCO Entertainment APP 52

53.

課題に対する解決方法について 1.運用の簡略化について 設計当初は5リージョンにAPIとPhotonのセットを用意する想定でした。 しかし、 5サービス運用しているのと変わらないインフラ運用コストがかか ると想定されました。そこで、検証をおこない。その結果を元に最適化をおこ ないました。 2.通信品質の考えについて 通信品質をとるか、マッチング範囲を取るかという判断において、通信品質 を取るために、状況に応じてPhotonのリージョンを増やすことを視野に入れ つつ、Photonのリージョンを2つにわけることにしました。 Copyright © 2017 BANDAI NAMCO Entertainment 53

54.

課題に対する解決方法について 3.ライセンス管理について Photon Enterprise Cloudにすることで解決しました。 4.コストについて APIのリージョンを1つにして、Photonのリージョンを2つにすることでコ ストを下げることができました。 5.マッチング方法について 通信品質を考慮して、クライアントから一番近いPhotonリージョンへ接続 するAPIをつかい、マッチングをするようにしました。 Copyright © 2017 BANDAI NAMCO Entertainment 54

55.

複数のPhotonの構成について 複数構成について Copyright © 2017 BANDAI NAMCO Entertainment 55

56.

複数案件でPhotonを利用する場合の課題について 1.個別管理にする理由 Photonを利用する案件が複数あった場合、 メンテナンスや突発的なトラフィック増加などを 考慮する必要があります。 2.費用の按分について 案件ごとに費用を按分することを、考慮する 必要があります。 Copyright © 2017 BANDAI NAMCO Entertainment 56

57.

複数案件ネットワーク構成 eu-cluster1 eu-cluster2 jp-cluster1 jp-cluster2 jp-cluster3 us-cluster1 us-cluster2 Lobby Lobby Lobby Lobby Lobby Lobby Lobby Game Game Game Game Game Game Game jp eu APP1 (WW) APP2 (JP) APP2 (WW) Copyright © 2017 BANDAI NAMCO Entertainment us プラグインを利用していないので、開発環境 と公開環境をAPP-IDを分けて相乗り プラグインを使う場合は、クラスタを分けると よいと思います。 57

58.

複数案件の対応について 1.案件ごとにクラスタを分けました 最初は費用面を考えて、1クラスタ内に複数の案件を同居させていました。 Photonのバージョンアップメンテナンス対応や、費用の案件単位での分担方法に問題が 発生した為、1案件に1クラスタを分けるように構成を変更しました。 2.開発環境と公開環境について プラグインを利用していない案件では、開発環境と公開環境を同一クラスタにしています。 3.一元管理のメリットについて 一元管理しているので、知見の集約がしやすくなりました。 4.費用の按分について GMOさんへご相談いただければと思います。 Copyright © 2017 BANDAI NAMCO Entertainment 58

59.

まとめ 1.Photonを使う上で、同期タイミングや通信フローなどを気を付けないと 正しくリアルタイム通信ができませんので注意が必要です。 2.Photon Enterprise Cloudを使うことで、海外でのリアルタイム通信の実 装と運用管理を簡略化することができました。 3.設計にあたっては、要件を見定め、仕様や構成を最適化しないと、インフ ラ費用や運用コストが大幅に膨れ上がりますので、注意が必要です。 Copyright © 2017 BANDAI NAMCO Entertainment 59

60.

最後に リアルタイム通信の導入は、用法、用量を守って正しくお使いください。 Copyright © 2017 BANDAI NAMCO Entertainment 60

61.

謝辞 ご協力いただきました皆様方に、厚く御礼申し上げます。 Copyright © 2017 BANDAI NAMCO Entertainment 61

62.

最後に

63.

今後の予定 • 5/30(火) • 6/28(水) Photon 勉強会@渋谷 GMOオフィス Photon 勉強会@大阪 GMO Yours その他も続々開催予定!

64.

AppSealing • ゲームのクラッキングから守る 日本でもサービス開始 • クラウドサービスで簡単にゲームを保護 • Photonブースの隣でご紹介中!

65.

まとめ • Photonは日々進化しています! • 進化系であるTrueSyncをぜひお試しください! • グローバル展開をクラウドで簡単に実現できる ネットワークエンジンはPhotonです!

66.

Thank you!