プログラミング部の活動で何をやると良いか?Scratch でできること・できないことから考える
中学校のプログラミング部の活動を支援するにあたって、現役の Web エンジニアの目線から部活の活動内容を提案するための資料です。
Scratch のその先へ。できること、できないことから広がるプログラミングの世界

中学校のプログラミング部には、「Scratch を使ったことがある」「ゲームを作ったことがある」という経験のある生徒もいると思います。
すでに「動かす楽しさ」「作品を作るおもしろさ」を知っているみなさんにとって、Scratch はもう“入り口”ではなく、“スタートライン”に立った状態です。
この先、もっと自由に、自分のアイデアを形にするためには何が必要なのか。Scratch で「できること」「できないこと」を整理しながら、そこからどんな方向に進めるかを紹介していきます。
Scratch でできること(もうできるようになったこと)
- 変数や条件分岐、ループなど基本的なプログラミング構造の理解
- イベント駆動型の操作(例:スペースキーでジャンプ)
- キャラクターを動かす、背景を切り替えるなどのビジュアル演出
- 得点、タイマー、ライフなどのゲーム要素の管理
- micro:bit やカメラ・音声入力など一部のハードウェア連携
- 完成作品の公開(Scratch の Web 上)
ここまでは経験したことのある生徒もいると思います。
でも Scratch ではどうしても限界も出てきます。
Scratch では難しいこと(もっとやりたくなること)
本物っぽい Web ページを作りたい

Scratch ではキャラクターを動かしたり、画面の見た目を変えたりできますが、「ホームページみたいなデザイン」はちょっと苦手です。
メニューをつけたり、写真を並べたり、スマホでも見やすくしたりといったことをするには、HTML や CSSといった言語を学ぶ必要があります。
こうした言語を使うことで、学校紹介のページや作品発表用のポートフォリオなど、本格的な Web サイトが作れるようになります。
スマホで動くアプリを作ってみたい

Scratch で作ったゲームや作品は、パソコンではうまく動きますが、スマホでは操作が難しかったり、うまく表示されなかったりすることがあります。
「スマホでもちゃんと使えるアプリ」を作りたいなら、Flutter や Kotlin、Swiftといったスマホアプリ専用の開発ツールを使う必要があります。
これらを使えば、スマホならではの動きや通知、タッチ操作なども思いのままです。
スコアやデータを保存してあとで使いたい

ゲームで「ハイスコアを残したい」「ユーザーの名前を保存したい」と思ったことはありませんか?
Scratch では、一度閉じるとデータが消えてしまいます。(クラウド変数というてはありますが)
こうしたデータを保存したり、あとで読み込んだりするには、データベースという仕組みが必要です。
中学生でも使えるサービスとしては、FirebaseやSupabaseなどがあります。難しそうに見えるけれど、慣れてくるととても便利な技術です。
アニメーションや動きをもっと自由に表現したい

Scratch の動きはシンプルでわかりやすい反面、「もっとぬるっと動かしたい」「音とタイミングをぴったり合わせたい」といった細かい調整は苦手です。
そういうときは、JavaScriptという言語を使って、コードでアニメーションを作る方法があります。
とくにp5.jsやThree.jsというライブラリを使うと、音や映像、インタラクションを自由にコントロールできるようになります。
3D やリアルな動きを取り入れたゲームを作りたい

Scratch は基本的に 2D の世界です。2D だけでも楽しいゲームは作れますが、「立体のキャラを動かしたい」「重力やぶつかり方をもっとリアルにしたい」と思ったら、ゲームエンジンの出番です。
たとえばUnityやGodotというツールを使えば、3D 空間でキャラを動かしたり、ライトやカメラを使った演出もできるようになります。
プロのゲーム開発でも使われている道具なので、本格的に学べば世界がぐっと広がります。
Scratch の次に広がる 4 つのルート
Web 制作(HTML / CSS / JavaScript)
- 学校や部活の紹介サイト、作品発表用ポートフォリオなどを作れる
- 見た目のデザインから動きまで全部コントロールできる
- Web アプリケーションやフロントエンドの第一歩になる
モバイルアプリ開発(Flutter, Kotlin, Swift)
- 実際にスマホで使えるアプリを自分で作れる
- ボタンや通知など、スマホらしい操作も自由に設計できる
- 「Scratch では動かせない」環境での開発力が身につく
ゲームエンジン(Unity, Godot)
- 2D/3D ゲームを本格的に作れる(マップ、BGM、敵 AI など)
- 物理演算やライト、カメラ制御も可能
- プロが使っているツールで、より自由で大きな世界を作れる
データ・バックエンド(SQL, Firebase, Supabase)
- スコアやユーザー情報を保存し、読み込むことができる
- 「みんなで使うアプリ」や「ランキング機能」が作れる
- フルスタック開発への第一歩になる
プログラミング部のこれから
プログラミング部では、Scratch で作る楽しさを引き続き味わいつつも、それぞれの「やりたい」に応じて小さなステップアップを試していければ良いと思っています。
- Web ページを 1 枚作ってみる
- JavaScript でちょっとしたアニメーションを描いてみる
- Unity で 2D のマップを表示してみる
- Supabase にデータを保存してみる
最初は小さな挑戦でも、それが「もっと作ってみたい」「もっと知りたい」につながります。
これからの活動の中で、「Scratch の次に進みたい」人たちが、それぞれの道を見つけていけるようなサポートをしていきます。
話を聞いてみて興味があることが見つかったら、ぜひ近くのサポートしてくれる人たちに聞いてみましょう。きっと応援してくれるはずです。
これからの部活動での活躍を期待しています!
Discussion