Chat-GPTとS君のRobloxプログラミング奮闘記

Chat-GPTとS君のRobloxプログラミング奮闘記

Chat-GPTでロブロックスのプログラムを作る道のり


中学3年生のS君は、ゲームをプレイすることが大好きな少年です。普段はRobloxで遊んでいます。そしてRobloxのプログラミングも学んでいます。

たくさんのゲームであそんでいるので、その強みもいかして、普段もセンス良くゲームもつくりコーディングや手早くなっています。

そんな彼に今回、実験的にChat-GPTを使ってコーディングに挑戦してもらいました。S君にとって、Chat-GPTは初めての経験でした。

 

 

まずは簡単なコードから、少しずつStep by Stepで!


 

 

S君の最初のチャレンジは、「ブロックが3D空間のランダムな場所に現れ、5秒ごとに瞬間移動する」というプログラムを作ることにしました。

 

Chat-GPTにコードをお願いしてみたものの、どう質問すればいいのかが分からず、S君は戸惑っていました。そこで、「人にお願いするみたいに文章にしてみたら?」とアドバイス。何度か試しますが、コンピュータが理解しづらそうな言い回しが多く、なかなか良い結果が返ってきません。

 

「こう聞いてみたら?」とヒントを出しながら、何度か質問を試みましたが、返ってくるのはコードではなく、コードを作るための考え方ばかりでした。

 

そこで、S君が欲しいのは「プログラム」ではなく「コード」であること、そしてRobloxではLuaという言語が使われていることを伝えながら、質問の仕方を工夫していきました。数回質問を繰り返した結果、ようやくそれらしいプログラミングコードがChat-GPTから出力されました。

 

コードの冒頭が「local part = script.Parent」で始まっていたので、

S君はRoblox Studioを起動し、画面にブロックを作って、その配下にスクリプトを作成。エディターを開いて、Chat-GPTから出力されたコードをコピーして貼り付けました。

 

そして、とりあえず実行! エラーもなく実行できましたが、ブロックが見づらい状態です。

 

Baseplate(地面のパーツ)が邪魔をしているので、手動でそれを消し、ついでにブロックにアンカー(固定)のチェックを入れました。このあたりの操作は、すっかり手慣れたものです。しっかりと学んでいることを実感できる瞬間でした。

 

また、こういった細かい点にもすぐに気付けるS君。自分で気づいたことをしっかり褒めて、そのまま作業を続けてもらいました。

 

そして、最後に「コードにコメントを入れてください」とChat-GPTにお願いし、説明コメント付きのコードが完成。分かりやすく整理することができました。


5秒ごとに瞬間移動するコード、完成

 

 

 

次のステップ: 移動のたびに色を変える


 

次のチャレンジは、「ブロックが移動するたびに色を変える」という機能を追加することです。再びChat-GPTに「移動するたびに色を変えてください」とお願いしました。

 

やはり最初は、そのプログラムの作り方の手順が言葉で返ってきます。そこで、「コードでお願いします」と問いかけると、今度はしっかりとコードが出力されました。Roblox Studioに貼り付けて実行すると、問題なく一発で成功!

おー、S君もだんだん慣れてきた様子です。

 

 

 

最終ステップ: クローンを作る


 

 

最後のステップは「ブロックのクローンを作る」ことです。

 

ブロックが5秒ごとに瞬間移動するたびに、自分のクローンを作るようにしました。こちらもすぐに成功! 画面にはブロックがゆっくりと増えていきますが、ある時から突然、指数関数的に増え始め、あっという間に画面がブロックでいっぱいに。

まるでドラえもんの「バイバイン」の世界のようで、少し恐怖を感じました。

 

何度か微調整を繰り返したS君でしたが、自分の作ったワールドが気に入ったのか、いつしかゲームの世界の住人のように、夢中で視点をぐるぐる回転させたり、ブロックを飛び回ってあちらこちらに移動したりしていました。

 

もう、今日はコードを作ることよりも、この世界で遊ぶことに夢中です。

 

ここで今日の実験は終了。とても楽しそうに夢中になっているS君の姿に、こちらも嬉しくなりました。作ったコードはしっかり保存してあるので、次回はこの続きの物語を、またChat-GPTで作ってもらおうと思っています。

 

