目次

まえがき

第1章 PlayFabとは

1.1 PlayFabの概要
1.2 スタジオとタイトル
1.3 PlayFabの料金
1.4 PlayFabの始め方
1.5 GameManagerについて
1.6 PlayFabのAPIについて

第2章 ログインしよう

2.1 ログインの種類
2.2 匿名ログインとは
2.3 ログイン処理の実装
2.4 ログインができたことの確認
2.5 他のユーザーでログイン

第3章 プレイヤーデータを使おう

3.1 プレイヤーデータとは
3.2 プレイヤーデータの登録
3.3 データのアクセス権限について
3.4 プレイヤーデータの更新
3.5 プレイヤーデータの削除
3.6 応用編:プレイヤーデータをJSON形式で保存する

第4章 タイトルデータを使おう

4.1 タイトルデータとは
4.2 タイトルデータの登録
4.3 各種データの違い
4.4 タイトルデータの取得
4.5 タイトルデータの更新と削除
4.6 タイトルデータをJSONで管理する

第5章 アイテムを使おう

5.1 アイテムの概要
5.2 カタログの概要
5.3 仮想通貨の概要
5.4 ストアの概要
5.5 仮想通貨の登録
5.6 カタログの登録
5.7 アイテムの登録
5.8 ストアを登録する
5.9 アイテムを購入する
5.10 インベントリの取得
5.11 アイテムを消費する
5.12 仮想通貨を操作する

第6章 バンドルを使おう

6.1 バンドルの概要
6.2 バンドルを登録する

第7章 コンテナーを使おう

7.1 コンテナーの概念
7.2 コンテナーの鍵を登録する
7.3 コンテナーを登録する
7.4 コンテナーと鍵の付与
7.5 コンテナーの消費
7.6 コンテナーを実際に使用するシーン

第8章 ランキングを使おう

8.1 ランキングの概要
8.2 GameManagerの設定変更
8.3 ランキングの定義
8.4 統計情報の送信
8.5 ランキングの取得
8.6 ランキング報酬の付与
8.7 アーカイブされたランキング結果

第9章 おまけ

9.1 ログイン処理の簡略化
9.2 ログインIDにユニークなキーを設定する
9.3 ログイン時に各種データを取得する方法

あとがき

著者ポートフォリオ

まえがき

 本書を手に取っていただき、ありがとうございます。

 私がPlayFabと出会ったのが約1年前。実際に使ってみて、面白そうだなと感じ勉強を進めていきましたが、公式ドキュメントを読んでも理解しにくい部分が多く、苦戦していました。また、PlayFabは比較的新しいサービスのため、情報をまとめている人が少なく、不明な点を検索しても解決できないこともあります。実際に使ってみて解説をしている記事も多少は見かけますが、情報が断片的で、体系的に学ぶことは難しいと感じていました。

 「誰もやってないなら、自分でまとめてしまおう」と思い、日本で初めてPlayFab専用のブログを立ち上げ、私自身が勉強した内容を記事として残しておくことに決めました。これだけでも大きな進歩だと思いますが、ブログも記事単位での勉強しかできず、全体を理解することには向いていません。「もっと体系的に学べる仕組みを作れないか」と考えたときに、「動画と本のどちらかを作ってみよう」と考えつきました。

 今はYouTubeがかなり人気になっていて、5Gの時代も来ることから、動画でPlayFabを解説することも考えました。しかし、「勉強がしやすい媒体は何か」を考えたときに、私は紙(文字)で勉強したほうが、必要なときに必要な情報にだけアクセスができますし、復習もしやすいと感じています。そこで今回は、本という形でPlayFabの情報をまとめることにしました。

 私はPlayFabの勉強に「100時間以上」を費やし、理解にかなり苦戦しました。みなさんが同じように時間を使わなくて済むように、入門編として情報を凝縮し、この本にまとめています。いろいろとつまずきながら学習した経験から、入門者がつまずくポイントもわかっています。つまずく点を先回りして解決できるよう、図も多めに使用し、わかりやすさと見やすさにこだわって書きました。この本を読むことで、PlayFabにかける勉強時間を少なくして、ゲーム開発の部分に時間を割くことができると思います。この本が少しでもみなさんのためになれば幸いです。

 PlayFabのことを教えてくださった方々、普段の発信をシェアしたりコメントしてくださる方々、応援してくださる方々のおかげで、本書の執筆にいたることができました。深く感謝いたします。

ねこじょーかー

本書の目的

 本書の目的は、PlayFabを触ったことがない人が、ログインやデータの操作、ストア機能の実装までをひと通りできるようになることです。入門者向けに、わかりやすさに重点を置いて書いているので、迷うことなく進められると思います。PlayFabをこれから勉強しようとしている人はもちろん、一度PlayFabを触ったものの挫折してしまった人にも、この本はぴったりです。

本書で得られること

 ・PlayFabで何ができるのか

 ・ログインの知識

 ・タイトルデータ、プレイヤーデータの知識

 ・アイテム、仮想通貨、ストア、バンドル、コンテナーの知識

 ・ランキングの知識

対象読者

 ・PlayFabを触ったことがない、または少ししか触ったことがない人

 ・PlayFabについて興味がある人

 ・今後、自分でソーシャルゲームを作ってみたい人

 ・普段からPlayFabを使っているが、復習も兼ねて学びたい人

前提知識

 本書は、以下の知識がある前提とします。UnityやC#の説明は省き、PlayFabに特化した説明をしています。

 ・Unityを使ったチュートリアルをやったことがある

 ・C#の基礎文法はひと通り覚えている

