Roblox変数入門|ダイヤ集めで学ぶスクリプト3ステップ
コラムRobloxの人気ゲーム『99日生き残る』で、子どもがダイヤの集め方ばかり検索している様子を見かけることがあります。ゲームの攻略法を調べる行動自体は、目標に向けて工夫している証拠でもあります。ただ、せっかくパソコンに向かっている時間を、遊ぶ側から「作る側」へ進むきっかけにしてみるのも面白い選択肢です。
Robloxの人気ゲーム『99日生き残る』の遊び方や魅力については別の記事でも触れていますが、ゲームの中でダイヤを集めたとき、画面の数字がどうやって増えているのかを考えたことはあるでしょうか。その裏側では、プログラミングの基本概念である「変数」が動いています。
この記事では、ゲーム制作ツール「Roblox Studio」を使い、集めたダイヤの数を記録して増やしていくカウンターを3つのステップで作成します。
まずは記事の手順に沿って、画面の中で数字が変わる楽しさを試してみてください。操作に迷ったときは教室で相談する方法もあります。
目次
『99日生き残る』のダイヤ集め、検索してばかりになっていませんか
『99日生き残る』を遊んでいると、デイリークエストの報酬や到達ボーナスなどで手に入るダイヤを少しでも多く集めようと、攻略情報を熱心に探す場面がよくあります。Q&Aサイトなどを見ても、効率よくダイヤを稼ぐ方法についての質問が数多く投稿されている状況です。
欲しいアイテムを手に入れるために調べる姿勢は大切ですが、画面に表示されるダイヤの合計数を眺めているだけでは、プレイヤーとしての体験にとどまります。ここで視点を少し変えて、「集めたダイヤの数を、ゲームはどうやって記憶しているのだろう?」と問いかけてみてください。
ゲームが数字を記憶する仕組みが分かると、普段遊んでいる世界がプログラミングの技術で動いていることに気づけます。その土台になるのが「変数」という仕組みです。
アイテムの数を覚えているのは「変数」というプログラミングの仕組み

プログラミングにおける変数とは、数字やデータを入れておく「箱」のような仕組みを指します。「ダイヤの数」というラベルを貼った箱を用意し、その中に手に入れた個数を入れて記録しておくイメージを持つと分かりやすいでしょう。
Robloxでスクリプトを書くときに使う言語は「Luau(ルアウ)」です。Luauの変数は、何も指定しないとゲーム全体のどこからでもアクセスできる「グローバル変数」の扱いになります。しかし、Roblox クリエーターハブの公式ドキュメント変数でも説明されている通り、特定の範囲だけで扱う「ローカル変数」の方が処理速度に優れています。そのため、変数名の前にlocalキーワードを付ける書き方が推奨されています。
また、変数の命名には、先頭を小文字にして単語の区切りを大文字にする「camelCase(キャメルケース)」を使うのがRobloxの公式ルール。ダイヤの数を数える箱であれば、diamondCount のように名前を決めます。
Roblox Studioでスクリプトを書く準備をしよう

実際に変数を使ったコードを書くために、制作ソフトであるRoblox Studioを立ち上げましょう。スクリプトの基礎やエディタの詳しい使い方については、ロブロックススタジオのスクリプトとは?初心者向け完全ガイド【Lua入門】でも解説していますが、今回は最小限の手順で準備を進めます。
公式ドキュメントのスクリプティングで案内されている通り、ゲーム内で動くプログラムは「ServerScriptService」という場所に配置するのが基本です。次の手順で新しいスクリプトを用意します。
- 画面の右側にある「Explorer(エクスプローラー)」ウィンドウを確認する
- 「ServerScriptService」の項目にマウスカーソルを合わせ、右側に現れる「+」アイコンをクリックする
- 表示された一覧から「Script」を選択して追加する
- 作成されたScriptの名前を右クリックメニューなどから「DiamondCounter」に変更する
- 「DiamondCounter」をダブルクリックし、スクリプトエディタを開く

スクリプトエディタが開くと、文字を入力できる画面が表示されます。これでコードを書く準備が整いました。
ステップで作る、ダイヤ数カウンター
ここからは、実際にスクリプトエディタへコードを入力し、ダイヤの数を数えるカウンターを完成させていきます。3つのステップに分けて順番に確認していきましょう。
ステップ1:スクリプトを新規作成する
まずは、前節で用意した「DiamondCounter」スクリプトが正しく作られているかを確認します。
Explorerウィンドウの「ServerScriptService」の下に「DiamondCounter」が配置されていれば問題ありません。エディタ上に最初から print("Hello world!") と書かれている場合は、その文字をすべて削除して空の状態にしておきます。
ステップ2:変数を宣言してダイヤの数を記録する

空になったエディタに、ダイヤの初期値を記録するコードを入力します。
local diamondCount = 0
print("スタート時のダイヤ数:", diamondCount)
1行目の local diamondCount = 0 では、diamondCount という名前のローカル変数を宣言し、最初の数字として 0 を入れています。これが「ダイヤを入れる箱を用意して、最初は0個にしておく」という処理です。
2行目の print() は、カッコの中に指定した文字や変数の内容を画面の出力欄に表示させる命令。実行したときに、最初のダイヤ数が正しく設定されているかを確かめるために記述しています。
ステップ3:数を増やして変化を確かめる

