まえがき
第1章 PlayFabとは
第2章 ログインしよう
第3章 プレイヤーデータを使おう
第4章 タイトルデータを使おう
第5章 アイテムを使おう
第6章 バンドルを使おう
第7章 コンテナーを使おう
第8章 ランキングを使おう
第9章 おまけ
あとがき
本書を手に取っていただき、ありがとうございます。
私が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
2018年1月にMicrosoftに買収されたPlayFabとは、一体どんなサービスなのでしょうか。本章では、PlayFabの概要とUnityへの組み込み方について解説します。
PlayFabとは、ゲーム開発に特化されたBaas(Backend as a service)のひとつです。「バックエンド」というのは、裏のロジック部分のところですね。たとえば、ユーザーやアイテム、ゲーム内通貨(仮想通貨)を管理します。こういった処理をゼロから実装するとかなり大変で、テストの量も増えるため時間がかかってしまいます。特に個人レベルでひと通り実装するのは、かなりの実装力がないと難しいです。
しかし、PlayFabを使用すれば、バックエンドの処理を自分でゼロから実装することなく、あらゆる機能が実現できます。ゲームを作る上で、バックエンドの部分で他の人と差別化するのは難しいと思います。であれば、ユーザーの目に直接触れるフロントエンドや、ゲーム性のところに時間をかけたほうがいいですね。
ここで、PlayFabを学ぶ上で欠かせない「スタジオ」と「タイトル」について解説します。
・タイトル:ひとつのゲームのこと
・スタジオ:複数のタイトルが入る箱のこと
タイトルというのは、ひとつのゲームのことです。たとえば、ファイ○ルファンタジーやドラゴン○エストとかですね。スタジオというのは、複数のタイトルが入る箱のことです。たとえば、スク○ア・エニックスとかですね。タイトルはソフトの名前、スタジオはソフトを開発している会社名、みたいに考えると覚えやすいかもしれません。画像で見てみると、図1.1のようになります。
画像の通り、スタジオは複数作成することもできます。あまり細かくスタジオを分けると面倒なので、たとえば「開発用」「本番用」といった分け方くらいにしておくのがいいかもしれません。
PlayFabの料金体系はかなり難解のため、完全に理解するのは難しいです。ざっくり「タイトルあたり、10万ユーザーまで無料」ということだけ覚えておけばよいでしょう。個人レベルであれば、このユーザー数を超えるのはかなり難しいと思います。英語ですが、公式サイトの料金一覧1が一番わかりやすいです。ユーザー数だけでなく、個別の処理ごとにどのくらいまで無料で使用できるのかが一覧で確認できます。さらに細かく料金体系を知りたい人は、次のリンクが役に立つと思います。
繰り返しになりますが、「タイトルあたり、10万ユーザーまで無料」ということだけ覚えておき、あとは必要に応じて、気になるところの料金を個別に調べるのがおすすめです。
PlayFabを使うには、無料アカウント登録が必要になります。PlayFab開発公式サイト5からアカウント登録をしておきましょう。
タイトルの登録をしていきます(図1.2)。赤の米印がついている名前は必須項目です。好きな名前を入力してください。タイトル名は後で変更できるので、何でもいいです。他の入力項目は何を選ぼうと、特に何かの動作が変わることはないので、入力しなくて大丈夫です。自分の中の備忘録みたいな使い方ですかね。
入力が終わったら、「タイトルを作成」を選択しましょう。これでタイトルの作成が完了しました。簡単ですね。
ここからは、実際にPlayFabをUnityに統合する方法について見ていきます。UnityHubを起動し、新しくUnityプロジェクトを作成しましょう(図1.3)。好きな名前で構いません。
次に、Unity用SDKのインポートをしていきます。ダウンロードサイト6から、unitypackageをダウンロードしてください。
ダウンロードしたファイルをドラッグアンドドロップで持っていくと、図1.4が表示されるので、そのままインポートしてください。
図1.5のように、PlayFabSDKのフォルダーができていればOKです。
これで、Unity上でPlayFabに関するクラスが使えるようになりました。
続いて、PlayFab Editor Extensionsのインポートをしていきます。ダウンロードサイト7から、unitypackageをダウンロードしてください。
ダウンロードしたファイルをドラッグアンドドロップで持っていくと、図1.6が表示されるので、そのままインポートしてください。
これで、Unity上でPlayFabのエディターが使えるようになりました。追加されたエディターの操作については、後で解説します。