見出し画像

Sushi Gameにスコアランキングを導入してみた

先日作ったスイカ風の落ちものゲームのSushi Gameにunityroomのスコアランキング機能を導入してみた!

unityroomに投稿したゲームで、スコアランキング機能に対応すれば、ゲームページにスコアボードが表示され、他のプレイヤーとハイスコアで競うことができるので、よりゲームが楽しくなるのでぜひ対応しておきたい!(PCの場合はリアルタイム反映もあるっぽい)

スコアランキング機能対応

ゲームにスコアランキング機能を導入するには、基本的に公式ヘルプに沿ってやっていけばよい。

まずはゲーム設定ページの「API利用設定」をONにして、APIキーを発行する。

次に「スコアランキング」を開いて「スコアボードを新規作成」でスコアボードを登録する。スコアボードのタイトルや単位、並び順を設定できて、さらにどのような場合にスコアを上書きするのか(ハイスコア更新 or 常に更新)も設定できる。

ゲーム設定ページでの設定が終わると、次はUnity Client Libraryというunityroom APIを利用するためのライブラリを導入する。今回はPackageManager経由でgit URLから追加した。

使い方も簡単で、UnityroomApiClientというPrefabをシーンに配置して、インスペクタでHmac Keyに先程発行したAPIキーを入力すればよい。

スコア送信

今回はBest Scoreを更新した時にPlayerPrefsにスコアを保存しているので、それに合わせて同時にハイスコアとしてスコアボードにもスコアを送信するようにした。

public void UpdateBestScore()
{
    int score = int.Parse(scoreText.text);
    
    if (score > PlayerPrefs.GetInt("BestScore"))
    {
        // ボードNo.1にスコアを降順で送信する
        UnityroomApiClient.Instance.SendScore(1, score, ScoreboardWriteMode.HighScoreDesc);
        
        PlayerPrefs.SetInt("BestScore", score);
        bestScoreText.text = score.ToString();
    }
}

これでSushi Gameにスコアランキング機能を導入できた!実際にプレイしてみると、無事ハイスコアが記録されるようになって、よりゲームらしくなった!

この記事が気に入ったらサポートをしてみませんか?