O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例  安田 京人(モノビットエンジンセミナー2017年4月)

7.845 visualizações

Publicada em

22017年に4月27日にヤフー社員食堂にて行われましたIDCF様と共催のセミナーで3部構成で公開いたしましたスライドです。

【第2部】
題:マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例

登壇者:株式会社モノビット ミドルウェア事業部部長   安田 京人

概要:新製品「Monobit Revorution Sever(MRS)」を搭載し、VerアップしたUnity向けリアルタイム通信エンジン「Monobit Unity Networking 2.0」。従来のモノビットエンジン製品群と比較しつつ、性能・価格など3部構成で詳細を公開いたしました。

Publicada em: Engenharia
  • Seja o primeiro a comentar

マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例  安田 京人(モノビットエンジンセミナー2017年4月)

  1. 1. 11 株式会社モノビット マルチプレーヤーゲームにおける サーバロジック実装と、 VR空間コミュニケーションの実例 安田 京人(ミドルウェア事業部部長)
  2. 2. 22 1〃Monobit Unity Networking(MUN)+MRS編
  3. 3. 33 MUNを使えば簡単にマルチプレーヤーゲームの実装が可 能になりますが、 ゲームのロジックを全てクライアントアプリ側に実装す るので、 チート対策という観点では大事な判定はサーバ側で行う のが望ましいです。 今回は、MUNを用いて簡易的な点取りゲームを作成し、 クライアントアプリ側にあるゲームロジックを、 サーバ側に移植したデモを解説したいと思います。 ※本サンプルは今後の MUN アップデートで提供予定 ■ はじめに
  4. 4. 44 作成したゲームの仕様 ・フィールド上にランダムに発生するオブジェクト(ア イテム)を収集するゲーム。 ・同一ルームに集まったユーザー同士でアイテムを奪い 合い、奪ったアイテム数=スコア管理し、競う。 ・最終的にスコアで判定し勝敗を決する。 ■ ゲーム仕様について
  5. 5. 55 ■ ゲーム画面動画
  6. 6. 66 ■ 実装コードを簡単にご紹介
  7. 7. 77 ■ 問題点 クライアントサイドプログラムの問題点 → 率直に言えばチートの問題! ルームホストがゲームルールを管理するので、 ホストが不正(チート)をするとゲームが崩壊する
  8. 8. 88 ■ 問題点 <考えられるチート内容> ・ホストと同じ場所にのみアイテムを出現させる ・ホスト以外のプレイヤーとはアイテムとの当たり判定を 無効にする ・制限時間を超過してもホストのみアイテムの取得を 可能にする
  9. 9. 99 ■ 問題点 そこで、サーバサイドプログラミング
  10. 10. 1010 ■ サーバサイドプログラミング ・ゲームルールはサーバで管理し、 クライアントはルールによって為された 「結果」のみを受け取る ・受け取ったデータをクライアントで改ざんしても、 サーバや他クライアントに送信できない仕組みを 作る ・ホストの回線速度やマシン性能に依存しない ゲーム運用を可能にする
  11. 11. 1111 ■ 具体的なサーバサイドの実装
  12. 12. 1212 ■ 具体的なサーバサイドの実装 ・アイテム取得処理をルームサーバに移行
  13. 13. 1313 ■ 具体的なサーバサイドの実装 ・アイテム出現処理をルームサーバに移行
  14. 14. 1414 ■ 具体的なサーバサイドの実装 ・制限時間経過処理をルームサーバに移行
  15. 15. 1515 ■ クライアントプログラム側の変更点
  16. 16. 1616 ■ 具体的なサーバサイドの実装 ・クライアント側の変更
  17. 17. 1717 ■ 完成したプログラムの動作確認
  18. 18. 1818 ■ まとめ 今回、 MUN クライアントの MonobitNetwork の一部機能に ついて、サーバ用に移植してみました。 実際、ほぼ Unity クライアントと同じようなコーディ ングで実装が可能です。 ※但し、当たり前ですがUnity独自のAPIは当然の事な がら書けない。 勿論自分でC#やC++でゲームロジックを書いてもOK です!
  19. 19. 1919 2〃VR VoiceChat1.0編
  20. 20. 2020 アプリケーション実装者が数クリックでボイスチャットが実装可能に MUNの使用が前提条件なので、 プレイヤーキャラクターなどにコンポーネントの追加のみで ボイスチャットを実現できること 実際にボイスチャットをアプリケーションに組み込むために、 プレイヤーキャラクター (MonobitViewコンポーネントが追加されている)に対し、 [Add Component]で[Monobit Voice]を追加するだけで ボイスチャットの実装を完了する事が確認できます。 ■ 『VR Voice Chat 』とは
  21. 21. 2121 ■ VoiceChatとオブジェクト同期の組み込み

×