Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
カジュアルゲームソーシャル強化塾 第二部
Search
ニフティクラウド mobile backend
September 28, 2016
Technology
0
440
カジュアルゲームソーシャル強化塾 第二部
ニフティクラウド mobile backendを活用したユーザーセーブデータをオンライン化と「ゆる~いソーシャル機能」強化
ニフティクラウド mobile backend
September 28, 2016
Tweet
Share
More Decks by ニフティクラウド mobile backend
See All by ニフティクラウド mobile backend
Monaca キッチンシンクアプリの紹介
ncmb
0
910
ニフティクラウド mobile backend のREST API 4つ の課題
ncmb
0
650
サーバサイドエンジニアにこそ使って欲しいBaaS
ncmb
0
550
カジュアルゲームソーシャル強化塾 第一部
ncmb
0
490
アクションゲームにゆる~いソーシャル型協力機能を作りましょう
ncmb
0
740
Unity + NCMBで作る カスタムステージのオンライン共有システム
ncmb
0
770
Other Decks in Technology
See All in Technology
Lambda Web Adapterについて自分なりに理解してみた
smt7174
6
160
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
6.5k
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
500
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
0
450
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
27k
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
260
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
14k
怖くない!はじめてのClaude Code
shinya337
0
380
Geminiとv0による高速プロトタイピング
shinya337
0
250
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
180
Glacierだからってコストあきらめてない? / JAWS Meet Glacier Cost
taishin
1
150
Lazy application authentication with Tailscale
bluehatbrit
0
160
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
GitHub's CSS Performance
jonrohan
1031
460k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
500
Practical Orchestrator
shlominoach
188
11k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Designing for Performance
lara
610
69k
A better future with KSS
kneath
239
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Transcript
Copyright @ NIFTY Corporation All Rights ニフティクラウド mobile backend エヴァンジェリスト
一條貴彰 カジュアルゲームソーシャル強化塾 第二部 ユーザーセーブデータをオンライン化 「ゆる~いソーシャル機能」強化
Copyright @ NIFTY Corporation All Rights 目的 • オンライン化を活用した新機能 •
便利機能を作ろう:クラウドセーブ • さらにソーシャル的な機能を増やそう • プレイヤーが起こしたアクションに、他のプレイ ヤーがどれだけ影響されたか 継続率UP
Copyright @ NIFTY Corporation All Rights もくじ • クラウドセーブ説明 •
クラウドセーブの機能を追加 • セーブデータをNCMBで保存する • ゆるいソーシャル機能の拡張 • ゲーム内でユーザーが仕掛けたトラップに 他のユーザーが何回ひっかかったか計測する • まとめ
Copyright @ NIFTY Corporation All Rights クラウドセーブとは
Copyright @ NIFTY Corporation All Rights クラウドセーブの説明 • サーバー側にセーブデータを保存する •
異なる端末間で進行状況を共有できる • iOSのみ:iCloudでセーブデータのバックアップ可能 • Androidのみ:Google Play game services (?) • iOS/Android間も共有したい… • 何らかのサーバーサービスが必要 NCMBで、さくっとできる。
Copyright @ NIFTY Corporation All Rights デモゲームに機能追加 • セーブデータとして •
プレイヤーが死亡した回数 • 現在の体力値 を保存して、起動時に読み込んでみる。 ポーズから途中でデームが終了できるようにした。
Copyright @ NIFTY Corporation All Rights デモゲームのコードすべて Githubへ https://github.com/NCMBMania/GraveOfTheFencersVer2
Copyright @ NIFTY Corporation All Rights しくみ • NCMBのユーザー管理機能を使う •
「会員情報」に任意のフィールドを追加する • データストア同様、アプリ側から追加
Copyright @ NIFTY Corporation All Rights ユーザ管理機能おさらい 9 認証(メール/ユーザID) メールアドレス確認/
パスワードリマインダーメール
Copyright @ NIFTY Corporation All Rights メアド認証・パスワードリセットメールも簡単 • 管理画面で文面を用意
Copyright @ NIFTY Corporation All Rights ログイン機能について • デモプロジェクトではUserAuth.csが機能提供 •
サインアップ
Copyright @ NIFTY Corporation All Rights ログイン機能について • ログイン
Copyright @ NIFTY Corporation All Rights タイトル画面
Copyright @ NIFTY Corporation All Rights セーブ機能の追加 • 死んだ回数カウントアップ
Copyright @ NIFTY Corporation All Rights セーブ機能の追加 • 現在の体力を保存
Copyright @ NIFTY Corporation All Rights クラウドセーブの完成 • 別の端末でも体力・死亡数が引き継がれる
Copyright @ NIFTY Corporation All Rights 応用編 • 「データ引き継ぎ」機能の提供 •
毎回セーブするのではなく、プレイヤーが別端末に 「引っ越し」するときだけ利用 そのときにID・パスを決めさせても良い • 「セーブデータ」として • ゲームのシナリオ進行 • アイテムの数と種類
Copyright @ NIFTY Corporation All Rights 注意事項 • 仮想通貨の情報を共有してはいけない •
iOSのアプリ内課金で仮想通貨を買い、 その情報をAndroidに持ってくのはNG。 • データや機能に向けて消費済みであればOKっぽい? • 仮想通貨を経由しない機能購入はダメそう?
Copyright @ NIFTY Corporation All Rights おまけ • PlayerPrefsに似た操作ができるラッパー準備中 •
Github NCMBManiaにて公開予定
Copyright @ NIFTY Corporation All Rights 仕掛けたトラップに 何回ひっかかったか カウントアップする
Copyright @ NIFTY Corporation All Rights どういうこと? • 現状 •
トラップを仕掛けっぱなし • ゆるいソーシャルと言いつつ投げっぱなし • 意地悪なメッセージを仕掛けたなら、 どのくらい引っかかったか知りたい!
Copyright @ NIFTY Corporation All Rights 完成形 • ゲーム開始時にメッセージが流れる
Copyright @ NIFTY Corporation All Rights 流れ Aさん:敵にやられて墓ができる。 座右の銘:「君が俺の後を継ぐんだ!」 効果タイプ:呪い
Bさん: Aさんの墓を調べる。 呪いに引っかかる。 Aさん:起動時に自分の墓の様子が出る。 Bさんが引っかかったので「1人が引っかかりました」と出る。 やったぜ。
Copyright @ NIFTY Corporation All Rights しくみ • 墓のクラスに、その墓を何回調べたかカウントする 「回数」フィールドを用意
• 会員情報に、そのプレイヤーが「最後に立てた墓」の 参照フィールドを用意 • 墓を調べた際、墓の「回数」フィールドを カウントアップ • 起動時に「最後に立てた墓」の 「回数」フィールド、効果の種類を取得して表示
Copyright @ NIFTY Corporation All Rights 「最後に立てた墓」の参照を保存 1 • UserAuth.cs
• ログイン状態でCurrentUser.[フィールド名]に対し、 NCMBObjectを入れてセーブ。
Copyright @ NIFTY Corporation All Rights 「最後に立てた墓」の参照を保存 2 • そのオブジェクトの参照が入る。
• 管理画面では、「ポインターを見る」クリックで 対象のオブジェクトにジャンプ。
Copyright @ NIFTY Corporation All Rights 墓の「回数」フィールドをカウントアップ • DataStoreManager.cs •
墓の罠にかかった際、その墓のID(Object ID)をもつ レコードの”CheckCounter”フィールドをカウントアップ
Copyright @ NIFTY Corporation All Rights 起動時に「回数」を取得して表示 • DataStoreManager.cs •
ログイン状態でオブジェクトのポインタを取得し、 Fetchする。
Copyright @ NIFTY Corporation All Rights ゲーム開始時のメッセージ • ※おてがる実装 •
GraveInfo構造体を受け取って3パターン表示
Copyright @ NIFTY Corporation All Rights 完成!
Copyright @ NIFTY Corporation All Rights まとめ
Copyright @ NIFTY Corporation All Rights まとめ • NCMBの会員管理機能を使って •
クラウドセーブ機能が作れます • 「ゆるいソーシャル」をさらに面白くできます • 今日紹介した使い方はあくまで「一例」です 「こんなこともできるかも…」と頭によぎった人は、 ぜひ自分のゲームでチャレンジしてみて下さい
Copyright @ NIFTY Corporation All Rights よくある質問
Copyright @ NIFTY Corporation All Rights 「開発ガイドライン」ができた • 非推奨の使い方やスペック情報など •
http://mb.cloud.nifty.com/doc/current/common /dev_guide.html
Copyright @ NIFTY Corporation All Rights ファイルストアについて • Asset Bundleファイル置けますか?
• mBaaSはCDNではない • 上限5MB (正確には5MiB) • めっちゃ帯域を専有してしまうためしんどい
Copyright @ NIFTY Corporation All Rights 内部データベース