見出し画像

REALITYアバターでレースゲーム REALITY Advent Calendar 2023

こんにちは、Unityエンジニア兼蟹が好きな若旦那です。この記事は、REALITY Advent Calendar 2023 8日目の記事です。

はじめに


REALITYはリリース以降、ワールド・ルームなど、アバターの魅力がさらに引き出されるような機能が次々と追加されてきました。私自身も1ユーザーとして、リアルの服装よりもアバターのガチャにお金を注ぎ込んでいるユーザーとして、REALITYのアバターが映える場面が増えていることを大変嬉しく思っています。
今回の開発合宿では、ワールドやルーム以外でアバターを活用できる機能を作りたいと思い、レースゲームを作ることに挑戦しました!

動機


自分のかわいいアバターが動いているのが面白いというのがメインの動機ですが、他にも次のような考えでレースゲームを作ろうと思いました。

  • REALITYのような縦長画面と相性のいいゲームは限られてくるが、レースゲームは縦長画面に向いている

  • ゲームを通して配信者同士のコミュニケーションが取りやすく、配信の話題につながる

  • リアルタイムPvPゲームの配信がよく見受けられることから分かるようにリスナーがのめり込みやすい

  • ↑で言うようなPvPの配信では実際にはゲーム内のキャラで対戦しているが、自分のアバターを使えたらなんかエモそうだし、バーチャルと相性がいいはず

  • リアルタイム性が求められるので、技術的な観点でやることが多くて面白い

開発について

開発合宿は一泊二日で、正味の実装時間は概ね15-20時間しかありません。
どう考えてもボリューム感を誤ったテーマを選んでしまったのですが、とりあえずある程度動く+絵になるところを目指して開発しました。

時間節約のため、レースゲームのコースはUnityのアセットストアで購入し、アバターの同期などのシステムはワールドやルームで用いられているものを流用しました。ちなみにカートは内部的にはルームの家具として動いています。また、通信はワールドで使用しているWebSocketベースのリレーサーバーを挟んでいるだけなんですが、意外にも位置などの同期は破綻しませんでした。

開発したレースゲームの画面

最終的には、図のように動くところまで持って来れてよかったです。

今後の展望

開発に使える時間がかなり限られていたので、今回はレースゲームとして最低限の部分しか実装できませんでしたが、実際にプレイするとかなり楽しく、ここに様々な機能を追加すれば確実に配信で楽める形になりそうだなと思いました。例えば、私が一番欲しいと思ったのは、リスナーが参加できる仕組みです。プレイで対戦している配信者だけではなく、リスナーがゲームに干渉して推しの配信者を妨害有利にできる仕組みなんかがあると熱いですね。

昨今、配信しながら遊ぶゲームが様々な形で見受けられますが、REALITYというプラットフォームは「リッチなアバター」「高度な同期が可能なサーバアーキテクチャ」「視聴者も参加する仕組み(例:ワールドに入れる仕組み)」が揃っており、その種のゲームとかなり相性がいいことを今回の開発で実感しました。今後の可能性を感じますね!

余談

今回の開発合宿は、千葉県の利根川下流付近の宿で行われ海が近かったので、開発が終わった後の時間に、近くに蟹が生息していないかを調査してきました。

トゲノコギリガザミ(Scylla paramamosain)
アミメノコギリガザミ(Scylla serrata)

上の二つの写真の通り、近くの河口でノコギリガザミの生息が確認できました(夜に撮ったものなので見にくくてすみません)。下の写真のアミメノコギリガザミは2kg近くある巨大サイズだったので捕獲に挑戦したのですが、開発合宿ということもあって本格的な装備が無かったことに加え地形が悪かったためうまく捕獲できず逃げられてしまいました。

次回の記事

明日は、ナオヤさんによる「REALITYに郵便番号検索機能を付けてみたよ!」です。一見簡単に実装できそうな郵便番号検索、実は様々な罠が潜んでいるらしく…?お楽しみに!