1-2. Robloxエクスペリエンス開発フロー概要

Robloxエクスペリエンス開発フロー概要

まずはRobloxエクスペリエンス開発の基本フローを見ていきます。基本的なフローは以下です。
  1. 開発環境の用意
  1. コンセプトの決定
  1. 基本的な仕様の設計
  1. エクスペリエンス実装
  1. テストとデバッグ、最適化
  1. エクスペリエンスの公開
大きくは一般的なゲーム開発と同じと言えます。しかし、Robloxはオンラインであること、多人数で遊べること、ソーシャル要素も強いこと、など考慮すべき点があります。これらを踏まえつつ基本フローを見ていきます。

1. 開発環境の用意(Roblox Studioのセットアップ)

Robloxの開発は公式が提供する「Roblox Studio」上で行います。公式サイトよりダウンロードし、言語、テーマなど、自分にとって最適な基本設定をして、開発を始めます。Roblox Studioでは、ベータ機能の有効化や、ショートカットのカスタマイズなど、より利便性を上げる設定があることも覚えておきましょう。Studioに慣れてきたらベータ機能やよく使う機能のショートカット設定をしてより効率をあげた開発を心がけましょう。また、後ほど開発環境についてのTIPSも紹介しています。

2. コンセプトの決定

エクスペリエンスにおいてどういった体験を創り出すのかコンセプトを決めます。Robloxでは「エクスペリエンス」の名の通りゲーム性のない空間を制作することも一般的ですが、最も多いのはやはりゲーム制作となります。ゲームを制作する場合は、アスレチック(Obby)、アクション、シミュレーターなどのゲームジャンルを決めましょう。
どういったものを作るにせよ、Robloxが多人数で空間を共有するプラットフォームであり、ソーシャル性なども重要となることは念頭に置くとよいです。単純な「面白いゲーム性」だけでなく、コミュニケーションを促すような施策や余白、空間に入ってすぐに操作がわかるデザイン、など、特徴に合わせユーザーを捉えやすいコンセプトを考えられるのが理想的です。

3. エクスペリエンスの仕様設計

コンセプトに基づき、メカニクスやルール、キャラクターの動きなど、基本的な仕様を設計します。ここでも多人数で共有するオンライン空間であることを考慮した設計が重要となります。ゲーム自体の仕様に加えて、以下のような点も考慮していく必要があります。
  • 何人で同時にプレイするか
  • プレイヤー同士が共有する体験(サーバー処理となる部分)はなにか
  • プレイヤー単体でする体験(クライアント処理となる部分)はなにか
  • 同時利用人数を踏まえたリソース数や負荷の考慮
オンラインゲームでは、クライアントとサーバーという2つのプロセスが稼働し、それらが通信して体験を創出します。そのため、何をどちらで処理するか、それによりどうユーザー体験に影響するか、などを考慮することは、特にエンジニアリングにおいては重要な設計要素となります。

4. エクスペリエンス実装

仕様に基づきエクスペリエンスを実装していきます。実装には、様々な要素がありますが、大きくは以下の2つの要素があります。
  • 空間の構築(地形構築やオブジェクト配置など)
  • プログラム実装(スクリプトのコーディング)

4-a. 空間の構築

空間の構築は、地形を生成やモデルを配置していくことで、創出したい体験のための世界を作り上げることです。Robloxでは、ローポリゴンのシンプルな世界構築も多いことや、プリセットのパーツを組みあわせ簡易的なモデリングも行えるため、プリセットパーツをメインに世界を構築していくことも多いです。
また、Robloxでは共有して使えるアセットが取得できる「ツールボックス」を活用できるのも特徴的です。ツールボックスはStudio上のウィンドウとして組み込まれており、即座に検索して共有された目的のアセットを見つけることが可能です。見つけたアセットは制作空間に即座に配置ができるため、非常に手軽に利用できるのが大きな特徴で利点です。こうした特徴から、DCCツールでのモデリングスキルなどがなくとも、世界を構築し公開している例も多いといえます。

4-b. プログラム実装

ユーザーにインタラクティブな体験や、よりリッチな体験をしてもらうには、プログラム実装が必須です。Robloxでは、公式が提供するモジュールパーツ、のようなものは少なく、基本的に必要な機能を自分で実装していくことが多くなります。しかしながら、Robloxは多くの機能をAPIとして提供しており、サーバー・クライアント双方で幅広い実装が可能となっておりカスタマイズ性が非常に高くなっています。
そのため、Robloxが提供する、API、機能、作法、を理解し活用していくことが多様な体験を作り出すために重要となります。またそのための効率的なプログラミング手法を習得することも重要です。本書ではこのプログラム実装部分について、次章以降で詳しく解説していきます。

5. テストとデバッグ、最適化

実装が済めば、公開に向けてローカルで繰り返しテストを実施しデバッグします。Studioメニューからは複数クライアントを立ち上げたテスト実行なども可能となっているので、擬似的な多人数テスト等も行っていきます。また、グループやチームクリエイト機能を活用することで、公開前に対象者に実機プレイを可能とすることも出来ます。大規模ゲームなどでは、これら機能を用いて公開前テスト(αテスト、βテスト)等を実施します。
また、Robloxはマルチデバイス対応のプラットフォームであるので、PC、スマートフォン、コンソール、VRなど、対象とするデバイスそれぞれで問題ないかの確認も必要となります。デバイスにより、負荷の具合も異なるため、負荷の考慮も必要です。

6. ゲームの公開

公開して問題ない品質まで開発が完了したら一般公開します。Robloxでは、エクスペリエンス公開に費用や面倒な手続き等もありません。サーバーや通信費用もなく、非常に手軽に制作エクスペリエンスを世界に向けて公開することができます。
また、Robloxは、オンラインかつコミュニティ機能もあるソーシャルなプラットフォームですので、公開後もユーザーのフィードバックや、コミュニティによる活性化など、体験が遊び続けられるよう施策を行っていくことも重要となります。そのため公開後も、エクスペリエンスへアップデートをかけていくことも多く、それを見据えた、拡張性、保守性の高いプログラム実装しておくことが重要といえます。