Roblox VRゲーム開発メモ

Roblox でVRゲームを開発する際の私的なメモです。まだまだ情報少ないですが適宜追加していきます。

開発環境構築

私の開発環境は以下に記載しています。VRヘッドセットの接続方法やバージョン管理ソフトのセットアップ方法はRobloxでの開発でも役立つはずです。

RobloxでVRゲームを開発しない場合は以下のページに記載されているPCスペックでよいかと思います。

schilverberch★ROBLOX – ロブロックスでゲームを作ろう!

ゲーム開発

RobloxでのVRゲームプレイ方法

開発する前に、どんなVRゲームがRobloxでプレイできるか遊んでみましょう

VRでROBLOX – schilverberch★ROBLOX

Roblox 開発への入門

このページから始まる入門記事がとても参考になります。

schilverberch★ROBLOX – ロブロックスでゲームを作ろう!

動画教材は以下です。

動画で学ぶプログラミング – schilverberch★ROBLOX

上記の動画教材を実装してみたのが以下のワールドです。右上の三点リーダをクリックして「Edit in Studio」からコピーできます。

Roblox Tutorial
Check out Roblox Tutorial. It’s one of the millions of unique, user-generated 3D experiences created on Roblox. 「ROBLOX★...

3Dモデリング寄りの学習ならこれが良さそうです。

【Robloxプロフェッショナル講座】3Dモデリング〜Roblox Studio×blender入門編〜
Roloxer志望、ここにあつまれ!blenderを学んだ出口を探す貴方のためのプロフェッショナル人材育成講座シリーズ。小物や背景制作等の開発者として求められるモデリングスキルをblenderで徹底解説!来るメタバース時代に備えましょう。

書籍

以下は3冊シリーズ。

入門記事実行する上での注意

自分が躓いたポイントのメモです。

13.地形エディタ – schilverberch★ROBLOX

上記のGrowが最新のRoblox StudioだとSculptを実行する必要がありそうです。

削る方法は以下の赤枠の部分を選択することで可能です。

パーティクル

パーティクルは画像で構成されており、その画像をテクスチャと呼びます。
デフォルトで使用することができるテクスシャの一覧及びテクスチャの適用方法は以下です。

M-B6 テクスチャの使用 – schilverberch★ROBLOX

パーティクルのプロパティ変えるとどうなるか色々動画付きで説明されています

M-B10 最後の仕上げ – schilverberch★ROBLOX

爆発したようなパーティクルの設定の仕方のサンプルです。

B-E3 アクションにパーティクルを使用する – schilverberch★ROBLOX

VR開発情報

Roblox上でVRでキャラクターを操作するためのオープンソースのツールです。

GitHub - TheNexusAvenger/Nexus-VR-Character-Model: Maps Roblox characters to the VR inputs of players.
Maps Roblox characters to the VR inputs of players. - TheNexusAvenger/Nexus-VR-Character-Model

Quest2の場合、右スティック押し込みでアイテムボックスが表示されます。
両方のコントローラーを手首を回転させて下に向けることで、VR上の移動方法などのメニューが表示されます。

収益化

Roblox上での収益化方法は以下です。

収益化 | 文書 - Roblox クリエーターハブ
収益化は、クリエーターに価値を提供するためのRoblox(ロブロックス)の全体的な構造の一部です。

私は収益化方法の中で、Robloxの有料会員が長い時間プレイすることで収益が入るエンゲージメントベース・ペイアウトをまず狙います。まず面白いゲームを作ることで収益化を狙えると思うからです。

エンゲージメントベース・ペイアウト | 文書 - Roblox クリエーターハブ
エンゲージメントベース・ペイアウトでは、プレミアム会員がバーチャル空間にエンゲージする時間のシェアに基づいてRobuxを獲得できます。

日本人開発者の方で、おおよその収益額を公開してくれている記事です。

Attention Required! | Cloudflare

Robloxでの収益化を目指すことに警鐘を鳴らす記事です。バランスを取るためにリンクします。

