clusterゲームワールドコンテスト2020 制作記

cluster ゲームワールドコンテスト 2020に参加したのでワールドの製作にあたって工夫したところなどをメモしておきます。

cluster ゲームワールドコンテスト 2020

2020年6月4日(木)、ゲーム作成機能がリリースされたバーチャルSNS「cluster」にゲームワールドを投稿して己のアイデアと技術力を最大限に発揮しよう!本企画ではゲームワールドコンテストとして「創造力」「何度でも楽しめる」「熱量」の3つの観点からご応募されたワールドの審査を行い、各賞および協賛賞を決定致します。更に!「ゲームワールド投稿応援キャンペーン」として、ユニティ・テクノロジーズ…

完成した作品

ClusterをインストールしているPC/スマートフォン機器からワールドに入れます。
最大四人でレースゲームができます。一人でも動作します

ClusterKart|バーチャルSNS cluster(クラスター)

カートに乗ってレースで勝負だ!最大4人で対戦可能!一位を目指して走り抜けろ!

工夫したところ

車の操縦

本来ならばレースゲームはキャラクターが車の上に乗って操縦するのが一般的なのですが
Clusterでは動くオブジェクトの上にプレイヤーがいても動きが同期されずに足場だけが動いてしまうという問題があります。

その問題を解消するため プレイヤーの動きに応じて別の場所にある車を動かすことで疑似的にレースゲームを実装しました

画像のようにプレイヤーが色のついたブロックに触れることで別の場所にあるカメラを付けた車が動きます。
また、カメラのFOVを大きめに設定してあまりスピードが出てなくても早く動いているように見えるようにしています。

操縦席入り口


写真のようにプレイヤーが操縦席に移動するときに複数のプレイヤーがかぶったりしてしまうと予期せぬ動作の原因になるため
操縦席には一人しか入れないという制限を設けています。
プレイヤーに伝えるためにカートを置いてそれにインタラクトするとワープします
ワープしたカートには運転手のモデルを表示してインタラクトできなくしました。
上の写真は青色のカートにはほかのプレイヤーが乗っている状態です。

ちなみにこれはレース終了後リセットボタンを押すと再びアクセスできるようになります

レース開始のカウントダウン

レース開始時に3秒のカウントダウンが表示されます
ワールドを作った時にはタイマーのような機能を持ったコンポーネントがありませんでした。
そのためアニメーションを使ってタイマーを実装しました。

写真のように赤いボックスと下の灰色のシリンダーを親子関係にして置き、シリンダーの方に回転するだけのアニメーションを設定しておきます。
赤いボックスが回転して白いボックスに接触したときに任意のアクションをトリガーすることで好きなタイミングで実行できます。
回転して元の角度に戻るようにしておけば何度でも動作するし、時間やアクションの数の変更が容易なのでタイマーの実装方針としては良いかと思います

ちなみに画像では右側のタイマーが待機時間になっていて、最初に右が回っていき、白いボックスに接触すると左のタイマが始動して
カウントダウンを表示します。

時間、分、秒でタイマーを分けて作っておけば時計も簡単にできるかと思います。

観客席周り

レースに参加しないプレイヤーたちが快適に観戦できるようにも工夫しています
clusterにはダッシュなどの移動速度を変更する方法が無いため歩いて移動するのはとても大変で、レースを観戦することができないため
ワールドの各所にインタラクトするとワープすることができる赤色のCubeを置いてあります
具体的には画像のようにレースのコースに沿って配置されているのでインタラクトしていくだけでレースの状況を見ることができます

ぜひ実際にワールドに行って体験して下さい。

そのうち直すかもしれないところ

遊び方回り

遊び方の説明看板などを作る時間がなかったため最低限の物しか作れなかったので
ユーザーに遊び方が伝わりにくいかなぁと思っています。
その辺直したいです

車の操縦方法

当たり判定で操縦をしているとどうしても練習が必要になってきてしまうので
インタラクティブなオブジェクトを作ってそれの傾きに応じて操縦できる等にした方が良いかなぁと思っています。

まとめ

今回のコンテストで初めてClusterのワールドを作成したのですが
ドキュメント周りがしっかりしていてSDKにサンプルシーンも入ってるので
特に躓くことなく制作することができました。
ノンコーディングでコンポーネントを付けて実装しないといけない部分は少し大変だなぁと思いましたが
プログラマじゃない人たちにもとっつきやすいからまあいいのでないのでしょうか
将来的にはランタイムでコードも動くようになればもっともっと可能性が広がるので期待しています。