Roblox でVRゲームを開発する際の私的なメモです。まだまだ情報少ないですが適宜追加していきます。
開発環境構築
私の開発環境は以下に記載しています。VRヘッドセットの接続方法やバージョン管理ソフトのセットアップ方法はRobloxでの開発でも役立つはずです。
RobloxでVRゲームを開発しない場合は以下のページに記載されているPCスペックでよいかと思います。
ゲーム開発
RobloxでのVRゲームプレイ方法
開発する前に、どんなVRゲームがRobloxでプレイできるか遊んでみましょう
Roblox 開発への入門
このページから始まる入門記事がとても参考になります。
動画教材は以下です。
上記の動画教材を実装してみたのが以下のワールドです。右上の三点リーダをクリックして「Edit in Studio」からコピーできます。
3Dモデリング寄りの学習ならこれが良さそうです。
書籍
以下は3冊シリーズ。
入門記事実行する上での注意
自分が躓いたポイントのメモです。
上記のGrowが最新のRoblox StudioだとSculptを実行する必要がありそうです。
削る方法は以下の赤枠の部分を選択することで可能です。
パーティクル
パーティクルは画像で構成されており、その画像をテクスチャと呼びます。
デフォルトで使用することができるテクスシャの一覧及びテクスチャの適用方法は以下です。
パーティクルのプロパティ変えるとどうなるか色々動画付きで説明されています
爆発したようなパーティクルの設定の仕方のサンプルです。
VR開発情報
Roblox上でVRでキャラクターを操作するためのオープンソースのツールです。
Quest2の場合、右スティック押し込みでアイテムボックスが表示されます。
両方のコントローラーを手首を回転させて下に向けることで、VR上の移動方法などのメニューが表示されます。
収益化
Roblox上での収益化方法は以下です。
私は収益化方法の中で、Robloxの有料会員が長い時間プレイすることで収益が入るエンゲージメントベース・ペイアウトをまず狙います。まず面白いゲームを作ることで収益化を狙えると思うからです。
日本人開発者の方で、おおよその収益額を公開してくれている記事です。
Robloxでの収益化を目指すことに警鐘を鳴らす記事です。バランスを取るためにリンクします。
ゲームの公開
Robloxの検索で自分のゲームがヒットしやすくなる方法
以下のページにて、①広告 ②SNSでの宣伝やYoutuberに宣伝依頼 ③友人に宣伝してもらう という方法が推奨されています
個人としてできるのは、あとは開発進捗動画の公開でファンを増やすなどかと思いました。
自分のゲームがRobloxのページから検索しても出てこない
“(自分のゲーム名)”のように検索すると出てきます。
プロジェクト(ゲームの中身)の公開
Roblox上での公開
以下のように自分のワールドを他の人がコピーできるようにする方法を紹介します。
まず、Creator Dashboardにアクセスします。
コピーを許可したいワールドを選択します。
Placesに移動してワールドを選択します。
「Allow users to download a copy of this Place」のチェックをオンにして、ページ下部の「SAVE CHANGES」をクリックして、ワールドのコピーを許可できます。
GitHub上での公開
以下のようにプロジェクトファイル自体をGitHubで公開している例があります。
プロジェクトファイルではなく、ソースコード自体を公開する場合はRojoというツールが使用できます。
Robloxはデフォルトでは一つのファイルにワールドが保存されるため、バージョン管理がしにくいのですがRojoを使うことでソースコードをVS Codeなどで編集してリアルタイムにRobloxの開発ツールに連携できます。
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サポートのシューティングマルチプレイゲーム
参考ゲーム(3D)
ライトセーバーで戦うマルチプレイゲーム
コメント