進捗
実績解除、実績の表示機能を実装し、Android版、iOS版両方で粗動作を確認した。
リーダーボードについてはスコアとユーザデータをサーバから取得し、画面の作りこみはアプリケーションで行う作りとしたが、実績機能についてはAndroid版、iOS版どちらも組み込みのUIを表示する仕様とした。
これは最初から意図していたというよりユーザの実績データをサーバから取得するAPIがEasy Mobileに用意されていないためで、自作のUIを使用したい場合はサーバのインタフェース込みで自作することになりそう。
Google Play ConsoleやApple Store Connect上での作業はリーダーボードの作成時におおむね終えていたため、実績機能の実装中に特に躓くようなところはなかった。
作業ざっくりメモ
Google Play Consoleでは Play ゲームサービス > 設定と管理 > クエストが実績に該当する。この画面で「実績を作成」をクリックすると実績の作成画面が開くので、設定項目を適宜入力する。
Apple Store Connectでは サービス > Game Center > 達成項目が実績に該当する。この画面で+マークをクリックすると実績の作成画面が開くので設定項目を適宜入力する。入力項目はAndroid版に似ているがiOS版だとアイコンが必須なので512x512pxの画像を用意しておく必要がある点に注意。また、iOS版では実績の取得前と取得後の説明文を変えられるため、入力欄が2つあるが面倒くさかったらどちらも同じ内容で良い。
Google Play Consoleで実績を追加するとリソースファイルも変更されるため、リソースファイルの内容を入れなおして再度セットアップを行う。ACHIVEMENTSにてApple Store Conncetに入力したIDを入力する。Android Idの方はリソースファイル取得時にて自動生成されたname属性の値がXMLに書いてあるので、それを紐づける形でリストから選択する。Name欄はわかりやすい名前を自分でつければよいが、Easy Mobileが生成するソースの定数名の一部としてそのまま使われるので、日本語は使わない方が良い。(C#の仕様上動くには動くが基本的によくない)
Android、iOSそれぞれ実機で実績が表示されることを確認し作業完了。
残作業
- クリア画面の共有機能
- ゲームの説明シーン(チュートリアル)作成
- 音声をつける
- 広告の実装
- プライバシーポリシー作成
- プロモーションの作成
- リリース
実績機能の実装が完了したのでクリア画面の共有機能の実装を進める。
その他所感
実績機能も実装したことがなかったのでとりあえず試作した機能の一つだが、試遊してみた体感としては悪くなかった。
実績の内容や条件を考え適宜判定を行う処理を追加する分、実装量は増えるものの、ゲーム内の機能やロジックを実装するのに比べれば工数も少なく済む上、手軽に達成感が得られる仕組みを用意できるのは良いと思った。特にゲームのボリュームが少なく内容も薄味のカジュアルゲームだとよりメリットが大きいと思った。個人での開発だと使用できる工数が少ない分ボリュームも不足がちなので積極的に利用していこうと思う。