14-1. Unityとの大きな違い
Unityとの大きな違い
RobloxとUnityは両方ともに主にはゲーム開発に使用されるプラットフォームですが、そのアプローチと提供する機能には大きな違いがあります。これらの違いを理解することは、開発者の目的にあった最適なツールを選択する上で重要となります。
Unityと比較した大きな違いとして以下のRobloxの特徴が挙げられます。それらを詳しく見ていきます。
- 多人数型オンラインゲームがベース
- 物理シミュレーションを前提としたエンジン
- 小さい容量のアセット利用を想定する
- ゲーム制作のみではないソーシャルプラットフォーム
- 公開・共有するプラットフォームが用意されている
多人数型オンラインゲームがベース
Robloxは、ベースとして多人数参加型オンラインゲーム(エクスペリエンス)の開発を前提としています。Roblox開発環境では
、サーバークライアントの簡易的な通信の仕組みや、多人数プレイヤーを管理する仕組みなど、クライアント・サーバー型のオンラインゲームを作成する基盤が予め提供されています。
Unityでは、マルチプレイヤーゲームの開発も可能ですが、これには追加のネットワーク設定やサードパーティのアセットが必要になることがあります。Unityは、シングルプレイヤーゲーム制作に使われることも多く、開発者の選択次第で幅広い用途に使えるようになっています。ただしその分、用途に応じた設定やより詳細な知識が必要となります。
物理シミュレーションを前提としたエンジン
Robloxのエンジンは、物理シミュレーションを前提機能として組み込んでいます。基本的なパーツやキャラクターなどのオブジェクトは何も設定せずとも重力の影響を受け、衝突するようになっています。これは、開発者が容易にリアルタイムの物理効果をもった世界を実現できることを意味します。また、逆に物理効果をなくした世界を構築するほうが難しい環境ともいえます。
Unityも物理エンジンを搭載していますが、物理シミュレーションはあくまでオプションであり、開発者が必要に応じて利用する形をとります。デフォルトではGameObjectは落下することも衝突することもなく、実装上の設定で有効にしていきます。
小さい容量のアセット利用を想定する
Robloxは、比較的小さな容量のアセットを使用することを前提として設計されており、ポリゴン数などアセットの上限制約もあります。Robloxはゲームプレイ時にネットワークを通じてゲームがロードされ、ゲームのインストールを必要としないため、こういった制約でロード時間が短縮されることが非常に重要となっています。これにより、多数のゲームを素早く切り替えて遊べるプラットフォームが構築されています。
Unityでは、開発者が任意のサイズや解像度のアセットをインポートして使用することが可能です。これにより、Roblox以上に高精細なグラフィックス、複雑なマップの世界、などを実現できる環境といえます。基本的にUnity制作のアプリは、事前にインストールをして利用する形になります。
ゲーム制作のみではないソーシャルプラットフォーム
Robloxは、ゲーム制作のツールを超え、ユーザーが集まり、交流し、共有するソーシャルプラットフォームとしての側面も強く持っています。これにより、ゲーム以外のエクスペリエンスやイベントも開催され、コミュニティの形成や交流など、「一緒にゲームをする」以上のつながりを生む体験を提供できる環境になっています。
Unityは、主にゲーム開発エンジンであり、ユーザー間の交流などのソーシャルプラットフォームとしての機能は基本的には提供していません。
公開・共有するプラットフォームが用意されている
Robloxプラットフォーム自体が、開発者が作成したゲームを公開し、世界中のプレイヤーと共有するための場を提供しています。オンラインゲームながら、サーバー費用や通信費用も不要で公開可能としています。これにより、マーケティングや配布の手間が大幅に軽減されます。
Unityで作成した作品を公開するには、Google PlayやApp Storeなどの外部プラットフォームを利用するか、ゲーム公開ウェブサイトを利用するなど、別途配布方法を考える必要があります。
RobloxとUnityの特製を理解して選択する
Robloxは、ゲーム制作と共有、コミュニティ参加をより手軽に行えるプラットフォームです。一方、Unityはゲーム開発に高度なカスタマイズ性と柔軟性を提供しよりリッチなゲーム開発を可能とします。このようにRobloxとUnityは異なる強みを持ったプラットフォームであり、プロジェクトの目的やターゲットに応じて適切な選択が重要になります。