Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MagicOnionでマルチプレイゲームを作ってみる / Introduction to developing multiplayer games using MagicOnion

MagicOnionでマルチプレイゲームを作ってみる / Introduction to developing multiplayer games using MagicOnion

Roppongi.unity #3 のLT資料

02c47acb1dcec7e7c7fa1e9f94c14abb?s=128

sotanmochi

June 25, 2019
Tweet

Transcript

  1. MagicOnionでマルチプレイゲームを 作ってみる 2019/06/25 Soichiro Sugimoto sotan (@sotanmochi)

  2. 自己紹介 杉本 宗一郎(Soichiro Sugimoto) Twitter:@sotanmochi xR系Unityエンジニア(自称) TIS株式会社・戦略技術センター xR技術に関する応用研究・プロトタイプ開発 2 2019/06/25 Roppongi.unity

    #3
  3. 本日お伝えしたいこと MagicOnionを使ってアクションゲーム風のサンプルプロジェクトを作りました https://github.com/sotanmochi/MagicOnionExample-ActionGame 3 2019/06/25 Roppongi.unity #3 動画:https://youtu.be/9nTxbHahXZI

  4. Unityでマルチプレイゲームを作る リアルタイムネットワークエンジンの選択肢 • Photon Unity Networking + Photon Cloud •

    Monobit Unity Networking + モノビットエンジンクラウド • UNET • Mirror • Photon Unity Networking + Photon Server • Monobit Unity Networking + Monobit Revolution Server  など 4 2019/06/25 Roppongi.unity #3
  5. MagicOnionについて Unified Realtime/API Engine for .NET Core and Unity. gRPC(HTTP/2)ベースの統合型ネットワークエンジン

    https://github.com/Cysharp/MagicOnion 5 2019/06/25 Roppongi.unity #3
  6. MagicOnionについて 詳細はMagicOnion勉強会の資料などを参考にしてください The Usage and Patterns of MagicOnion https://www.slideshare.net/neuecc/the-usage-and-patterns-of-magiconion 明日から使えるMagicOnion

    https://ykimisaki-my.sharepoint.com/:p:/g/personal/y_kimisaki_kimisaki_jp/EX9J_lb_fj1Gpt YDZ4tX_ZcBanQZ_FfNDIpQDT4wOrZueQ?rtime=9qMsyxv51kg 黒騎士と白の魔王 gRPCによるHTTP/2 - API, Streamingの実践  https://www.slideshare.net/neuecc/grpchttp2-api-streaming 6 2019/06/25 Roppongi.unity #3
  7. Why MagicOnion? これまでに使った(試した)ことがあるリアルタイムネットワークエンジンは 基本的にクライアント側の実装のみだった • Photon Unity Networking(PUN) + Photon

    Cloud • Monobit Unity Networking(MUN) + モノビットエンジンクラウド • Mirror 7 2019/06/25 Roppongi.unity #3
  8. Why MagicOnion? Unityエンジニアがサーバーサイド開発にも手を出そうとしている Photon Server / Monobit Revolution Server? →

    API通信は別のフレームワークで実装が必要・・・ 8 2019/06/25 Roppongi.unity #3
  9. Why MagicOnion? リアルタイム通信とAPI通信を同じフレームワークでC#で書ける 9 2019/06/25 Roppongi.unity #3 Unity Realtime API

    Service
  10. チュートリアル チャットアプリのサンプルがQiita記事やMagicOnionのリポジトリにある Unity+MagicOnionで超絶手軽にリアルタイム通信を実装してみた https://qiita.com/mitchydeath/items/cecf01493d1efeb4ae55 MagicOnionSample(ChatApp) https://github.com/Cysharp/MagicOnion/tree/master/samples 10 2019/06/25 Roppongi.unity #3

  11. チュートリアル 次のステップへ進むため、もう少しゲームっぽいサンプルが欲しい・・・ 11 2019/06/25 Roppongi.unity #3

  12. サンプルプロジェクト MagicOnionを使ってアクションゲーム風のサンプルプロジェクトを作りました https://github.com/sotanmochi/MagicOnionExample-ActionGame 12 2019/06/25 Roppongi.unity #3 動画:https://youtu.be/9nTxbHahXZI

  13. サンプルプロジェクト • ルーム管理 • プレイヤーキャラクターの同期 • テキストチャット 13 2019/06/25 Roppongi.unity

    #3
  14. サンプルプロジェクトを作ってみて • PUNやMUNに対応するものは自作が必要 • 色々と参考にしながら作ってみたが、どんな設計にすると良いのか分からない • 非同期処理を理解していないと上手く実装できない 14 2019/06/25 Roppongi.unity

    #3
  15. 参考にしたプロジェクト・資料など MagicOnionDemo https://github.com/yika-aixi/MagicOnionDemo UnityResearch https://github.com/yKimisaki/UnityResearch 「オンラインゲームのしくみ」のサンプルプロジェクト (第8章・第9章) https://www.sbcr.jp/support/13006/ 15 2019/06/25

    Roppongi.unity #3
  16. サーバーサイドをクラウド環境へデプロイする Unity+MagicOnionのサンプルプログラムをコンテナ化してAzureContainerInstancesで 簡単に動かす方法 https://qiita.com/_y_minami/items/aa57873bbb9ea0b36dd2 Unity:MagicOnionの.NET CoreコンテナサーバーをAWS Fargateで実行する方法 https://qiita.com/simplestar/items/b1d29e986b0b2cd6af2b 16 2019/06/25

    Roppongi.unity #3
  17. まとめ • MagicOnionはリアルタイム通信/API通信が統合されたネットワークエンジン • アクションゲーム風のサンプルプロジェクトを作ってみた • MagicOnionでサーバーサイド開発を始めてみる 17 2019/06/25 Roppongi.unity

    #3
  18. ありがとうございました