ゲーム画面下部のスコアボードが更新される、unityroomのランキング機能をビジュアルスクリプティング(旧Bolt)で使う方法です。

まだ試験的な運用とのことですが、リトライキーの暴発がないだけでもかなり魅力的です。今までの方法よりも初心者には優しいと思いました。半年前の自分だったら、UVS(Unity Visual Scripting)使用者向けの紹介がなければ導入できなかったと思うので書き残しておきます。

従来はニフクラ mobile backendを使った方法が主流でしたが、2024年3月末をもってサービスが終了になり、使えなくなってしまいました。今までありがとうございました。

やりかた

まずは上記の記事の通りに進めていきます。

編集→プロジェクト設定のビジュアルスクリプティング欄で、

  1. Node Libraryにunityroomを追加
  2. Type OprionsにUnityroom Api Clientを追加
  3. Regenerate Nodesを押す

そうするとノードとしてSend Scoreが出てくるようになるので、任意の場所で以下のようにノードをつなげます。

このグラフではボタンを押すと、グラフ変数として設定したスコアが送信されるようになっています。リアルタイムで競い合える仕様なので、プレイ中にも頻繁にスコアを送信する仕様のほうが楽しそうです。

リトライやシーンを再読み込みした際にスコアが更新できないことがありました(UnityroomApiClientがDontDestroy後に元のオブジェクトを破壊して参照できなくなってしまうせい)。リトライしてもスコアがちゃんと送信されるか確認したほうが良さそうです。上記のように直接UnityroomApiClientを指定するのではなく、GameObject FindなどでUnityroomApiClientを参照したほうが良さそうです。

また、データが降順か昇順かも要確認です(High Score Descは大きい順です)。

従来のランキング機能と比較

新ランキング機能のメリット

  • リアルタイムでスコアを競うのが楽しい
  • 名前入力の手間が省ける
  • ランキング欄を閉じる手間が省ける
  • リトライキーの暴発がない(トラウマ)
  • ニフクラのアカウントの期限切れ(30日)を気にする必要がない
  • 導入が簡単

新ランキング機能のデメリット

  • unityroomにアカウント登録していない人はスコア登録ができない
    • unityroom以外では使用できない
  • 最低点スコアをたたき出してしまいそっ閉じしたいときに逃げられない
  • カスタマイズ要素が薄い
    • 今まではフォントや色、レイアウトを変更でき、名前以外でも登録できた
  • まだ試験的運用

どちらがいいのか私には分かりませんが、初めてunityroomに投稿する初心者にとっては使いやすいと思いました。

Playfabを使っていらっしゃる方もお見かけしています。unityroom以外でランキング機能を作る際にはそちらが便利そうです。

熱くなった神ゲー紹介

新ランキング機能を取り入れている素晴らしい作品で、リアルタイムで競り合い白熱しました。負けました。スコアは100万を超えましたが、まだこのゲームの全てを理解できたわけではないと思います。スライドパズルの正しい使い方は? 効率のいい稼ぎ方は? タイトルのトナカイが示唆するものとは? 気になります。

Categories: