第8章 公開の仕方/3 本目 / 全 5/約30分

Roblox で公開する

こより

移せるのは絵と音と3Dだけ。人がいる場所へ置ける代わりに、作り方は別物になるよ。

案内役 こより
この術でできるようになること

Roblox上で遊ばれる

なぜ要るか

8-1でゲームをURLに載せました。あれは「リンクを渡せば遊べる場所」です。渡さなければ誰も来ません。

Robloxは軸が違います。Robloxは、みんなが作ったゲームが1つのアプリの中に集まっている場所です。遊ぶ人はそのアプリを開いて、一覧や検索から遊ぶものを選びます。つまり、すでに人が遊んでいる場所の中に置きます。 配布とマルチプレイと課金が最初から付いてきます。

その代わり、作り方が別物になります。 ここを知らずに始めると、8-1まで作ったものが使えなくて止まります。

僕は1本、Robloxで公開しました。付けた名前は「あんね姫を助けよう!」です。

https://www.roblox.com/games/72066557690068

コインを集めて、だんご屋で三色団子を買って、神社のあんね姫に渡すとクリアの和風マップです。開くと Sakura Dango Quest と出ることがありますが、同じものです(理由は後で書きます)。

この術は、その1本を公開するまでにやったことで書きます。

使う道具: Roblox Studio / Meshy

AIプロンプト

この術の作業をAIへ任せるときは、これをそのまま貼ってください。

いま手元にあるHTML1枚のゲームの中身を貼ります。これを Roblox で作り直す場合の整理をしてください。
1. そのまま持ち込めるもの、作り直しになるもの、捨てるものを表で分ける
2. Roblox 側での置き場(Experience / Place / スクリプトを置くサービス)を決める
3. 遊びの中心の操作を1つだけ動かす最小の構成を出す
公開条件や課金の手数料は、公式ドキュメントの該当ページのURLだけ示して、数値は書かないでください。
(ここへ index.html の中身を貼る)

最後の1行は、自分の index.html の中身に置き換えてください。

ブラウザ公開との違いは「人がいるか」

並べます。

ブラウザ公開(8-1) Roblox
遊ぶ人の入口 自分がURLを配る Robloxの中の一覧や検索
遊ぶ側の準備 ブラウザだけ Robloxのアカウントが要る
マルチプレイ 自分で中継の仕組みを作る 最初から仕組みがある
課金 自分で用意する(8-4) プラットフォームの仕組みがある
作り方 HTML1枚 Roblox Studio と Luau
ここまでの資産 そのまま置ける 作り直しになる
公開までの手数 コマンド1本 設定と質問票と条件の確認

マルチプレイと課金が魅力で、作り直しと手数が代償です。 どちらが大きいかは、作っているものによって変わります。

2行目も見てください。Robloxは遊ぶ側にもアカウントが要ります。 URLを開いただけでは遊べません。8-1のブラウザ公開より、渡した人が実際に遊ぶまでの段差は1つ高いです。

僕がCNPトレカで対戦の中継を自分で作ったのは、8-1に書いたとおり、そこだけ別の小さいサーバーへ切り出す判断をしたからです。Robloxならその部分は最初からあります。それが要るゲームなら、乗る価値があります。

何を作ったか

公開したものの中身を先に出します。

スタート  村エリア。WASDで動いてスペースで跳ぶ
道中      道にそってコインを拾う(約50枚)
寄り道    竹林のサイドルートにボーナスコイン
ショップ  だんご屋で三色団子を買う
参道      鳥居の道を進んで神社へ
ゴール    あんね姫に三色団子を渡してクリア

1行目の WASD は、キーボードのW・A・S・Dの4キーで前後左右に歩く操作のことです。Robloxではこの操作と跳ぶ動きが最初から用意されているので、自分で作る必要がありません。

この並びを、絵1枚に描いてから作りました。 上から見たマップの完成図に、スタート、コインの道、ショップ、参道、ゴールを全部書き込んだものです。2-2の「面白さの1行」を、地図の形にしたものだと思ってください。

先に地図を描いた効果は大きかったです。 Studioの中で3Dを置いていくと、どこまで作れば終わりなのかが分からなくなります。地図があると「今日はこの区間」と切れます。

絵と3Dは他の章の道具でそのまま作れました。

だんご屋の建物   Meshyで3Dを生成(4-4)
あんね姫のモデル  Meshyで生成。待機・走り・喜びの3つのアニメも用意(4-4、4-5)
コイン           自分で作った3Dメッシュに古銭風のテクスチャ
BGMと効果音       mp3を用意して読み込む(5-1、5-2)

移せたのは絵と音と3Dでした。 HTMLとCSSとJavaScriptは1行も移せていません。

作り方が別物です(ここが判断の分かれ目)

3-2で「1ファイルで作る」と決めました。その形はRobloxへ持ち込めません。

Robloxは単位から違います。公式ドキュメントの言い方で並べると、こうなります。