最終的なコード


-- 瞬間移動させるPartを取得

local part = script.Parent

 

-- 移動する範囲と間隔の設定

local moveRange = 50  -- Partが移動する範囲(±50 studs)

local moveInterval = 2  -- 移動する間隔(秒)

 

-- 色のリストを設定

local colors = {

BrickColor.new("Bright red"),   -- 赤色

BrickColor.new("Bright blue"),  -- 青色

BrickColor.new("Bright green"), -- 緑色

BrickColor.new("Bright yellow"),-- 黄色

BrickColor.new("Bright orange") -- オレンジ色

}

 

-- 移動回数カウンター

local moveCount = 0

 

-- 瞬間移動と色変更の関数

local function teleport()

-- ランダムな位置を生成(移動範囲内で)

local randomX = math.random(-moveRange, moveRange)

local randomY = math.random(-moveRange, moveRange)

local randomZ = math.random(-moveRange, moveRange)

 

-- 現在の位置からランダムな位置を計算

local newPosition = part.Position + Vector3.new(randomX, randomY, randomZ)

 

-- 新しい位置に瞬間移動

part.Position = newPosition

 

-- ランダムに色を変更

local randomColor = colors[math.random(1, #colors)]  -- 色のリストからランダムに選ぶ

part.BrickColor = randomColor  -- Partの色を変更

 

-- 移動回数をカウント

moveCount = moveCount + 1

 

-- 5回移動するごとにクローンを生成

if moveCount >= 5 then

-- クローンを生成

local clone = part:Clone()

clone.Position = part.Position + Vector3.new(0, 5, 0)  -- クローンを少し上に配置

clone.Parent = workspace  -- クローンをワークスペースに追加

 

-- 移動回数をリセット

moveCount = 0

end

end

 

-- 定期的に瞬間移動を実行

while true do

teleport()  -- 瞬間移動と色変更を実行

wait(moveInterval)  -- 次の瞬間移動まで指定した秒数だけ待機

end

このコードの概要(Chat-GPTにコードを読ませて作成)

このプログラムは、Robloxのゲーム環境内で特定のPart(オブジェクト)を定期的にランダムな位置に瞬間移動させ、 そのたびにランダムな色に変更する機能を実装しています。

さらに、移動回数をカウントし、5回目の移動が完了するたびに Partのクローンを生成し、元のPartの少し上に配置します。この動作は無限ループで繰り返され、指定された時間間隔で 実行され続ける仕組みです。

Partの瞬間移動は、指定された範囲(±50スタッド)内で行われ、X, Y, Z軸それぞれにランダムな座標が生成されます。 また、Partの色は予め定義された5つの色(赤、青、緑、黄色、オレンジ)の中からランダムに選ばれて変更されます。 この機能により、視覚的に動的な変化をもたらし、ゲーム内でプレイヤーにインタラクティブな体験を提供します。

さらに、このスクリプトはカウント機能を持っており、Partが移動するたびに移動回数が記録され、5回移動が行われると 自動的にPartのクローンが生成されます。クローンは元のPartの位置から少し上(5スタッド)に配置され、ワークスペース内に 追加されます。このクローン生成により、ゲーム内でのオブジェクトの増加や視覚的変化をプレイヤーに提供し、 インタラクティブな要素を増やします。


  1. Partの瞬間移動
    スクリプトが開始すると、最初にPartが±50スタッドの範囲内でランダムに生成されたX, Y, Z軸の座標へ瞬間移動します。 これにより、Partがゲーム内で視覚的にランダムな場所に移動するように見えます。
  2. 色のランダム変更
    瞬間移動が完了すると、Partの色がランダムに変更されます。事前に設定された5つの色(赤、青、緑、黄色、オレンジ)の中から 1つがランダムで選ばれ、Partの色が変更されます。このプロセスは、毎回移動するたびに行われ、Partが移動するだけでなく 色も変わるため、視覚的なインパクトが強くなります。
  3. 移動回数のカウント
    Partが瞬間移動するたびに移動回数がカウントされます。カウントはスクリプト内で記録され、5回移動するごとに クローン生成がトリガーされます。これにより、一定回数のアクションが完了するたびに新たな変化が発生する仕組みを 提供しています。
  4. クローンの生成
    5回目の移動が行われた際に、Partのクローンが生成されます。生成されたクローンは、元のPartの少し上(5スタッド)に 配置され、ワークスペース内に追加されます。このクローンは、元のPartと同じ動作をしませんが、ゲーム内で新たな オブジェクトとして視覚的な増加をもたらします。移動回数がリセットされ、再び5回移動が行われるとクローンが生成される ループが続きます。
  5. 無限ループによる繰り返し処理
    スクリプトはwhile trueの無限ループで実行されており、指定された2秒間隔ごとに瞬間移動と色変更が繰り返されます。 これにより、ゲーム内でPartが一定のリズムで動き続け、プレイヤーに対してランダムな変化を提供します。 このプロセスは無限に繰り返されるため、Partがランダムに移動し続け、インタラクティブな要素が途切れることなく維持されます。

```

無料体験レッスンを開催してます

ほめて、認めて、勇気づけ、いいところを見つけて伸ばす。

キッズ向けの「パソコンとプログラミング」を学ぶ教室です。

そして、お子さんの明るい未来と希望に満ちた将来へのステップを、そっと見守り失敗しても自分で立ち上がる。そしてご自身もパソコンが使える事で職場で頼られ活躍できる。それが自信につながり子育てにも自分にも明るく元気に取り組める。そんなパソコン初心者のお母さん向けの「初心者みなさんのパソコン教室」です。

 
唯一無二の自分を受け入れ、自分はとても大切な存在なんだと感じ、お互いのいいところを見つけ、違いを尊重しお互いが自立して助け合い、勇気づけ、認め合える事を大切にしています。

 
子どもの「パソコン」、「プログラミング」、「ロボット」の学びを通じて「できるかも?」「やってみよう!」「デキタ!」のステップを自分で進み、たくさんの小さな失敗を経験し自分で道を探すプロセスを経験します。

 

そして、仕事でパソコンを使いこなしたい、そんなパソコン初心者のお母さん世代の方向けの「短期速習」のWord/Excel/PowerPointのコースもあります。

 

体験は随時受付ています。

→ 申込はこちら(https://www.keep-on-smiling.jp/trial)へ

 

ニコニコ笑顔で、目の前の人に思いやりを持つ


当教室についての

お問い合わせは公式LINEから直接メッセージでも受付します。

無料体験はこちらから申し込みください

 

無料体験レッスンは随時開催しています。

初心者向けパソコンレッスン/キッズ向けパソコン&プログラミング体験会


 

  • キッズパソコンコース ( 対象:小学2年生~ )
  • ちびっこロボ・プログラミングコース【自考力キッズ】  ( 対象:年長~ )
  • ロボットプログラミングコース【エジソンアカデミー(EA) 】 ( 対象:小学3年生~ )
  • 基礎のゲームプログラミング【Scratchプログラミング】( 対象:小学2年生~ )
  • JavaScriptで学ぶ基礎のテキストプログラミング( 対象:小学6年生~ )
  • Robloxで学ぶ3Dプログラミングコース( 対象:小学3年生~ )
  • お仕事で活用したい! 初心者お母さんのパソコン レッスン

対象年齢は目安です。お子さん成長はそれぞれです、体験にお越しいただいた際に適性を見ます。

 

お子さんが目安の年齢を満たしてないので…

うちの子はじっとできないので、迷惑をかけちゃうかも

場所見知り、人見知りが激しくて…と

不安をお持ちの方もいるかと思います。

体験ではお子様おひとり限定で、そのお子さんのペースで実施します。安心して参加してください。(ご兄弟やお友だちの場合には一緒に実施します。)


まちぜみなどのイベントでの体験の場合は除きます。

※同じコースをご希望の場合お二人で対応する場合もございます。

  

 キッズコース体験の詳しい内容はこちらでご確認ください

  

 


  

デキタ・ラボ 代表 とどちゃん(西尾茂和)

こどもプログラミング教室 すまいる・キッズ
パソコン教室 スマイル・カフェ
オーナー


大阪府柏原市出身
藤井寺市在住
大阪工業大学卒業


 

教室の方針:ほめて、認め、寄り添い、ねぎらい、勇気づける。

 

教室にやってくる子どもたちは、それぞれに個性豊かです。

  • ゲームが大好きな子
  • パソコンに興味津々な子
  • いつもドキドキしている子
  • 落ち着きがない子
  • 実験が大好きな子
  • ブロックが大好きな子

それぞれの子どもたちをしっかり観察し、得意なところを見つけて伸ばしていきます。
自分のことが大好きで、お母さんのことも大好きで、小さな成功体験を重ねながら、自分で考えて行動できる自信に満ちた子どもたちに成長してもらえるよう、サポートしています。
また、仲間の違いも認め、互いの良いところをほめて大切にできる子に育ってほしいと願っています。

 


私自身の体験から

子どもの頃の私は、いつもビクビクして自信がない、いわゆる「繊細さん」でした。少し大きくなっても、周りの人の「とんがった感情」に触れるだけで頭が真っ白になり、二人の口喧嘩を目にするだけでドキドキしてしまうほど。誰かが叱られているのを聞くだけでも、まるで自分が叱られているように感じて、世界が、回るような思いをするほどでした。

 


小学校のソフトボールチームでの練習中、ときどきやってくる「おっちゃん」がアドバイスという「ダメ出し」をしてくるのが本当に苦手でした。その人が近寄ってくるだけでドキドキしてしまい、エラーをするほどでした。



大学生になってからの自動車教習所でも、ダメ出しばかりする教官だとうまく運転できず、さらに「ダメ出し」をもらう悪循環に陥りました。どうしてうまく運転できないのかと自分を責めて、落ち込んでしまいました。
しかし、穏やかでほめるのが上手な教官のときは驚くほど上手に運転できました。小さなことをほめてもらうだけで心が落ち着き、うまくいくことに気づきました。

 



教室運営の経験

そんな子ども時代を経て、20年間のIT企業での経験を活かし、初心者向けのパソコン教室とこども向けのプログラミング教室を起業しました。これまで10年以上運営しています。自信がなくて前に進めない子を見て、まるで昔の自分のようだと感じます。

そんな子どもたちも、ほめることで小さな成功体験を積み重ね、どんどん成長していく姿をいくつも見てきました。


お母さんへ

こどもたちの成長には、お母さんの温かいサポートが欠かせません。こどもが自分を信じて前向きに挑戦できるように、ほめることや認めることがとても大切です。お母さんがお子さんにかける優しい言葉や、頑張ったことを認める姿勢が、こどもの自己肯定感を高め、自身につながり可能性を広げます。




【ミッション】

私たちは、子どもたちが自分自身を大好きになり、互いの違いを認め尊重し、得意なところを見つけて助け合いながら成長する姿を、あたたかく支えていきます。

 

【ビジョン】

子どもたちがそれぞれの特徴を活かし、お互いの得意を掛け合わせて、最高の成果を創り出す平和で明るい未来を目指しています。

 

【アクションルール(バリュー)】

  • 最初にいいところを見つけ、ほめる。
  • 存在を認める。
  • 寄り添い、応援し、勇気づける。
  • たくさんの「やってみよう」と「できた!」を引き出す。
  • 子どもが自立し、主体的に学べるように工夫する。
  • 目の前の人を大切に思う。
  • 自分のことを大好きになる。

【略歴】

高校時代に初めてパソコンに触れ、BASICでプログラミングに挑戦しました。大学卒業後はコンピュータプログラムを開発する会社に就職し、システム開発に携わりました。
その後、外資系や国内のソフトウェアメーカーで勤務し、技術スタッフとして100回以上のプレゼンテーションを行い、物事をわかりやすく伝える技術を磨きました。

2012年、パソコン教室「スマイル・カフェ」とこどもプログラミング教室「すまいる・キッズ」を設立しました。

2020年の秋にはダイエットに成功し、2023年には脳梗塞から完全復活しました。
こどもたちに寄り添い、良いところを見つけ、ほめて伸ばすことが私の使命だと感じています。

 

 

資格等

 

・第2種情報処理認定技術者