いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

Unityで、ゲームにランキング機能を入れる

今書いているゲームにランキングの機能を入れようかな、といくつか試しています。PlayFabを使うか、GAS(Google Apps Script)と使うか両方実験しました。ランキングについては前にブログで触れていますがあまり憶えていません! 復習のつもりです。

www.omoshiro-suugaku.com

www.omoshiro-suugaku.com

GASでもPlayFabでもネットのどこかにランキングの表を用意し、そこへ各ゲームからスコアを送っていつも上位20人分くらいの表にしておき、必要に応じてゲームがそれを手に入れてランキングとして表示する、みたいな流れになるはずです。実際にやってみると、GASの方はランキング記録用のスプレッドシートをGoogleDriveに保存しておき、それを操作するスクリプトを自前で用意して並べ替えなどをするのですが、少し時間がかかるかな……。1,2秒くらいなので許容範囲とは思いますが。一方、PlayFabはゲーム向けにその辺を含むいろんなことをやるために開発されたシステムみたいで、動作は速いです。10万ユーザーまでは無料らしいのですがサイトの料金システムを見ても何だかよく分かりません。ま、いいか、と今回はこのPlayFabでやってみます。


PlayFabの導入は次のサイトが分かりやすかったです。

anogame.net

 

スコアの登録やランキング表のダウンロードなどのコードは次のサイトが大変参考になりました。短く、ポイントが明確なコードで勉強になります。

qiita.com

ランキング表が手に入ると言ってももちろん、何位の誰が何点、というデータだけですから、ランキング表の形に整形するのはゲームの作者です。データを空のランキング表に流し込むと、次のような感じです。もう少しきれいにします……。

 

今回は3Dのキャラクタを動かすゲームを作っています。ランキングも入れて、完成したら次は少し別のタイプのゲームにします。勉強しないと。

 

追記:leaderbord(ランキング表)は、参考にしたブログの説明に合う「legacy」を選びました。