Experience  公開する単位。サムネイル、説明、年齢向け設定、課金設定を持つ
Place       マップやシーンに相当。ロビーや別ステージを分けられる
Assets      画像、音、3Dモデル、アニメーション、UI

画面の作り方も別です。 ブラウザのHTMLとCSSではなく、Studioの中のUIの部品を組みます。動きはLuauという言語で書きます。Luauは Roblox 用に作られた言語で、JavaScript とは書き方が違います。ここまでの章で書いてきたコードは、そのままでは通りません。

僕は手元のファイルをStudioへ同期する仕組み(Rojo)を入れて、エディタで書いてStudioで動かす形にしました。これは入れて良かったです。Studioの中だけでスクリプトを書くと、Gitで戻せません(1-4)。

そしてTypeScriptで書いてLuauへ変換する仕組み(roblox-ts)も試しました。コインの表示、ショップ、団子、ギフト、NPCのアニメの制御は、この形で書いています。

ここで1つ分かりました。「TypeScriptで書ける」は、知識の作り直しが無いという意味ではありませんでした。 書く言葉は同じでも、呼ぶ相手はRobloxの部品です。覚え直すのは言語ではなく、置き場と部品の名前でした。

だからコインを拾うところは、Luauを直に書きました。 変換をはさむより早かったからです。

「サーバー側」と「手元側」だけは先に覚えてください

Robloxで一番つまずいたのはここです。同じ処理を、どちら側に書くかで結果が変わります。

言葉の意味を先に。サーバー側とは、Robloxの機械の上で動いて、その部屋にいる全員に共通の結果を出す場所です。手元側とは、遊んでいる人それぞれの端末で動いて、その人にだけ見える結果を出す場所です。同じマップに20人いれば、サーバー側は1つ、手元側は20個動いていることになります。

僕のコインは2本のスクリプトに分かれています。

サーバー側  コインに触れたのが誰かを判定して、その人の枚数を1増やす
手元側      拾った演出を出して、そのコインをその人の画面から消す

なぜ分けるかというと、他の人のコインを消してはいけないからです。 20人が同じマップに入れる場所なので、僕が拾ったコインが全員から消えると、後から来た人の分がありません。

だから枚数の判定はサーバーが持ち、消すのは拾った本人の画面だけにしました。サーバーから本人だけへ合図を送って、受けた側が演出を出します。

この形は、ブラウザで1人用を作っているときには一度も要りませんでした。 Robloxに乗って初めて必要になった考え方です。逆に言えば、ここが要らないゲームなら、Robloxに乗る理由も薄いです。

公開の手順

僕が通った順に書きます。画面の名前は変わるので、細かい位置は書きません。

手順 中身
1 Robloxのアカウントを作り、Roblox Studio を入れる
2 Studioで新しい Experience を作る(最初は白紙の土台から)
3 遊べる状態まで作って、Studioのテスト機能で確認する
4 コンテンツ成熟度(年齢向け)とコンプライアンスの質問票に答える
5 公開設定を一般公開へ変える

3番目のテスト機能は、Studioの中でそのまま自分のゲームに入って遊べる仕組みです。公開しなくても、自分のキャラで歩いて、作ったところが動くかを確かめられます。

4番目が、ブラウザ公開には無い工程です。 ここを飛ばして一般公開はできません。暴力表現や課金があるかといった質問に、はい・いいえで答えていく形式です。答えた内容から「何歳向けか」が決まり、それが Experience の設定に入ります。先に答えを決めておくと1分で終わります。

さらに、一般公開そのものに条件が案内されています。

公式ドキュメントで案内されていた条件(2026-04-07 に確認した時点)

・アカウント作成から48時間以上たっていること
・その Experience の年齢向け設定と質問票を終えていること
・加えて、次のどちらかを満たすこと
   - 本人確認済みのアカウントであること
   - 実際のお金かギフトカードでの購入実績があること

この条件は変わります。 僕はメモに「公開直前にCreator Hubで再確認したほうが安全」と書きました。この記事の条件を信じて準備しないでください。 出典はここです。

https://create.roblox.com/docs/production/publishing/publish-experiences-and-places

https://create.roblox.com/docs/studio/experience-settings

公開すると、名前と説明はRobloxが他の言語にも自動で出してくれます。 僕の「あんね姫を助けよう!」も、英語では別の名前で並びます。ここは自分で手を動かしていません。

課金は付いてきますが、後回しでいいです

Robloxには課金の仕組みが最初からあります。名前だけ挙げます。

Passes             1回買うと使えるもの
Developer Products 何度でも買えるもの
Paid Access        入場そのものを有料にする
Private Servers    貸し切りの部屋

手数料や取り分は書きません。 変わる数値をこの記事に固定すると、読んだ人が古い前提で計算します。必要になった時点で公式を見てください。

僕は1つも入れていません。 入場も無料のままです。遊ばれる形になったかどうかを先に見たかったからです。

ただし順番の話があります。課金の設計は後付けできますが、ショップの画面とゲーム内のお金は、最初の設計と絡みます。 僕がコインとだんご屋を最初から入れたのは、そこだけは後から足しにくいと判断したからです。

