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
430
カジュアルゲームソーシャル強化塾 第二部
ニフティクラウド mobile backendを活用したユーザーセーブデータをオンライン化と「ゆる~いソーシャル機能」強化
ニフティクラウド mobile backend
September 28, 2016
Tweet
Share
More Decks by ニフティクラウド mobile backend
See All by ニフティクラウド mobile backend
Monaca キッチンシンクアプリの紹介
ncmb
0
840
ニフティクラウド mobile backend のREST API 4つ の課題
ncmb
0
590
サーバサイドエンジニアにこそ使って欲しいBaaS
ncmb
0
510
カジュアルゲームソーシャル強化塾 第一部
ncmb
0
480
アクションゲームにゆる~いソーシャル型協力機能を作りましょう
ncmb
0
710
Unity + NCMBで作る カスタムステージのオンライン共有システム
ncmb
0
710
Other Decks in Technology
See All in Technology
エンジニアリングマネージャーはどう学んでいくのか #devsumi / How Do Engineering Managers Continue to Learn and Grow?
expajp
4
1.3k
ここがすごいよ! AWS Systems Manager!
saichan11
0
1.8k
20240717_イケコパ代表Copilot_in_Teams会社でこう使ってます
ponponmikankan
2
430
Luupの開発組織におけるインシデントマネジメントの変遷 ver.RoadtoSRENEXT2024
grimoh
1
270
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.8k
AutomatedLabを使って内部ペンテストを勉強しよう! -やられ社内ネットワークの自動構築-
n_etupirka
1
610
「単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる」のか検証してみた
terara
0
380
Azure AI ことはじめ
tsubakimoto_s
0
130
年間一億円削減した時系列データベースのアーキテクチャ改善~不確実性の高いプロジェクトへの挑戦~
lycorptech_jp
PRO
3
2.9k
スレットハンティングについて知っておきたいこと
hacket
0
130
Git 研修 Advanced【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
200
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
Fontdeck: Realign not Redesign
paulrobertlloyd
79
5.1k
Six Lessons from altMBA
skipperchong
24
3.2k
Designing for Performance
lara
604
67k
KATA
mclloyd
20
13k
Docker and Python
trallard
37
2.9k
Facilitating Awesome Meetings
lara
46
5.8k
Design by the Numbers
sachag
277
18k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.8k
Done Done
chrislema
179
15k
Bash Introduction
62gerente
607
210k
Optimising Largest Contentful Paint
csswizardry
18
2.6k
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 内部データベース