使用したソフトウェアのバージョン

 本書では以下のバージョンを使用しています。PlayFabSDKは最新のバージョンを使用して構いません。Unityのバージョンも特にそろえる必要はありません。

 ・Unity 2019.4.1f1

 ・PlayFab SDK 2.89.200629

第1章 PlayFabとは

 2018年1月にMicrosoftに買収されたPlayFabとは、一体どんなサービスなのでしょうか。本章では、PlayFabの概要とUnityへの組み込み方について解説します。

1.1 PlayFabの概要

 PlayFabとは、ゲーム開発に特化されたBaas(Backend as a service)のひとつです。「バックエンド」というのは、裏のロジック部分のところですね。たとえば、ユーザーやアイテム、ゲーム内通貨(仮想通貨)を管理します。こういった処理をゼロから実装するとかなり大変で、テストの量も増えるため時間がかかってしまいます。特に個人レベルでひと通り実装するのは、かなりの実装力がないと難しいです。

 しかし、PlayFabを使用すれば、バックエンドの処理を自分でゼロから実装することなく、あらゆる機能が実現できます。ゲームを作る上で、バックエンドの部分で他の人と差別化するのは難しいと思います。であれば、ユーザーの目に直接触れるフロントエンドや、ゲーム性のところに時間をかけたほうがいいですね。

1.2 スタジオとタイトル

 ここで、PlayFabを学ぶ上で欠かせない「スタジオ」と「タイトル」について解説します。

 ・タイトル:ひとつのゲームのこと

 ・スタジオ:複数のタイトルが入る箱のこと

 タイトルというのは、ひとつのゲームのことです。たとえば、ファイ○ルファンタジーやドラゴン○エストとかですね。スタジオというのは、複数のタイトルが入る箱のことです。たとえば、スク○ア・エニックスとかですね。タイトルはソフトの名前、スタジオはソフトを開発している会社名、みたいに考えると覚えやすいかもしれません。画像で見てみると、図1.1のようになります。

図1.1: スタジオとタイトル

 画像の通り、スタジオは複数作成することもできます。あまり細かくスタジオを分けると面倒なので、たとえば「開発用」「本番用」といった分け方くらいにしておくのがいいかもしれません。

1.3 PlayFabの料金

 PlayFabの料金体系はかなり難解のため、完全に理解するのは難しいです。ざっくり「タイトルあたり、10万ユーザーまで無料」ということだけ覚えておけばよいでしょう。個人レベルであれば、このユーザー数を超えるのはかなり難しいと思います。英語ですが、公式サイトの料金一覧1が一番わかりやすいです。ユーザー数だけでなく、個別の処理ごとにどのくらいまで無料で使用できるのかが一覧で確認できます。さらに細かく料金体系を知りたい人は、次のリンクが役に立つと思います。

 ・開発モードとライブモードについて2

 ・料金に関連する各要素の説明3

 ・アカウントのアップグレード4

 繰り返しになりますが、「タイトルあたり、10万ユーザーまで無料」ということだけ覚えておき、あとは必要に応じて、気になるところの料金を個別に調べるのがおすすめです。

1.4 PlayFabの始め方

1.4.1 PlayFabのアカウント登録

 PlayFabを使うには、無料アカウント登録が必要になります。PlayFab開発公式サイト5からアカウント登録をしておきましょう。

1.4.2 タイトルの登録

 タイトルの登録をしていきます(図1.2)。赤の米印がついている名前は必須項目です。好きな名前を入力してください。タイトル名は後で変更できるので、何でもいいです。他の入力項目は何を選ぼうと、特に何かの動作が変わることはないので、入力しなくて大丈夫です。自分の中の備忘録みたいな使い方ですかね。

図1.2: タイトルの作成

 入力が終わったら、「タイトルを作成」を選択しましょう。これでタイトルの作成が完了しました。簡単ですね。

1.4.3 Unityプロジェクトの作成

 ここからは、実際にPlayFabをUnityに統合する方法について見ていきます。UnityHubを起動し、新しくUnityプロジェクトを作成しましょう(図1.3)。好きな名前で構いません。

図1.3: Unityプロジェクトの作成

1.4.4 Unity用SDKのインポート

 次に、Unity用SDKのインポートをしていきます。ダウンロードサイト6から、unitypackageをダウンロードしてください。

 ダウンロードしたファイルをドラッグアンドドロップで持っていくと、図1.4が表示されるので、そのままインポートしてください。

図1.4: UnitySDKのインポート

 図1.5のように、PlayFabSDKのフォルダーができていればOKです。

図1.5: UnitySDKのインポート完了

 これで、Unity上でPlayFabに関するクラスが使えるようになりました。

1.4.5 PlayFab Editor Extensionsのインポート

 続いて、PlayFab Editor Extensionsのインポートをしていきます。ダウンロードサイト7から、unitypackageをダウンロードしてください。

 ダウンロードしたファイルをドラッグアンドドロップで持っていくと、図1.6が表示されるので、そのままインポートしてください。

図1.6: PlayFab Editor Extensionsのインポート

 これで、Unity上でPlayFabのエディターが使えるようになりました。追加されたエディターの操作については、後で解説します。

1. https://playfab.com/pricing/

2. https://docs.microsoft.com/ja-jp/gaming/playfab/features/pricing/development-mode

3. https://docs.microsoft.com/ja-jp/gaming/playfab/features/pricing/meters/meters

4. https://docs.microsoft.com/ja-jp/gaming/playfab/features/pricing/account-upgrades

5. https://developer.playfab.com/ja-jp/sign-up

6. https://aka.ms/playfabunitysdkdownload

7. https://github.com/PlayFab/UnityEditorExtensions/raw/master/Packages/PlayFabEditorExtensions.unitypackage

試し読みはここまでです。
この続きは、製品版でお楽しみください。