子どもに人気のゲームプラットフォーム「Roblox」は、若年層からの“搾取”で成り立っている
子どもたちがゲームを開発して販売できるプラットフォームとして人気の「Roblox」は、いまや巨額の収益を上げる成長企業となった。ところが、実際のところその成功は、ゲームのコンテンツをつくっている若いゲーム開発者を“搾取”することで成り立って...

ゲームの公開

Robloxの検索で自分のゲームがヒットしやすくなる方法

以下のページにて、①広告 ②SNSでの宣伝やYoutuberに宣伝依頼 ③友人に宣伝してもらう という方法が推奨されています

個人としてできるのは、あとは開発進捗動画の公開でファンを増やすなどかと思いました。

How to get people to see my game
There are A Coupe ways to get Your Games to be noticed by the crowd. Method → Advertise Your Game / Sponsor Your Game Wi...

自分のゲームがRobloxのページから検索しても出てこない

“(自分のゲーム名)”のように検索すると出てきます。

プロジェクト(ゲームの中身)の公開

Roblox上での公開

以下のように自分のワールドを他の人がコピーできるようにする方法を紹介します。

まず、Creator Dashboardにアクセスします。

Creator Dashboard
Make anything you can imagine. Everything you need to start building on Roblox for free; join a global community of Crea...

コピーを許可したいワールドを選択します。

Placesに移動してワールドを選択します。

「Allow users to download a copy of this Place」のチェックをオンにして、ページ下部の「SAVE CHANGES」をクリックして、ワールドのコピーを許可できます。

GitHub上での公開

以下のようにプロジェクトファイル自体をGitHubで公開している例があります。

Lots of free & open-sourced games!
Open-Sourced Projects Since 2014 I have been developing on the Roblox platform. With such a long time between now and th...

プロジェクトファイルではなく、ソースコード自体を公開する場合はRojoというツールが使用できます。

Robloxはデフォルトでは一つのファイルにワールドが保存されるため、バージョン管理がしにくいのですがRojoを使うことでソースコードをVS Codeなどで編集してリアルタイムにRobloxの開発ツールに連携できます。

Installation | Rojo
There are two supported ways to install Rojo:

Rojoのリポジトリです。

GitHub - rojo-rbx/rojo: Rojo enables Roblox developers to use professional-grade software engineering tools
Rojo enables Roblox developers to use professional-grade software engineering tools - rojo-rbx/rojo

開発するゲーム

以下を満たすゲームを開発します。

  • 自分が遊んで楽しいゲーム
  • Roblox内でよく遊ばれているゲーム(の楽しさの根本的な要素を考えて取り込む)

また、より面白いゲームを作ってもらうために可能であればRoblox上からプロジェクトをコピーして使用できるようにしたいです。ただ、収益もほしいためこのあたりは今後検討です。

ゲームのアイディア(VRサポートのバトルロワイヤルゲーム)

プレイヤーは銃と剣が一体化した武器を初期装備しています。銃の弾は放物線を描いてすこしゆっくりめに飛んでいき、剣をある程度のスピードで振って弾に当てることで発射したプレイヤーの方向に返すことができます。弾の速度はNERF Strikeより少し遅いくらいです。
剣で弾き返した弾は放物線ではなく敵プレイヤー追尾となり、弾き返された弾をまた剣で弾き返すことで弾き返し合いが行なえます。弾き返し合いはBlade Ballのイメージです。
弾き返しを行うごとに弾の威力が上がっていくため、弾き返しを無視できなくしていきます

銃は発射してから2秒程度のクールタイムがあり、敵プレイヤーを倒すには10発程度当てる必要があります。
剣は一度振ると2秒程度のクールタイムがあり、敵プレイヤーに当てれば1撃で倒すことができます。クールタイムの間でも敵の攻撃を跳ね返すことができます。

3DとVRの違いはほぼ無いですが、VRの場合は剣のみに当たり判定がありますが3Dは剣を色々な方向に振れないのである程度広い範囲に当たり判定を設けます。

ゲームのアイディア(VRサポートの1対1近接戦闘ゲーム)

