BLOG
ブログ

2025.01.20 / Monday

RobloxとAIを駆使して未来のゲームクリエイターに!【特別講座 第2回レポート】

AI・情報を学ぼう!

スタープログラミングスクール運営本部

ブログトップ

AI・情報 プログラミングコースで学ぶ最先端の3Dゲーム開発

スタープログラミングスクールが提供する特別講座【Robloxゲーム開発講座 基本編】。AI・情報プログラミングコース受講生のほぼ全員が参加する人気講座です。

前回の第1回では、Roblox Studioの基本操作からさまざまなアクションゲームでも使われる「振り子」のパーツづくりに挑戦しました。第2回では、本講座のメインテーマでもある「AIを使ったプログラミングの基礎」を学んでいきます。
※本講座はZoomを利用したオンライン型のレッスンです。

第2回のテーマは「AIを使ったプログラミング」

1.ビジュアルプログラミング、コードプログラミング、AIを使ったプログラミングとは?

ビジュアルプログラミングは、ブロックやアイコンを使ってプログラムを作る方法です。パズルのピースを組み合わせるような感覚で、例えばScratchやBlocklyなどを使います。子どもや初心者が最初に触れるプログラミングの形として、直感的で理解しやすくエラーも起こりにくいため、楽しく学べます。

一方、コードプログラミングは、文字や記号を使ってコンピュータに指示を出す方法です。これは、例えばPythonやJavaScriptなどの言語で行います。Robloxも「Lua(ルア)」という言語で開発が行われています。

コードを書くことで、自分の思い描いた通りにプログラムを作ることができ、ビジュアルプログラミングではできない細かい操作や、複雑なプログラムも可能です。

また、実際のソフトウェア開発やウェブサイト作成に使われるのがコードプログラミングです。将来、プログラミングを仕事にしたい場合や、高度なプログラムを作りたいときには必須のスキルです。

しかし、初心者には難しくコード型のプログラミングの挫折率はなんと87.5%といわれています。そこで、本講座では生成AIを活用することでコード制作のハードルを大きく下げながらも、自由度の高いプログラミングを学べるようにしています。

生成AIを使ったプログラミングでは…

  •  【作成】代わりにプログラムを書いてくれる
  •  【説明】プログラムを見せると 何をしているか教えてくれる
  •  【修正】エラープログラムを見せると 代わりに直してくれる

このようにとても便利な生成AIですが、今回の授業では講師が事前に生成AIで作ったプログラムを活用しました。

受講生1人1人が個々で生成AIを利用すると、最初は適切なプロンプト(指示文)で伝えることが難しいため、必要以上に複雑なプログラムが生成されたり、エラーを含むプログラムが作られたりすることがあります。また、生成AIからの回答が都度変わってしまうことも、授業で使うのが難しい理由です。
※文部科学省から「13歳未満は生成AIは使うべきでない」と指針が出されていることを受講生に伝え、使用する際の注意点についても解説しています。

まずは、楽しくコードプログラミングに取り組み、追って意味を理解してもらうことで、挫折しにくい仕組みにしています。

2.Robloxで使われる「Lua言語」

Lua言語とは?

  • 簡単で軽い: Luaはとてもシンプルで、学びやすい言語です。プログラムが動くために必要な「重さ」が少ないので、例えばゲームの中で他のプログラムと一緒に動かすのにぴったりです。
  • 拡張性が高い: Luaは、他のシステムに組み込んで使うことが得意です。例えばゲームでは、アイテムの動きやキャラクターの行動をLuaで制御することがあります。
  • スクリプト言語である: Luaは「スクリプト言語」といって、コンピュータがその場で解釈して実行する言語です。プログラムを書いてすぐに動かすことができます。

Luaの特徴

  • 読み書きが簡単: Luaの文法は人間にとって直感的で、英語のような読み方ができます。例えば、「x = 10」なら「xに10を代入する」となります。
  • テーブルが使える: Luaでは「テーブル」というデータ構造が使えます。これはリストや辞書のようなもので、データを整理したり、グループ化したりするのに便利です。
  • ゲーム開発に適している: 特にゲームでは、キャラクターの挙動やイベントのトリガーなど、変更が頻繁に起こる部分をLuaで書くことが多いです。ゲームエンジンの「Roblox」や「World of Warcraft」の一部もLuaで書かれています。

