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
450
0
Share
カジュアルゲームソーシャル強化塾 第二部
ニフティクラウド mobile backendを活用したユーザーセーブデータをオンライン化と「ゆる~いソーシャル機能」強化
ニフティクラウド mobile backend
September 28, 2016
More Decks by ニフティクラウド mobile backend
See All by ニフティクラウド mobile backend
Monaca キッチンシンクアプリの紹介
ncmb
0
950
ニフティクラウド mobile backend のREST API 4つ の課題
ncmb
0
670
サーバサイドエンジニアにこそ使って欲しいBaaS
ncmb
0
580
カジュアルゲームソーシャル強化塾 第一部
ncmb
0
500
アクションゲームにゆる~いソーシャル型協力機能を作りましょう
ncmb
0
760
Unity + NCMBで作る カスタムステージのオンライン共有システム
ncmb
0
790
Other Decks in Technology
See All in Technology
BigQuery の Cross-cloud Lakehouse への歩み
phaya72
2
540
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
200
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
720
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
160
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.1k
Javaで学ぶSOLID原則
negima
1
270
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
340
Strands Agents超入門
kintotechdev
1
160
新規ゲーム開発におけるAI駆動開発のリアル
202409e2
0
2.1k
Claude code Orchestra
ozakiomumkj
3
920
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
490
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
1
330
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Believing is Seeing
oripsolob
1
140
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
How to build a perfect <img>
jonoalderson
1
5.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
WCS-LA-2024
lcolladotor
0
610
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Thoughts on Productivity
jonyablonski
76
5.2k
Utilizing Notion as your number one productivity tool
mfonobong
4
310
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
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 内部データベース