後述のゲームの前にお試しで開発します。目指すのはBroken Edgeのような形です。これは要検討ですが、武器を長めにして武器同士が当たった際に武器が消耗していくとよいかもです。

タイミングよくボタンを押して敵の攻撃をパリィすると敵が数秒止まって攻撃を当てられるようにすると、緊張感がでそうです。

連続勝利でポイントが増えるようにして、一定回数連続で勝つとポイント回収できるようにして緊張感を生みます。

プレイヤーが現れない間はコンピュータとの対戦にします。

ゲームのアイディア(VRサポートのタルコフライク近接戦闘ゲーム)

まずはマルチプレイのバトルゲームを開発します。ジャンルとしてはFightingになります。マルチプレイにする理由としては、ソロプレイはNPCや敵の作り込みをしなければならず時間がかかるため最初のゲームには適さないと考えたためです。

バトルゲームにするのは、近接・遠距離武器のいずれを使う場合でもコントローラーで武器を動かせる点がVRならではの楽しさにつながるためです。

プレイヤーに感じてほしい楽しさとしては、やるかやられるかの緊張感です。

これを味わってもらうために、プレイヤーにはやられたくなくなる動機づけをします。例えば、他のプレイヤーを倒すごとに敵が持つポイントを奪うことができて何人かを倒すかゴールまでたどり着くとポイントを回収できる、タルコフのような仕組みです。やられるとその場にポイントを落としてしまい、ポイントの高いプレイヤーはひと目見てわかるようにして、ポイントを貯めるとリスクが増加するようにします。

遠距離武器にしてしまうと、遠方から狙われてすぐやられてしまい納得感がないため、近接武器をメインにします。

初めてのプレイヤーでも達成感を感じられるように、ザコ敵を配置します。

VRでプレイしているプレイヤーは自由に剣を振ることができますが、VRではないプレイヤーは一定の方向にしか振れません。不平等になる可能性はありますが、VRプレイヤーは少ないと推定されるため良いこととします。

VRでプレイヤー同士の近接武器がぶつかった場合どうなるかは以下のパターンを考えます。
以下の中で、まずは攻撃判定が一定時間失われる方式を採用してプレイヤー同士の戦闘がどうなるかを観察します。

  • コントローラーの位置に関わらず武器が弾かれる(武器が移動する、角度が変わる)
  • プレイヤーが両方とも遠ざかる
    • https://www.youtube.com/watch?v=i-p15qba3Pg
  • 武器の軌道は変わらずに武器の攻撃判定が一定時間失われる(武器が短くなるなど見た目でわかるようにする)
    • https://www.youtube.com/watch?v=wG31DSpGm9M

ゲームのアイディア(VRサポートのBlade Ballライクゲーム)

Blade Ballの引っかかったポイントとして、初めてだと操作方法がわからないというのと待機時間が暇というのがあります。そのため、待機中は練習を兼ねてコンピュータと対戦できるようにします。

VRの場合にどうやって、攻撃可能時間を置くかは要検討です。

Roblox内でよく遊ばれているゲームの楽しさの分析

以下のTopRatedのゲームを遊んでいき、自分が遊んで楽しいと思ったものについて楽しさの根本的な要素を考えます。その要素を自分が開発するゲームに取り込んでいきます。

  • 入ってすぐプレイしてもやり方が分かる【NERF-Strike】
  • やられてもすぐ次のラウンドをプレイできる(常にラウンドが行われていて、そこに参加する形?)【NERF-Strike】
  • 操作が下手でも相手を倒せる【NERF-Strike】

参考ゲーム(VR)

主観VRサポートのシューティングマルチプレイゲーム

FOAM Strike [VR Supported]
Check out FOAM Strike . It’s one of the millions of unique, user-generated 3D experiences created on Roblox. ✨ Play Domi...

参考ゲーム(3D)

ライトセーバーで戦うマルチプレイゲーム

動画で学ぶプログラミング – schilverberch★ROBLOX

コメント

タイトルとURLをコピーしました