次に、ゲーム内でダイヤを拾った場面を想定して、変数の数字を増やす処理を追加します。エディタのコードを以下のように書き換えてみてください。
local diamondCount = 0
diamondCount = diamondCount + 1
diamondCount = diamondCount + 1
print("今のダイヤ数:", diamondCount)
注目したいのは、新しく追加した diamondCount = diamondCount + 1 という行。算数の式に見えるかもしれませんが、プログラミングの = は「等しい」ではなく、「右側の計算結果を左側の箱に入れ直す」という代入の操作を表します。
つまり、今の箱の中身に1を足して、同じ箱に入れ直す処理を行っているわけです。このコードを2回実行することで、箱の中の数字は0から1へ、そして1から2へと書き換わっていきます。
出力(Output)ウィンドウで数字の変化を確かめよう

コードの入力が終わったら、数字が正しく増えているかテストを実行して確かめましょう。
Roblox Studioの上部メニューにある「テスト」タブから「プレイ」または「実行」をクリックします。画面下部に「Output(出力)」ウィンドウが表示され、次のようなメッセージが出力されているか確認してください。
今のダイヤ数: 2
もしOutputウィンドウが見当たらない場合は、上部メニューの「表示」タブを開き、「出力」アイコンをクリックすると表示されます。
画面上に「2」という数字が出ていれば成功。変数という箱を用意し、その中身をプログラムで書き換える一連の流れを体験できました。さらにダイヤを拾った処理を作りたいときは、足し算のコードを増やしたり、繰り返し処理(ループ)を取り入れたりすることで、柔軟な仕組みへと発展させられます。
攻略検索が続く時間を、仕組みづくりの時間に変えるには
子どもがゲームの攻略法を検索している時間は、一見するとただ遊んでいるだけに見えるかもしれません。しかし、「もっと効率よくアイテムを集めたい」「強い装備を作りたい」という意欲は、ゲームの仕組みを作る側へ回るきっかけにもなり得ます。
もし家庭でお子さんが『99日生き残る』のダイヤ集めに夢中になっていたら、「ゲームはどうやってダイヤの数を覚えていると思う?」と声をかけてみるのがおすすめ。「プログラミングでは、変数という箱に数字をしまっているんだよ」と伝えてあげるだけでも、ゲームを見る視点が少しずつ変わっていくはずです。
アイテムの数を記録できるようになったら、次は画面上にスコアとして表示する「リーダーボード」を作ってみるのも面白い挑戦。ロブロックススタジオのスコアボードの作り方【リーダーボード実装】で詳しい手順を紹介しています。
子どもの関心が「遊ぶこと」から「仕組みを作ること」へ広がり始めたら、プログラミング環境を整えて本格的な制作に取り組める場を用意するのも一つの方法です。TETRA UPでは、実際にRoblox Studioを操作してゲーム制作を学ぶRobloxコースを用意しています。
TETRA UPの無料体験会で、続きを一緒に作ってみませんか
今回作成した diamondCount のような変数の仕組みは、あらゆるゲーム開発の基礎となる考え方です。数字を記録し、条件に合わせて増減させる感覚がつかめると、自分だけのゲーム作りへ一歩近づきます。
今回のスクリプトをきっかけに、自分の手でゲームを作る面白さに触れてみたいときは、無料体験会で、まずはお試しください。
よくある質問
Q. Roblox Studioでスクリプトを書くには、何を用意すればいいですか。
A. Robloxの公式サイトでアカウントを作成し、Roblox Studioをインストールしておく必要があります。この記事で扱うScriptの追加や編集は、ExplorerウィンドウとStudio標準のスクリプトエディタだけで行えます。
Q. コードを実行しても数字が増えません。どこを見直せばいいですか。
A. まず、diamondCountのような変数名を、宣言した箇所と使う箇所で一字一句同じに書けているか確認してください。次に、Scriptを置いた場所がServerScriptServiceになっているかを見直しましょう。Explorerウィンドウでスクリプトをダブルクリックし、スクリプトエディタでコードが保存されているかもあわせて確認すると、原因が見つかりやすくなります。
Q. 変数の次は、どんなことを学ぶといいですか。
A. 変数の値を使って『一定の数になったら特別な処理をする』という条件分岐(if文)を学ぶと、集めた数をゲームの動きに結びつけられるようになります。今回作ったdiamondCountの仕組みは、そのまま次の学習にも使えます。
Q. TETRA UPのRobloxコースは何歳から参加でき、自宅からでも受けられますか。
A. 対象は小学校高学年以上です。Roblox Studioを使い、言語はLuauで学びます。四谷本校に通う以外に、オンラインでの受講もできます。
まとめ
ゲームの中で手に入れたアイテムの数を記憶する仕組みについて、Roblox Studioでの実践を交えて解説しました。今回のポイントを振り返ります。
- 変数は、数字やデータを入れておく「箱」のような役割を持つ
- Luauでは、処理速度を高めるために
localキーワードを付け、diamondCountのようなcamelCaseで変数を宣言する diamondCount = diamondCount + 1と書くことで、現在の箱の中身に1を足して同じ箱に入れ直すことができる
攻略情報を検索するだけの時間も、仕組みに目を向けることでプログラミングを学ぶ貴重な第一歩へと変わります。画面の中で数字が動く面白さを知った今こそ、新しいものづくりに挑戦する良い機会となるでしょう。
ゲームの攻略を調べるだけでなく、自分で仕組みを動かす楽しさを感じられたら、ぜひ次の作品づくりへ踏み出してみてください。
あわせて読みたい
- ロブロックス 99日生き残るとは?初心者でも楽しめる遊び方・攻略・魅力を解説
- ロブロックススタジオのスクリプトとは?初心者向け完全ガイド【Lua入門】
- ロブロックススタジオのスコアボードの作り方【リーダーボード実装】
参考資料

吉田先生やよっしー、たまによしぞーって呼ばれたりしています。よろしくお願いします。