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

カジュアルゲームソーシャル強化塾 第一部

 カジュアルゲームソーシャル強化塾 第一部

ニフティクラウド mobile backendを活用した「ゆる~いソーシャル機能」「ユーザーデータ管理」実装術

More Decks by ニフティクラウド mobile backend

Other Decks in Technology

Transcript

  1. Copyright @ NIFTY Corporation All Rights
    ニフティクラウド mobile backend
    エヴァンジェリスト 一條貴彰
    カジュアルゲームソーシャル強化塾
    第一部
    「ゆる~いソーシャル機能」
    「ユーザーデータ管理」
    実装術

    View full-size slide

  2. Copyright @ NIFTY Corporation All Rights
    自己紹介
    一條 貴彰
    @Takaaki_Ichijo
    • 個人ゲーム開発者
    • ゲーム開発ツール専門コンサル
    仕事
    • NCMBエヴァンジェリスト
    • ゲーム開発ツール専門のライター
    • 他色々
    趣味
    • 飲酒(クラフトビール)
    • 80’s洋ポップス レアレコード収集 / DJ

    View full-size slide

  3. Copyright @ NIFTY Corporation All Rights
    もくじ
    • 本セミナーの目的
    • NCMBとは?
    • デモゲーム紹介
    • 『剣士なんですぐ死んでしまうん?』について
    • NCMB利用の流れ
    • デモゲームの実装について

    View full-size slide

  4. Copyright @ NIFTY Corporation All Rights
    本セミナーの目的

    View full-size slide

  5. Copyright @ NIFTY Corporation All Rights
    カジュアルゲームの差別化が必要
    • プレイヤーの目が肥えた
    • 開発者が増えた
    • クオリティが上がった
    新しいゲーム体験、おもしろさを発見しなくては…

    View full-size slide

  6. Copyright @ NIFTY Corporation All Rights
    最近の大ヒットから
    『ひとりぼっち惑星』
    放置ゲー+一方的メッセージング

    View full-size slide

  7. Copyright @ NIFTY Corporation All Rights
    鍵のひとつは「ゆるソーシャル」かも?
    オンライン機能を使った新しいゲームシステム
    or 快適なプレイ

    View full-size slide

  8. Copyright @ NIFTY Corporation All Rights
    しかし….
    • ソーシャル機能の実装はサーバー側の用意が必要
    • サーバーを契約?Linux?
    • コンソールで設定?
    • DB保守?
    • 小規模アプリには辛い/重い?
    NCMBを使おう!

    View full-size slide

  9. Copyright @ NIFTY Corporation All Rights
    今回セミナーの対象者
    • Unity ユーザーで、サーバーエンジニアでない人
    • 個人ゲームアプリ開発者
    • 法人のカジュアルゲームアプリ開発者
    • サーバー側をやるスキルがない
    • サーバー側をやる時間・コストがない
    • 手間を掛けたくない
    …サーバーエンジニアさん、Webエンジニアさんには
    少し物足りないかもしれません。ゴメンナサイ。

    View full-size slide

  10. Copyright @ NIFTY Corporation All Rights
    NCMBとは?

    View full-size slide

  11. Copyright @ NIFTY Corporation All Rights
    ニフティクラウド mobile backnendについて
    11
    @niftycloud_mb
    fb.me/niftycloudmb
    ニフティクラウド mobile backend
    ニフティ株式会社の提供するmBaaS
    mBaaS:スマートフォン/Webアプリのバックエンド
    (サーバサイド)の仕組みを一括提供
    http://mb.cloud.nifty.com/

    View full-size slide

  12. Copyright @ NIFTY Corporation All Rights
    ひとことで
    ゲームにオンライン機能を
    簡単に追加できる

    View full-size slide

  13. Copyright @ NIFTY Corporation All Rights
    ふつうの開発におけるソーシャル機能の実装
    サーバ側の開発コスト
    サーバのメンテナンス
    セキュリティ対策
    サーバーとの連携の実装
    JSON等を使ったシリアライ
    アプリ側 サーバー側

    View full-size slide

  14. Copyright @ NIFTY Corporation All Rights
    mBaaSを活用したソーシャル機能の実装
    アプリ側 NCMB
    データを保存する
    機能を呼び出す
    API経由で機能を提供

    View full-size slide

  15. Copyright @ NIFTY Corporation All Rights
    どんな機能があるのか?
    • ユーザー管理
    • データストア
    • プッシュ通知
    • ファイルストア
    • スクリプト機能

    View full-size slide

  16. Copyright @ NIFTY Corporation All Rights
    ユーザ管理
    16
    認証(メール/ユーザID)
    メールアドレス確認/パスワードリマ
    インダーメール
    ソーシャルサービスでのログイン

    View full-size slide

  17. Copyright @ NIFTY Corporation All Rights 17
    データストア
    チェックインデータの記録
    ユーザ間メッセージなど

    View full-size slide

  18. Copyright @ NIFTY Corporation All Rights
    プッシュ通知機能
    18
    !
    Web管理画面から作成 iOS/Android共通
    位置情報で絞り込み 開封率グラフ

    View full-size slide

  19. Copyright @ NIFTY Corporation All Rights 19
    ファイルストア
    イベント表示用HTML
    アプリで使う画像、音楽、動画など

    View full-size slide

  20. Copyright @ NIFTY Corporation All Rights
    スクリプト機能提供開始!
    20

    View full-size slide

  21. Copyright @ NIFTY Corporation All Rights
    ゲームの採用事例1
    『ひとりぼっち惑星』
    放置ゲー+一方的メッセージング
    データストア機能を使って、
    メッセージングシステムを実現
    インタビュー記事作りました!
    http://blog.mb.cloud.nifty.com/?p=8429

    View full-size slide

  22. Copyright @ NIFTY Corporation All Rights
    ゲームの採用事例2
    『君の目的はボクを殺すこと』
    放置ゲー+煽りまくる世界観
    プッシュ通知機能を使って、
    時間限定イベントのヒント・時事ネタを提供
    インタビュー記事準備中!
    「君の目的はボクを殺すこと3」好評予約中!

    View full-size slide

  23. Copyright @ NIFTY Corporation All Rights
    料金体系
    無料プラン利用がほとんど
    どの程度で有料になるかは、APIの使い方によるので不均一
    まずは無料から。 アプリが大ヒットすれば有料へ。

    View full-size slide

  24. Copyright @ NIFTY Corporation All Rights
    デモゲームの紹介

    View full-size slide

  25. Copyright @ NIFTY Corporation All Rights
    デモゲーム作りました。
    『剣士なんですぐ死んでしまうん』
    ゆるいオンライン協力アククションゲーム
    墓場で剣士が闘う
    オンライン要素:
    データストア機能を使って、
    プレイヤーが死んだ位置と遺言を
    他のプレイヤーと共有
    ※デモなのでストア配信してません。Githubでソース公開中。

    View full-size slide

  26. Copyright @ NIFTY Corporation All Rights
    動画を御覧ください
    https://www.youtube.com/watch?v=VeVGiGeSvLY

    View full-size slide

  27. Copyright @ NIFTY Corporation All Rights
    NCMB利用の流れ

    View full-size slide

  28. Copyright @ NIFTY Corporation All Rights
    ご案内
    • これから紹介する手順は
    「クイックスタート」で全て確認できます。
    ・まずは管理画面へログイン
    https://console.mb.cloud.nifty.com
    http://mb.cloud.nifty.com/doc/current/introduction/

    View full-size slide

  29. Copyright @ NIFTY Corporation All Rights
    管理画面での操作
    アプリの新規作成画面が表示されます。
    アプリ名を入力して新規作成してください。
    「アプリケーションキー」「クライアント
    キー」の2つが生成されます。
    サーバー接続の認証に利用します。
    OKをクリックすると
    アプリごとの管理画面が表示されます

    View full-size slide

  30. Copyright @ NIFTY Corporation All Rights
    APIキーを後から確認
    アプリ設定をクリック
    ここにあります
    管理画面

    View full-size slide

  31. Copyright @ NIFTY Corporation All Rights
    Unity側
    • NCMB SDK for Unityの導入
    • 本日現在の最新版は v2.2.0
    • .unitypackageファイルをgithubで配布
    https://github.com/NIFTYCloud-
    mbaas/ncmb_unity/releases
    Assets→Import PackageからNCMB.unitypackageを
    選ぶ

    View full-size slide

  32. Copyright @ NIFTY Corporation All Rights
    GameObjectの作成
    • NCMBManager.cs NCMBSettings.csから
    新規のGameObjectをシーン上につくる

    View full-size slide

  33. Copyright @ NIFTY Corporation All Rights
    NCMBSettings
    「NCMBSettings」のインスペクターから、
    先程取得したアプリケーションキー、
    クライアントキーを設定。
    コピー&ペーストで
    貼り付け

    View full-size slide

  34. Copyright @ NIFTY Corporation All Rights
    NCMB側設定
    おわり
    これでアプリ側からデータの出し入れができる状態

    View full-size slide

  35. Copyright @ NIFTY Corporation All Rights
    どういうことなのか?
    • アプリ側のコードで
    フィールドを指定
    “NCMBObject”は
    データベースで扱うクラス
    .Add(フィールド名, 値)で追加
    .SaveAsyncでNCMBへ保存

    View full-size slide

  36. Copyright @ NIFTY Corporation All Rights
    どういうことなのか?
    • DBに対応したフィールドが生成される

    View full-size slide

  37. Copyright @ NIFTY Corporation All Rights
    デモゲームの実装について

    View full-size slide

  38. Copyright @ NIFTY Corporation All Rights
    デモゲームのコードすべて
    Githubへ
    https://github.com/NCMBMania/GraveOfTheFencers

    View full-size slide

  39. Copyright @ NIFTY Corporation All Rights
    動作のしくみ
    ゲームオーバー
    次のユーザーへの
    アドバイスを記入
    「呪い」「回復」
    「効果なし」を
    選んでください
    mBaaS、データストアへ
    各種データーを保存
    十字キーで移動
    スペースで攻撃

    View full-size slide

  40. Copyright @ NIFTY Corporation All Rights
    動作のしくみ2
    上記のように作動すれば成功です!
    墓に近づくと、
    墓の主の名前
    (赤枠内)が表示されます
    「調べる」を押すと墓の設定
    に応じて下記の効果が得られます
    墓の設定 効果
    呪い ダメージを受ける
    回復 HPが回復
    効果なし 特に何もおこらない

    View full-size slide

  41. Copyright @ NIFTY Corporation All Rights
    保存の流れ
    • アプリ側における、「お墓」データ管理
    • GraveInfo構造体のリスト

    View full-size slide

  42. Copyright @ NIFTY Corporation All Rights
    コード解説:墓メッセージの保存
    DataStoreManager.cs

    View full-size slide

  43. Copyright @ NIFTY Corporation All Rights
    コード解説:墓メッセージの読込
    GraveInfo構造体のリストに保存

    View full-size slide

  44. Copyright @ NIFTY Corporation All Rights
    これだけ!
    • 単なるアクションゲームへ
    「他のプレイヤーが見える」仕組みの導入
    • →行きた世界に

    View full-size slide

  45. Copyright @ NIFTY Corporation All Rights 45
    まとめ
    1. サーバサイドの開発が不要
    2. フロント側さえ開発できればすぐに使える
    3. 無料から使い始められる

    View full-size slide

  46. Copyright @ NIFTY Corporation All Rights
    スマホビルド時に関して
    Build SettingsにてプラットフォームをAndroid、iOSに
    変えていただくと、スマホ用のUIに変更されます。

    View full-size slide

  47. Copyright @ NIFTY Corporation All Rights
    第一部 完

    View full-size slide