[この記事は Todd Kerpelman、Developer Advocate による The Firebase Blog の記事 "Announcing Firebase for Unity" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]


Todd Kerpleman



Todd Kerpelman
Developer Advocate

Firebase にはすばらしいアプリを簡単に作成できるたくさんの機能が含まれていることはご存じでしょうか?

そうですね。もうご承知のことでしょう。

しかしお気づきかもしれませんが、これまでは「ゲーム」ではなく「アプリ」について取り上げてきました。というのも、このモバイル ライブラリがすばらしい働きをするのは、アプリを Swift や Java、Objective-C で書いているときだからです。

ここで問題になるのは、ほとんどのゲーム デベロッパーは C++ で独自のゲームエンジンを作成していたり、Cocos2D や Unity などのサードパーティ製のゲーム プラットフォームでモバイルゲームを作成していることです。現在も、Firebase ライブラリにはベータ版として利用できる C++ 版がありますが、Unity デベロッパーはかなり古い Firebase Database プラグインしか使えませんでした。

しかし、それも今日までの話です。懸命に努力を続けてきたエンジニアや皆様の継続的なフィードバックのおかげで、まったく新しい Unity SDK が完成しました。これにはさまざまな Firebase プラットフォームが追加されており、公式にサポートされています。

この SDK によって、Unity デベロッパーは 5 月に発表された多くの新しい Firebase 機能を利用できるようになります。たとえば、次のような機能です。

Firebase Analytics: 無償で制限なく利用できるアナリティクス パッケージで、ゲーム内で発生したイベントを記録できます。ゲームのプレーヤーがどこで行き詰まっているか、時間とともにどのくらい利用者数が増えているか、各国のプレーヤーがどこでプレミアム通貨を使っているかなどを分析しましょう。Firebase Analytics ではそのようなイベントを簡単に記録できます。また、BigQuery と連携できるので、かなり高度なデータ マイニングも可能です。

Firebase Real-time Database: アプリのデータが魔法のようにすべての端末に同期されるデータベースです。通常、同期は数百ミリ秒以内で行われます。ゲーム内チャット、端末間での保存データの同期、ターン制のボードゲーム、カードゲーム、戦略ゲームでの活用など、リアルタイムに近い処理が求められる機能に適しています。ただし、マルチプレーヤー型のシューティングゲームや MOBA には適さない可能性があります。ゲーム デベロッパーにとって「リアルタイム」が実際に何を意味するかは、もう少し明確にしたほうがよいかもしれません。

Dynamic Links: プレーヤーをゲーム内の任意の要素(ゲームがインストールされている場合)、または Play ストア / App Store(インストールされていない場合)に移動させることができるモバイル ディープリンクです。ゲーム デベロッパーにとって最適なユースケースとなるのは、Dynamic Links をアプリ内共有に活用することでしょう。Dynamic Links を使うと、あるレベルのリプレイを共有したり、プレーヤーが作ったすばらしい新キャラクターや要塞、ユーザーが作成したコンテンツにリンクを張ることができます。そのための独自インターフェースを作りたくない場合は、Firebase Invites を使いましょう。きれいに整形されたメールや SMS メッセージの中に Dynamic Link を含めることができます。

Authentication: 「ゲームではなく、認証システムを作るためにすべての時間をつぎ込んでいるよ」などと言うゲーム デベロッパーはいないでしょう。Firebase Auth を使うと、ユーザーが簡単に Facebook、Google、GitHub などのサードパーティの認証プロバイダにログインできるようになります。または、ユーザー名とパスワードを用いたカスタムの認証システムを作ることもできます。

Cloud Messaging: Firebase Cloud Messaging を使うと、単一のエンドポイントから iOS と Android の両方の端末に通知を送ることができます。また、Firebase Notifications パネルから通知を送ることもできるので、技術担当以外のチームメンバーでも通知を送ることができます。カスタムのサーバー用コードを記述したり、curl を呼び出したりする必要はありません。

Remote Config: クラウド経由でゲームの設定値をアップデートします。私自身、ゲームで使えることを最も期待していたのがこの機能です。タワー ディフェンス ゲームを設計したことがある方なら、1 つのユニットが難しすぎるだけでゲーム全体のバランスが台無しになってしまうことがわかるでしょう。Remote Config を使うと、クラウドから値を微調整できます。そして、Firebase Analytics で期待通りの結果が出ているかを確認することもできます。Remote Config では、達人級のプレーヤーなど、特定のグループにカスタムの値を設定することも可能です。

このライブラリは Android 端末と iOS 端末で利用できますが、Windows、OSX、Linux 向けのスタブメソッドも追加されているため、ゲームの対象端末に PC が含まれている場合でも多数の条件分岐コードを追加する必要はありません。ちなみに、SDK の Real-time Database の部分は Unity エディタで直接動作するため、テストやデバッグを比較的スムーズに実行できます。


ぜひ、Firebase SDK for Unity をお試しください。こちらからダウンロードできます。SDK には、すばらしいゲームを簡単に作成できるさまざまな機能が含まれています。

今回は最高の気分で書くことができました!



Posted by Yoshifumi Yamaguchi - Developer Relations Team