カワリモノ息子の技術メモ的な~

カワリモノ息子とその母の技術メモ的な〜

学校が苦手な息子くんの作品とその母の作品、はたまた日常などいろいろを在宅エンジニア母が綴る

中1息子くんによるRoblox StudioによるRobloxのゲームの作り方講座 その1

はじめに

 息子くん、「お母さんにもRobloxのゲームを作ってみてほしい」と言ってました。
 そしておよそ半年前に私が生徒役になってRobloxで動くゲームの作り方を教えてもらいました。息子先生、スパルタです。

 今回はそのときに教えてもらったことをブログに書きます。どなたかのご参考になれば・・!
 (なかなか書くのが億劫になってしまっていてブログにできておらず半年もネタを熟成しちゃってました)

Roblox StudioでRobloxのゲームをつくる簡単なステップを説明

Roblox Studio を準備

 Robloxで動作するゲームを作るには、まず「Roblox Studio」という開発環境が必要です。これはRobloxから無償で提供されています。

 RobloxをPCで遊ぶときに自動でダウンロードされるファイルの中にRoblox Studioのインストーラーのショートカットが入ってます。
 Windowsだと、Windowsのタスクバーの検索窓に「roblox studio」と入力するとインストーラーのショートカットが起動できるので、まずはインストールしましょう。インストール後、Roblox Studioを起動します。

 または、下記サイトから「制作を開始」でも起動(ダウンロードも)できるようです。
www.roblox.com
 

Roblox Studio を起動、テンプレート選択

 Roblox Studioを起動するとテンプレート選択画面が出ます。

 f:id:toriko0413:20210221211005p:plain

 この中から好きなテンプレートを選択できます。
 まずは、何もないBasePlateを選択してみましょう。

 f:id:toriko0413:20210221211230p:plain

公開されたモデルを使用する

 Unityでのアセットストアのように、Robloxでも誰かが作って公開しているモデルなどをインポートして使うことが出来ます。

 ためしに「Model」を選択して「house」と入力して検索(Enterまたは虫眼鏡のアイコンをクリック)します。下記の赤枠部分です。すると、その下に公開されたhouseのモデルが並びます。
 f:id:toriko0413:20210221212105p:plain

 上記では検索したモデルがほかのウインドウに隠れて見えにくいため「Terrain Editor」と「Asset Manager」のウインドウは閉じました。各ウインドウは閉じても「VIEW」メニューからいつでも復活させることが出来ます。

 気に入ったモデルをクリックしてインポートすることができます。

f:id:toriko0413:20210221232937p:plain

デザイン画面の基本操作

 真ん中に表示されるデザイン画面では、マウスホイールを使って拡大縮小(寄ったりひいたり)ができます。
 左クリックは選択になり、右クリックを押したままマウスを動かすと見る方向を切り替えることができ、マウスホイールを押したまま動かすと左右上下に視点をずらすことが出来ます。

ブロックを置く

 メニューバーの「Part」の下の▼を押すと項目がドロップダウンされるので「Block」を押してみましょう。

f:id:toriko0413:20210221213950p:plain

 すると、ブロックパーツが登場します。
 ブロックパーツが現れる場所は現在表示させているデザインの画面中央の位置のようです。
 さきほどインポートした家を置いていたので、その上に現れました。

f:id:toriko0413:20210221233047p:plain

 パーツは左クリックで選択でき(青く囲まれた状態が選択状態)、そのままドラッグで場所を変更することができます。
 パーツを選択状態にしていると、Propertiesウインドウにそのパーツの様々なプロパティが表示されここからも変更できます。ColorでRGB値を変更して赤色にしてみました。

f:id:toriko0413:20210221233152p:plain

ブロックにスクリプトをつける

 上記で作ったブロックをボタンにして、クリックイベント時にプログラム(スクリプト)で制御させることができるようになります。

 まずはブロックを選択状態にします。すると、Explorerウインドウの「Part」というところが反転します。この反転したPartがこのブロックを指しています。

f:id:toriko0413:20210221233414p:plain

 そのExplorerウインドウのPartにマウスをかざすと右側に+のマークが出てくるのでクリックします。するとドロップダウンリストがポップアップされます。この中から「ClickDetector」というのを選びます。たくさん候補が出てくるので、「ClickDetector」を見つけるのが大変な場合は、Search Objectsと書かれた検索窓に「click」と入力することで絞り込みができるので見つけられます。

f:id:toriko0413:20210221233727p:plain

 さらに同様にClickDetectorの右側の+をクリックして今度は「Script」というのを選びます。

f:id:toriko0413:20210221223841p:plain

 これで、このブロックにスクリプトを割り当てることができました。
 スクリプトをダブルクリックして開いてみましょう。

f:id:toriko0413:20210221224107p:plain

 print("Hello world!")

 と書かれています。
 これはこのパーツがロードされたときにプロンプトに「Hello World!」と表示されるというものです。

ローカルで実行してみる

 どんな動きになるか、試しに実行してみることができます。
 今はまだロード時に「Hello World!」と出るだけなのですが、試してみましょう。

 まず、「Hello World!」が表示されるためのウインドウが開いてなければ開いておかないといけません。
 Outputというウインドウが開いていない場合は、VIEWメニューから開いておきましょう。

f:id:toriko0413:20210221224557p:plain
 
 Outputウインドウは、上の図の下の部分です。

 実行するには「HOME」メニューの「Play」ボタンをクリックします。Playボタンは人の形と再生ボタンが合わさったようなアイコンです。
 実行には時間がかかることがありますので待ちます。

f:id:toriko0413:20210221222215p:plain

 画面下Outputウインドウに「Hello World!」が出力されています!
 また、ここでは自分のアバターが登場するので実際のRobloxのゲームのように自分を操作して先ほどインポートした家の中を歩き回ってみたりすることもできます。

 実行を終了する場合は、上部の「Stop」アイコンを押します。

ブロックが押されたときにスクリプトを動かす(ボタン制御)

 スクリプトを下記のように書き換えます。

script.Parent.MouseClick:Connect(function()
	print("Hello world!")
end)

 もう一度実行して確認すると、このブロックをクリックしたタイミングで「Hello World!」が出力されると思います。

f:id:toriko0413:20210221225521p:plain

続きはまた次回

 今日はここまでとします。
 「Hello World」出力はよくあるサンプルプログラムではありますが、ちょっと地味だし何よりおもしろくないと感じる方も多いと思います。
 「ボタンを押したら爆発して家が吹っ飛ぶ」ことを最終目標とします。次回でたぶん完結です。

注意点!

 今回このブログを書くにあたって息子くんに聞いたところ、ClickDetectorを使うのはRoblox的にもう推奨されないようになったそうで。。半年前私が教えてもらった時点では非推奨ではなかったらしく。これでも動作はするのですが、現在は推奨される別の書き方があるそうです。教えてもらったらまた書こうかなと思います。