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
Datasets for Critical Operations by Dataform
kimujun
0
120
クマ×共生 HACKATHON - 熊対策を『特別な行動」から「生活の一部」に -
pharaohkj
0
180
生成AIを活用した野球データ分析 - メジャーリーグ編 / Baseball Analytics for Gen AI
shinyorke
PRO
1
230
【CEDEC2025】LLMを活用したゲーム開発支援と、生成AIの利活用を進める組織的な取り組み
cygames
PRO
1
1.6k
Kiroから考える AIコーディングツールの潮流
s4yuba
1
320
Step Functions First - サーバーレスアーキテクチャの新しいパラダイム
taikis
1
280
AI駆動開発 with MixLeap Study【大阪支部 #3】
lycorptech_jp
PRO
0
270
増え続ける脆弱性に立ち向かう: 事前対策と優先度づけによる 持続可能な脆弱性管理 / Confronting the Rise of Vulnerabilities: Sustainable Management Through Proactive Measures and Prioritization
nttcom
1
210
マルチモーダル基盤モデルに基づく動画と音の解析技術
lycorptech_jp
PRO
2
260
「育てる」サーバーレス 〜チーム開発研修で学んだ、小さく始めて大きく拡張するAWS設計〜
yu_kod
1
180
大規模イベントを支える ABEMA の アーキテクチャ 変遷 2025
nagapad
5
510
Kiro Hookを Terraformで検証
ao_inoue
0
140
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Gamification - CAS2011
davidbonilla
81
5.4k
4 Signs Your Business is Dying
shpigford
184
22k
The Language of Interfaces
destraynor
158
25k
Become a Pro
speakerdeck
PRO
29
5.4k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
How STYLIGHT went responsive
nonsquared
100
5.7k
Navigating Team Friction
lara
187
15k
Git: the NoSQL Database
bkeepers
PRO
431
65k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
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 内部データベース