今回はRobloxアプリの開発に使用するRoblox Studioについて書きたいと思います。

Roblox StudioはRobloxの制作ページからダウンロードできます。

最近は公式のドキュメントが充実してきており、以下のガイドで基本的な操作方法は確認できます。
Introduction to Roblox Studio

本記事では、UnityやUnreal Engineなどの他のゲーム開発環境とは違う、Roblox Studioの特徴的な部分を紹介したいと思います。

1.クライアント/サーバー両対応

開発したいアプリのクライアント側(PCやスマホのアプリ側)で動作するスクリプトが書けるだけでなく、Robloxのサーバー側で動作するスクリプトも書けます。
しかも、クライアント/サーバーどちらも同じプログラミング言語「Luau」(Lua5.1から派生したRoblox用の言語)で書けます。

キー入力やGUIの処理を行うクライアント側のスクリプトから、サーバー側のスクリプトで実装された処理を呼び出すとか、サーバー側のスクリプトから、クライアント側のスクリプトの処理を呼び出すなど、Roblox Studioだけで開発できます。

また、クライアント/サーバーの両方の処理を、ローカルでテスト実行したり、ブレイクポイントを張ったデバッグなども可能です。(一部PublishしてRobloxサーバー上で動作させないと動かない機能もあります)

※キャラクターの位置やデフォルトで用意されているアクションの同期については、処理を書かなくても標準で行なわれます。

2.全てクラウド上に保存される

3Dモデル、画像、サウンドなどのアプリケーションで利用するリソース、アプリケーション内のスクリプトなど、全てRobloxのクラウド上に保存されます。
そのため、Roblox Studioだけ用意すればチームで開発することができます。

3.複数人で共同編集できる

共同編集の機能を設定すると、3Dエディタ上で今誰が繋いでいて、どこを操作しているかが分かります。
またスクリプトについては、クラウド上に保存(コミット)する際に競合があるかを確認したり、履歴を残すようにすることも可能です。
共同制作と拡張性

4.ファイルの置き場所で意味が変わる

Roblox Studio Explorer
Roblox Studioの「エクスプローラー」のウィンドウで確認できるフォルダのどこに置くかで、クライアント側にコピーされるのか、サーバー側で管理されるのかなど、意味が変わってきます。

「Server」で始まるフォルダはサーバー側で管理されるものです。
「Replicated」で始まるフォルダは、クライアントにもコピーされるものになります。
「Starter」で始まるフォルダは、プレイヤーがサーバーに接続したり、プレイヤーのキャラクターが初期化された時に使用するものを入れておく場所になります。

使用するアセットやスクリプトが、クライアント or サーバーだけで必要なものなのか、両方から参照できる必要があるものなのかなど、用途を考えて置き場所を決める必要があります。

5.アプリやサーバーの設定もできる

Roblox Studioの「ゲーム設定」のメニューから、Robloxプラットフォーム上に公開する時のアプリの名称や説明の設定ができます。
さらに、アプリの公開/非公開の設定変更もできるので、Roblox Studioだけでアプリの公開まで行えます。
サーバーへ最大何人のプレイヤーを接続できるようにするのかなど、サーバーの設定もできます。

6.Publishも簡単

Robloxの「ファイル」メニューから「Robloxに公開」を選ぶだけで、Roblox上に公開され、各プラットフォームのRobloxアプリで実行できる状態になります。
ゲーム設定でアプリを「公開」にしていれば、他のプレイヤーが遊べる状態になります。
超簡単。


サーバー環境は全てRobloxが用意してくれた上で、Roblox Studioでクライアント/サーバーの両方の処理が書けて、ネットワーク対応のゲームをサクッと公開できるのは衝撃でした。

弊社ではRobloxアプリの開発も始めました。
Robloxで何かしたい、開発会社を探しているなどありましたら、ご相談頂ければと思います。
Roblox ゲーム開発サービス