「Unity ネットワーク完全に理解した」勉強会の発表資料です。 SpeakerDeckはハイパーリンクを無視するようなので、Slideshare版をご利用ください https://www.slideshare.net/takaakiichijo/unitymbass
Unity対応してるmBaaS全部紹介する株式会社ヘッドハイ一條貴彰2018/12/11
View Slide
※スライド内容は個人の意見であり所属する組織の意見を代表するものではありません
自己紹介:一條貴彰・株式会社ヘッドハイ代表・個人ゲーム開発者(後述) ・エヴァンジェリスト業 ・Play,Doujin! ディレクター・CRI ADX2のアドボケイト ・GamesIndustry.bizのライター・Unity Audio専門書を執筆中!・趣味・80’s 洋楽ポップスレコードの収集 ・刀剣乱舞おじさん(最近はDREAM!ing -ドリーミング!おじさん)
当社開発Switchタイトル「デモリッション ロボッツ K. K.」・4人対戦ロボットゲーム・ビルを殴って壊す数を競う
Unity対応してるmBaaS全部紹介する
mBaaSって何や??● mobile Backend As A Serviceの略○ モバイルアプリの運用に必要なサーバー実装をサービス化したもの■ DBやログイン管理、プッシュ通知管理が入ってる○ AWS / GCPなどのIaaSよりさらに高レイヤー■ サーバーのセットアップがいらない■ 運営管理をサービス側に丸投げできる
だいたいどのmBaaSにもある機能● モバイル端末向けプッシュ通知● データベース○ ランキングとかゲームの全体設定とか● アプリ内課金機能○ AppStore, GooglePlay, PS Store, Nintendo eShop, Windows Services Storeを透過的に扱う● ログイン・ログアウト機能○ ユーザー固有の情報● サーバー側ロジック実行○ ログボとかデイリーランキングのリセットとかガチャとか● ファイルサーバー○ 画像データや動画データを置いておいて、アプリから取得できるもの○ 規約で.assetbundle置いちゃいけないものも(そういうのは CDN通してやれ)
Game Server Service (GS2)こちらの資料をご覧ください(同日にあった講演の資料です)https://speakerdeck.com/kazutomo/unitynetutowakuwan-quan-nili-jie-sita
NCMB(ニフクラ mobile backend)
NCMBの強み・実装がとにかくわかりやすい、楽・ついで管理画面もシンプルでわかりやすい →DBが表形式!・日本のサービスなので対応が早い(これ重要)・SDKのサイズが小さい、軽い。7MBぐらい。(これ重要2)・定額制なので課金で死ぬことがない・パスワード再発行メールシステムが実装済み
ニフクラmobilebackendのDB管理画面は見やすい
便利なパスワード再発行機能
NCMBの弱み● ゲーム専用ではない○ ゲーム向け機能開発は無さそう● 機能拡張が弱い○ phpでスクリプトは書けるが、サイズ制限がある● 定期実行系の処理がない○ 外部サービスからたたく必要がある● DBが簡単すぎて、たまにガバい実装ができてしまう○ スクリプト側でDB名をミスタイプするとミスタイプした名前のクラスが生成される
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
Google Firebase
Firebaseの強み● 天下のGoogle直運営○ ていうかAndroidのプッシュ通知するなら強要状態● 大型タイトルでの事例が多い○ スーパーマリオランとか、ポケモン GOとか任天堂系● プッシュ通知のみなら無制限で無料○ これ目当てで使おうとする人多し
Firebaseの弱み● ゲーム特化型ではない● DBにアクセスコントロール含む「設計」が必要○ アクセスのオーバーヘッドを考慮した DB知識が要る DBは仕様が全く変わった● Unityプラグインがダメ○ .Netフル版必須(Subsetで動作しない)のでライブラリサイズがデカくなる○ CocoaPods依存なのでビルド時間が 5倍ぐらい長くなる○ 機能追従が遅い■ G「Realtime DB消してCloud Firestoreにいきなり移行や!」■ G「Unity?対応しとらんで」● Unity EditorとPC/Macビルドでは動作しない(辛すぎる)○ 「m」BaaSなので正しいっちゃ正しいが、ゲーム開発会社的にはつらい
Cloud Firestore
お勧め資料・FirebaseとUnityでは ソシャゲは作らない方が良い話 by @gremitoさんhttps://speakerdeck.com/gremito/firebasetounitydeha-sosiyagehazuo-ranaifang-galiang-ihua・(Realtime DBについての記事は機能刷新によりすべて使えなくなった)
Amazon GameSparks
GameSparksの強み● 天下のAmazon直系サービスで信頼性が高い○ サードパーティーではなく直運営● カバーしている機能が広い○ ガチャなどのアイテム排出率制御○ チーム機能(ギルドを組める)○ オンライン対戦用のルーム機能○ チャット機能● 管理画面内でAPIテスト実行ができる● PS4、Nintendo Switch、Xbox Oneに対応!○ 3機種対応が重要、海外展開のため
Test Harness:管理画面の中でAPIテスト
GameSparksの弱み● 日本語ドキュメントがない○ CEDECで「夏予定」って言ってませんでしたか ...● 機能豊富だが、どの機能を使って仕組みを構築していいのかよくわからない● データベース機能の刷新が途中状態○ 前はあったMongoDBが使えなくなる○ 新DBであるGameDataが癖がありドキュメントも少ない● 日本での利用事例が少ない○ 海外では事例豊富、コンソール向けも実績あり● 日本窓口はまだまだ整備途中○ 質問の回答に時間がかかりがち
GameSparksお勧めドキュメントAmazon GameSparks for Unityを触ってみたhttps://qiita.com/Takaaki_Ichijo/items/b47f8bfd41d9bb4c9a3fAmazon GameSparksでUnityゲームにランキング機能を実装するhttps://qiita.com/Takaaki_Ichijo/items/9249999aad5b0bfdaf2b
Microsoft PlayFab
PlayFab● 強み:○ ”Live Ops”と呼ぶ「ゲーム内イベント運用」での利用が根底にある (ソシャゲに向いてる)○ 将来的にサーバー側コードを C#で書けるようになる(Azure Functions)○ PS4, Nintendo Switch, Xbox Oneにも対応○ 日本語化されました!● 弱み:○ 実際に評価してないのでわからん ....● 資料:UnityでのPlayFabの導入覚え書きhttp://jackmasaki.hatenablog.com/entry/2018/09/09/023925
その他のmBaaSKii Cloud(日本)https://jp.kii.com/・利用料金が非開示....。・AWSベースとのことLean Cloud(中国)https://leancloud.cn/・データストレージはある様子。英語情報なし。 ・中国ではいろいろなサーバーが弾かれるので本土サービスを使うのが手?The Backend(韓国) https://thebackend.io/ ・英語情報あり、日本語情報も出すかも・強みは不明なので今後の情報に期待
オッ
総括:みんな違ってみんな良い● NCMB○ バックエンドサービス触るの初めての人にお勧め!!● GameSparks○ ゲーム機も含めた展開を見据えてしっかり作りたい人にお勧め!!● Firebase○ どうしてもタダでプッシュ通知をやりたい人にお勧め!!● PlayFab○ マイクロソフトのファンの人にお勧め!!(すいません、詳しくないので)● GS2○ アプリ内課金対応が神!資金決済法に準拠したゲーム内通貨! iOSのレシート検証機能!アダムもそう思います
ご清聴ありがとうございました