Luaの関数が強力で便利

  • 使い回しが簡単:Luaの関数は、一度作れば何度でも使える「便利な道具」のようなものです。例えば、「足し算をする道具」を作ったら、どこでも同じように使えるので、同じ作業を何度も行わずに済みます。
  • 小さな道具を組み合わせて大きなことができる:小さな「道具」(関数)をたくさん作って、それらを組み合わせることで複雑なことも簡単に実現できます。例えば、家を建てるときに木材や釘などの基本パーツを使うのと同じようなイメージです。
  • 柔軟にカスタマイズできる:Luaでは、作った道具(関数)を簡単に改造して、自分のやりたいことにぴったり合う形に変えることができます。

子どもたちにとってのメリット

      • プログラミングの基本を学べる: Luaを使って、変数、ループ、条件分岐などの基本的なプログラミング概念を楽しく学ぶことができます。
      • 仲間を増やせる、プロジェクトに参加できる: Luaは実際のゲーム開発現場でも使われているので、興味を持てば、自分で作ったゲームを友達に見せたり、プロジェクトに参加したりすることができます。

3. 実践!Robloxで実現する「消えるブロック」と「ダメージブロック」

まず、受講生にはシンプルなブロックを作ってもらいました。もちろん、そのままでは何も変化はおきません。ブロックに生成AIで作成したスクリプトをブロックに書き込むことで今まで動きのなかったブロックがあっという間に消えたり!、現れたり!と動き出しました。

スクリプトを確認して、値を変更することで表示間隔も簡単に変えることができます。さらにブロックにキャラクターを乗せることで、当たり判定についても説明。

受講生も各々で、プログラミングに挑戦!先生がやっていると簡単そうに見えたことも、いざ自分でやってみると苦戦している様子。出来た人はZoomで「挙手」してねと声をかけるもなかなか手が挙がりません。

そこで、先生が一人一人に声をかけて、画面を見せてもらいながら修正することろを丁寧に説明。すると「先生、出来たー!」と喜ぶ声。一方で、Zoomの音声では「先生、わかりません…」と助けを求める声も。すぐに、別の受講生に画面を共有しながらサポートして、こちらも解決。別の受講生からは「出来ましたー」の声。オンラインでもライブレッスンならではの盛り上がりです。

続けてダメージブロックを作って、人型キャラクターが持つ仕組みについて解説。コードで書かれたスクリプトをビジュアルプログラミングのScratchに置き換えて、受講生たちが理解しやすく説明します。もちろん、説明を聞いたあとはみんな各々でプログラミング開始。Scratchでプログラミングの基本を学んできた彼らだからこそ、難しい作業もスムーズに進められます。

さらに、前回作った「振り子」をブンブンと降りまわす動きを作ったりと、さまざまなプログラムにも挑戦。レッスンの最後には、生成AIで受講生に「作りたいプログラムをリクエストしてもらえるフォーム」を紹介。これを使えばオリジナルステージづくりにも活用できます。

今回も充実した学びで、90分のレッスンもあっという間に終了時間に。時間内で解決できなかったことは、テクニカルアドバイザーに相談出来るしくみもあるということで、受講生もわからないを残さずに次の回に進めるようになっています。

4. 次回予告!「GUIとゲームの仕上げ」

第3回はゲームのルール作りや演出を入れて、ゲームの仕上げまでに取り組みます。さらに第4回では、これまで学んだ基本の内容を元にオリジナルゲームの企画回、さらに制作期間を挟んで、第5回の発表会へと続きます。次回のレッスンもお楽しみに!

Robloxで遊ぼう!女子参加率が4割!小学生・中学生向けプログラミング体験レッスンの開催レポート >

いまだけ入会金無料!2月9日(日)まで
いまだけ入会金無料!2月9日(日)まで

< 前月へ 2025年1月  
S M T W T F S
 1234
567891011
12131415161718
19202122232425
262728293031  

教室ごとに見る

いまだけ入会金無料!2月9日(日)まで
いまだけ入会金無料!2月9日(日)まで

体験レッスンは無料です。
まずはお気軽にお越しください

無料体験レッスンを
申し込む