Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
カジュアルゲームソーシャル強化塾 第二部
Search
ニフティクラウド mobile backend
September 28, 2016
Technology
0
450
カジュアルゲームソーシャル強化塾 第二部
ニフティクラウド mobile backendを活用したユーザーセーブデータをオンライン化と「ゆる~いソーシャル機能」強化
ニフティクラウド mobile backend
September 28, 2016
Tweet
Share
More Decks by ニフティクラウド mobile backend
See All by ニフティクラウド mobile backend
Monaca キッチンシンクアプリの紹介
ncmb
0
930
ニフティクラウド mobile backend のREST API 4つ の課題
ncmb
0
660
サーバサイドエンジニアにこそ使って欲しいBaaS
ncmb
0
560
カジュアルゲームソーシャル強化塾 第一部
ncmb
0
490
アクションゲームにゆる~いソーシャル型協力機能を作りましょう
ncmb
0
740
Unity + NCMBで作る カスタムステージのオンライン共有システム
ncmb
0
770
Other Decks in Technology
See All in Technology
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
350
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
280
ChatGPTで論⽂は読めるのか
spatial_ai_network
8
28k
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
eBPFとwaruiBPF
sat
PRO
4
2.6k
因果AIへの招待
sshimizu2006
0
970
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
120
AIと二人三脚で育てた、個人開発アプリグロース術
zozotech
PRO
1
720
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
6
720
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
440
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
120
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Language of Interfaces
destraynor
162
25k
Six Lessons from altMBA
skipperchong
29
4.1k
Optimizing for Happiness
mojombo
379
70k
Code Review Best Practice
trishagee
74
19k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Building Adaptive Systems
keathley
44
2.9k
Agile that works and the tools we love
rasmusluckow
331
21k
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 内部データベース