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

Unity対応してるmBaaS 全部紹介する(ハイパーリンクが機能してない版)

Takaaki Ichijo
December 11, 2018

Unity対応してるmBaaS 全部紹介する(ハイパーリンクが機能してない版)

「Unity ネットワーク完全に理解した」勉強会の発表資料です。
SpeakerDeckはハイパーリンクを無視するようなので、Slideshare版をご利用ください https://www.slideshare.net/takaakiichijo/unitymbass

Takaaki Ichijo

December 11, 2018
Tweet

More Decks by Takaaki Ichijo

Other Decks in Technology

Transcript

  1. Unity対応してる
    mBaaS
    全部紹介する
    株式会社ヘッドハイ
    一條貴彰
    2018/12/11

    View Slide

  2. ※スライド内容は個人の意見であり
    所属する組織の意見を代表するものでは
    ありません

    View Slide

  3. 自己紹介:一條貴彰
    ・株式会社ヘッドハイ代表
    ・個人ゲーム開発者(後述)
      ・エヴァンジェリスト業
       ・Play,Doujin! ディレクター
    ・CRI ADX2のアドボケイト
      ・GamesIndustry.bizのライター
    ・Unity Audio専門書を執筆中!
    ・趣味
    ・80’s 洋楽ポップスレコードの収集
      ・刀剣乱舞おじさん(最近はDREAM!ing -ドリーミング!おじさん)

    View Slide

  4. 当社開発Switchタイトル
    「デモリッション ロボッツ K. K.」
    ・4人対戦ロボットゲーム
    ・ビルを殴って壊す数を競う

    View Slide

  5. Unity対応してる
    mBaaS
    全部紹介する

    View Slide

  6. mBaaSって何や??
    ● mobile Backend As A Serviceの略
    ○ モバイルアプリの運用に必要なサーバー実装をサービス化したもの
    ■ DBやログイン管理、プッシュ通知管理が入ってる
    ○ AWS / GCPなどのIaaSよりさらに高レイヤー
    ■ サーバーのセットアップがいらない
    ■ 運営管理をサービス側に丸投げできる

    View Slide

  7. だいたいどのmBaaSにもある機能
    ● モバイル端末向けプッシュ通知
    ● データベース
    ○ ランキングとかゲームの全体設定とか
    ● アプリ内課金機能
    ○ AppStore, GooglePlay, PS Store, Nintendo eShop, Windows Services Storeを透過的に扱う
    ● ログイン・ログアウト機能
    ○ ユーザー固有の情報
    ● サーバー側ロジック実行
    ○ ログボとかデイリーランキングのリセットとかガチャとか
    ● ファイルサーバー
    ○ 画像データや動画データを置いておいて、アプリから取得できるもの
    ○ 規約で.assetbundle置いちゃいけないものも(そういうのは CDN通してやれ)

    View Slide

  8. Game Server Service (GS2)
    こちらの資料をご覧ください
    (同日にあった講演の資料です)
    https://speakerdeck.com/kazutomo/unitynet
    utowakuwan-quan-nili-jie-sita

    View Slide

  9. NCMB
    (ニフクラ mobile backend)

    View Slide

  10. NCMBの強み
    ・実装がとにかくわかりやすい、楽
    ・ついで管理画面もシンプルでわかりやすい
      →DBが表形式!
    ・日本のサービスなので対応が早い(これ重要)
    ・SDKのサイズが小さい、軽い。7MBぐらい。(これ重要2)
    ・定額制なので課金で死ぬことがない
    ・パスワード再発行メールシステムが実装済み

    View Slide

  11. ニフクラmobilebackendのDB管理画面は見やすい

    View Slide

  12. 便利なパスワード再発行機能

    View Slide

  13. NCMBの弱み
    ● ゲーム専用ではない
    ○ ゲーム向け機能開発は無さそう
    ● 機能拡張が弱い
    ○ phpでスクリプトは書けるが、サイズ制限がある
    ● 定期実行系の処理がない
    ○ 外部サービスからたたく必要がある
    ● DBが簡単すぎて、たまにガバい実装ができてしまう
    ○ スクリプト側でDB名をミスタイプするとミスタイプした名前のクラスが生成される

    View Slide

  14. NCMBの詳しい資料
    書籍:Unityネットワークゲーム開発実践入門
    https://www.amazon.co.jp/dp/4802610998
    ニフクラmobile backendを使ってログインボーナス、
    プレイヤーのカード管理、ランキング、フレンド機能を
    実装できる!
    解説:
    Unityで『ニーア オートマタ』の義体システムっぽい機能を作る
    https://qiita.com/Takaaki_Ichijo/items/a82d5e760d9a85f9b10c
    ファイルストアでセーブデータ(JSONファイル)のバックアップ
    https://qiita.com/azumagoro/items/3acc2f9a2b9fd26d0f9b

    View Slide

  15. Google Firebase

    View Slide

  16. Firebaseの強み
    ● 天下のGoogle直運営
    ○ ていうかAndroidのプッシュ通知するなら強要状態
    ● 大型タイトルでの事例が多い
    ○ スーパーマリオランとか、ポケモン GOとか任天堂系
    ● プッシュ通知のみなら無制限で無料
    ○ これ目当てで使おうとする人多し

    View Slide

  17. Firebaseの弱み
    ● ゲーム特化型ではない
    ● DBにアクセスコントロール含む「設計」が必要
    ○ アクセスのオーバーヘッドを考慮した DB知識が要る DBは仕様が全く変わった
    ● Unityプラグインがダメ
    ○ .Netフル版必須(Subsetで動作しない)のでライブラリサイズがデカくなる
    ○ CocoaPods依存なのでビルド時間が 5倍ぐらい長くなる
    ○ 機能追従が遅い
    ■ G「Realtime DB消してCloud Firestoreにいきなり移行や!」
    ■ G「Unity?対応しとらんで」
    ● Unity EditorとPC/Macビルドでは動作しない(辛すぎる)
    ○ 「m」BaaSなので正しいっちゃ正しいが、ゲーム開発会社的にはつらい

    View Slide

  18. Cloud Firestore

    View Slide

  19. Cloud Firestore

    View Slide

  20. お勧め資料
    ・FirebaseとUnityでは ソシャゲは作らない方が良い話 by @gremitoさん
    https://speakerdeck.com/gremito/firebasetounitydeha-sosiyagehazuo-ranaifang-ga
    liang-ihua
    ・(Realtime DBについての記事は機能刷新によりすべて使えなくなった)

    View Slide

  21. Amazon GameSparks

    View Slide

  22. GameSparksの強み
    ● 天下のAmazon直系サービスで信頼性が高い
    ○ サードパーティーではなく直運営
    ● カバーしている機能が広い
    ○ ガチャなどのアイテム排出率制御
    ○ チーム機能(ギルドを組める)
    ○ オンライン対戦用のルーム機能
    ○ チャット機能
    ● 管理画面内でAPIテスト実行ができる
    ● PS4、Nintendo Switch、Xbox Oneに対応!
    ○ 3機種対応が重要、海外展開のため

    View Slide

  23. View Slide

  24. Test Harness:管理画面の中でAPIテスト

    View Slide

  25. GameSparksの弱み
    ● 日本語ドキュメントがない
    ○ CEDECで「夏予定」って言ってませんでしたか ...
    ● 機能豊富だが、どの機能を使って仕組みを構築していいのかよくわからない
    ● データベース機能の刷新が途中状態
    ○ 前はあったMongoDBが使えなくなる
    ○ 新DBであるGameDataが癖がありドキュメントも少ない
    ● 日本での利用事例が少ない
    ○ 海外では事例豊富、コンソール向けも実績あり
    ● 日本窓口はまだまだ整備途中
    ○ 質問の回答に時間がかかりがち

    View Slide

  26. GameSparksお勧めドキュメント
    Amazon GameSparks for Unityを触ってみた
    https://qiita.com/Takaaki_Ichijo/items/b47f8bfd41d9bb4c9a3f
    Amazon GameSparksでUnityゲームにランキング機能を実装する
    https://qiita.com/Takaaki_Ichijo/items/9249999aad5b0bfdaf2b

    View Slide

  27. Microsoft PlayFab

    View Slide

  28. PlayFab
    ● 強み:
    ○ ”Live Ops”と呼ぶ「ゲーム内イベント運用」での利用が根底にある
     (ソシャゲに向いてる)
    ○ 将来的にサーバー側コードを C#で書けるようになる(Azure Functions)
    ○ PS4, Nintendo Switch, Xbox Oneにも対応
    ○ 日本語化されました!
    ● 弱み:
    ○ 実際に評価してないのでわからん ....
    ● 資料:UnityでのPlayFabの導入覚え書き
    http://jackmasaki.hatenablog.com/entry/2018/09/09/023925

    View Slide

  29. その他のmBaaS
    Kii Cloud(日本)https://jp.kii.com/
    ・利用料金が非開示....。
    ・AWSベースとのこと
    Lean Cloud(中国)https://leancloud.cn/
    ・データストレージはある様子。英語情報なし。
      ・中国ではいろいろなサーバーが弾かれるので本土サービスを使うのが手?
    The Backend(韓国) https://thebackend.io/
      ・英語情報あり、日本語情報も出すかも
    ・強みは不明なので今後の情報に期待

    View Slide

  30. オッ

    View Slide

  31. 総括:みんな違ってみんな良い
    ● NCMB
    ○ バックエンドサービス触るの初めての人にお勧め!!
    ● GameSparks
    ○ ゲーム機も含めた展開を見据えてしっかり作りたい人にお勧め!!
    ● Firebase
    ○ どうしてもタダでプッシュ通知をやりたい人にお勧め!!
    ● PlayFab
    ○ マイクロソフトのファンの人にお勧め!!(すいません、詳しくないので)
    ● GS2
    ○ アプリ内課金対応が神!資金決済法に準拠したゲーム内通貨! iOSのレシート検証機能!
    アダムもそう思います

    View Slide

  32. ご清聴ありがとうございました

    View Slide