はじめに
息子くん、「お母さんにも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を起動するとテンプレート選択画面が出ます。
この中から好きなテンプレートを選択できます。
まずは、何もないBasePlateを選択してみましょう。
公開されたモデルを使用する
Unityでのアセットストアのように、Robloxでも誰かが作って公開しているモデルなどをインポートして使うことが出来ます。
ためしに「Model」を選択して「house」と入力して検索(Enterまたは虫眼鏡のアイコンをクリック)します。下記の赤枠部分です。すると、その下に公開されたhouseのモデルが並びます。
上記では検索したモデルがほかのウインドウに隠れて見えにくいため「Terrain Editor」と「Asset Manager」のウインドウは閉じました。各ウインドウは閉じても「VIEW」メニューからいつでも復活させることが出来ます。
気に入ったモデルをクリックしてインポートすることができます。
デザイン画面の基本操作
真ん中に表示されるデザイン画面では、マウスホイールを使って拡大縮小(寄ったりひいたり)ができます。
左クリックは選択になり、右クリックを押したままマウスを動かすと見る方向を切り替えることができ、マウスホイールを押したまま動かすと左右上下に視点をずらすことが出来ます。
ブロックを置く
メニューバーの「Part」の下の▼を押すと項目がドロップダウンされるので「Block」を押してみましょう。
すると、ブロックパーツが登場します。
ブロックパーツが現れる場所は現在表示させているデザインの画面中央の位置のようです。
さきほどインポートした家を置いていたので、その上に現れました。
パーツは左クリックで選択でき(青く囲まれた状態が選択状態)、そのままドラッグで場所を変更することができます。
パーツを選択状態にしていると、Propertiesウインドウにそのパーツの様々なプロパティが表示されここからも変更できます。ColorでRGB値を変更して赤色にしてみました。
ブロックにスクリプトをつける
上記で作ったブロックをボタンにして、クリックイベント時にプログラム(スクリプト)で制御させることができるようになります。
まずはブロックを選択状態にします。すると、Explorerウインドウの「Part」というところが反転します。この反転したPartがこのブロックを指しています。
そのExplorerウインドウのPartにマウスをかざすと右側に+のマークが出てくるのでクリックします。するとドロップダウンリストがポップアップされます。この中から「ClickDetector」というのを選びます。たくさん候補が出てくるので、「ClickDetector」を見つけるのが大変な場合は、Search Objectsと書かれた検索窓に「click」と入力することで絞り込みができるので見つけられます。
さらに同様にClickDetectorの右側の+をクリックして今度は「Script」というのを選びます。
これで、このブロックにスクリプトを割り当てることができました。
スクリプトをダブルクリックして開いてみましょう。
print("Hello world!")
と書かれています。
これはこのパーツがロードされたときにプロンプトに「Hello World!」と表示されるというものです。
ローカルで実行してみる
どんな動きになるか、試しに実行してみることができます。
今はまだロード時に「Hello World!」と出るだけなのですが、試してみましょう。
まず、「Hello World!」が表示されるためのウインドウが開いてなければ開いておかないといけません。
Outputというウインドウが開いていない場合は、VIEWメニューから開いておきましょう。
Outputウインドウは、上の図の下の部分です。
実行するには「HOME」メニューの「Play」ボタンをクリックします。Playボタンは人の形と再生ボタンが合わさったようなアイコンです。
実行には時間がかかることがありますので待ちます。
画面下Outputウインドウに「Hello World!」が出力されています!
また、ここでは自分のアバターが登場するので実際のRobloxのゲームのように自分を操作して先ほどインポートした家の中を歩き回ってみたりすることもできます。
実行を終了する場合は、上部の「Stop」アイコンを押します。
ブロックが押されたときにスクリプトを動かす(ボタン制御)
スクリプトを下記のように書き換えます。
script.Parent.MouseClick:Connect(function() print("Hello world!") end)
もう一度実行して確認すると、このブロックをクリックしたタイミングで「Hello World!」が出力されると思います。
続きはまた次回
今日はここまでとします。
「Hello World」出力はよくあるサンプルプログラムではありますが、ちょっと地味だし何よりおもしろくないと感じる方も多いと思います。
「ボタンを押したら爆発して家が吹っ飛ぶ」ことを最終目標とします。次回でたぶん完結です。
注意点!
今回このブログを書くにあたって息子くんに聞いたところ、ClickDetectorを使うのはRoblox的にもう推奨されないようになったそうで。。半年前私が教えてもらった時点では非推奨ではなかったらしく。これでも動作はするのですが、現在は推奨される別の書き方があるそうです。教えてもらったらまた書こうかなと思います。