お金を受け取る側の話は8-4で扱います。

やってみる

  1. まず1本目がブラウザで公開できているか確認する

    できていないなら、この術は飛ばしてください。 8-1と8-2の方が先です。

  2. Roblox Studio を入れて、白紙の土台で1つ作る

    スポーン地点とは、遊ぶ人が入ってきたときに立つ位置のことです。これが無いと、入った人がどこにも立てません。

    自分のゲームを移す前に、土台に床とスポーン地点と的を置いて、触ったらクリアと出るだけをやってください。僕もこれを別の1本として先に作りました。ここで「別物だ」と体で分かります。

  3. 移すものを1つだけ選ぶ

    全部を移そうとしないでください。遊びの中心にある操作を1つだけ選びます。2-2で書いた「面白さの1行」がそれです。

    僕は「コインを拾う」を選びました。ショップもゴールも、その後です。

    この仕分けはAIへ渡せます。

    いま手元にあるHTML1枚のゲームの中身を貼ります。これを Roblox で作り直す場合の整理をしてください。
    1. そのまま持ち込めるもの、作り直しになるもの、捨てるものを表で分ける
    2. Roblox 側での置き場(Experience / Place / スクリプトを置くサービス)を決める
    3. 遊びの中心の操作を1つだけ動かす最小の構成を出す
    公開条件や課金の手数料は、公式ドキュメントの該当ページのURLだけ示して、数値は書かないでください。
    (ここへ index.html の中身を貼る)
    

    「捨てるもの」を必ず出させてください。 全部移す前提で始めると終わりません。

  4. 上から見た地図を1枚描く

    スタート、道中、ショップ、ゴールを1枚に書き込みます。絵はAIに描かせて構いません。 これが無いと、3Dを置く作業に終わりが来ません。

  5. 選んだ1つをLuauで動かす

    サーバー側1本から始めてください。 演出を手元側へ分けるのは、サーバー側が動いてからです。

  6. Studioのテスト機能で遊ぶ

    ここで「Robloxで作り直す価値があるか」を判断します。楽しければ進み、しんどければ2番目の記録を残して戻ってください。

  7. 質問票と公開条件を先に確認する

    作り込んでから条件を知ると待たされます。先に確認してください。

  8. 一般公開へ変えて、自分のアカウント以外から開いてみる

    ここまでで「Roblox上で遊ばれる」に届きます。公開設定を変えただけで満足しないでください。 一覧に出ているか、別の端末から入れるかを見ます。

  9. 記録する

    git add .
    git commit -m "RobloxでExperienceを一般公開した"
    git push
    

つまずきどころ

ここまで作ったHTMLが使えない

それが正しい状態です。 Robloxは別の作り方をする場所です。移せるのは絵と音と3Dと、遊びのルールの考え方だけだと思ってください。僕も1行も移せていません。

公開の操作をしたのに一般公開にならない

上の条件を満たしていません。アカウントの条件と質問票を確認してください。作り込みの量とは関係ありません。

年齢向けの設定で止まる

これは埋めないと進めない工程です。自分のゲームに暴力や課金があるかを、正直に答えてください。

自分が拾ったものが全員から消える

サーバー側だけで演出まで済ませています。消すのは拾った本人の画面だけにしてください。1人用のつもりで書くと必ずこれをやります。

Luauを知らないままAIに全部任せて詰まる

置き場の名前だけは覚えてください。どのスクリプトがサーバー側で、どれが手元側か。 ここが分かっていないと、AIの出したものが動かないときに何も言えなくなります。

Studioが重い

3Dを扱うので、ブラウザで作るときより機械の負担が上がります。先に土台だけで動かして、手元の機械で耐えられるか確かめてください。

「人がいる場所」に期待しすぎる

ここは正直に数字を出します。僕の1本は、2026-08-04 時点で訪問14、高評価3です。自分のテストも混ざった数字です。

置いただけでは遊ばれません。 Robloxの中にも大量のゲームがあります。見つけてもらう工夫は、どちらの場所でも要ります。そこは9章の話です。

Windows の場合

公式に案内されているシステム要件は、調べた時点では Windows 10/11 の64bit、または macOS 10.13 以降でした。どちらでも作れます。

3Dを扱うので、8章の他の術より機械の力が要ります。それ以外の差はありません。

次の一歩

自分のRobloxのゲームを、別の端末から開いて遊んでください。 自分のStudioの中で動くことと、他人が入れることは別です。

そのうえで、進むか戻るかを紙に1行書いてください。 マルチプレイと課金が要るなら進む価値があります。要らないなら8-1で足ります。

最後にはっきり書きます。最初の1本は、ブラウザ公開で十分です。 8-1と8-2で他人が遊べる場所に置けています。Robloxは、2本目以降の選択肢として持っておいてください。

僕はその2本目をここに置きました。次は、あんね姫のところまで遊んでくれる人を増やす番です!

術の一覧へ戻る

メルマガ(無料)忖度なしのAI事情を、メールでお届けします。ご登録の方に、プレゼントをお渡ししています