Scratchプログラミングチャレンジ開催レポート

2024/3/20(春分の日)Scratchプログラミングチャレンジを行いました。
『Scratchプログラミングチャレンジ』とは?
スクラッチを使用して制限時間内に与えられた条件(仕様)を基にゲーム作品を制作する競技プログラミングのイベントです。制限時間内に作品を完成させたら参加者同士で作品を試遊、参加者投票により魅力ある作品を決定します。
松戸市では、近年TeckKidsCAMPやCoderDojoといったプログラミング体験の場を支援しており、毎年プログラミングコンテストも開催し小中学生の子どもたちにプログラミング環境の拡張(学びの場、発表の場)を作って来ています。(松戸市のワークショップ&コンテスト案内はこちら)そして今回、次のステップとしてリアルタイムで参加者同士でのプログラミング技術を競い合う挑戦の場が出来たらいいなぁということからの開催することになりました。広報まつどにイベントの案内を掲載頂き、勇者7名の応募がありました。最年少は小学2年生で最年長は高校1年生という幅広い層の勇者たちです。初めての大会ということもあり運営側も少し手探り状態(笑)となりましたが、そんな様子も含めて当日の様子を報告をします。

■イベントスケジュールは次の通り

はじめての開催、時間通りに進行出来るか心配です

出来た作品の評価を各自で体験してみて評価するので参加者は多くても10名ぐらいが良いのでは思っていました。結果、約1時間ぐらいかけて作品を体験することが出来たので良かったと思います。また、想定通りでしたが、作品を作っている時間は参加者はモクモクと寡黙となり自習室のようになりました。

■テーマの発表とルール説明
さぁ今回作成するテーマですが「ドライブゲーム」です。ハンドル操作が出来て、走ると燃料が減って、障害物が出て来て、背景が動いて・・・とゲームを作成する上で必須の条件を盛り込んでいくことの説明がありました。

ルール説明をしているところ、みんな真剣に聞いています

■作品作成
一斉にプログラミングを開始します。普段コーダー道場だと今日は何作ろうかなぁ??とゆったりとした雰囲気で行っていますが、何だか、この日は緊張感いっぱいです。参加者の作成作業を見ていて気付いたことがいくつかあります。
・最初に何をするの?
 いきなり車のコスチームを描き始める人
 道路を描く人
 とりあえずキャラクターを動かしてみる人
・動かす視点
 道路を動かす(縦スクロール?横スクロール?)
 車を動かす人
 車に乗っているように見せるのか?俯瞰して迷路のように見せるのか?
改めて同じテーマなのに十人十色となっています。この時点で後半の体験会が楽しみになっていました。

モクモクと作品を作る勇者たち

彼は、白線を動かして縦スクロールっぽく見せています。車はとても簡素で左右に動く仕様です。当たると減点となる障害物や逆にプラスポイントとなる燃料キャラが上から下に動いていきます。プログラミングもシンプルで障害物と燃料はほぼ同じプログラミングで燃料がプラスかマイナスになるかの違いです。

早い時点から白線が動いていました!?

彼女は、横スクロールです。車がとても繊細に描かれています。フロントウィンドウにはガラスの反射が描かれています。燃料ゲージも燃料が減ると色のグラデーションで黄色からオレンジに変わります。

車のデザインがきれいですね!

彼は、迷路のようなステージを車が上下左右に動く仕様です。車の動きに合わせて背景がスクロールします。

最年少の彼は、ときどきメンターさんフォローがありましたが、今できること(彼の持っている知識)で必須の条件を追加しています。

彼は、キャラクターの位置と背景の位置の関係を変数を使って表現しているのでとてもなめらかな動きを表現しています。

彼は、背景をスプライトとして車が動いた距離に合わせて背景を移動させる横スクロール王道の仕様です。基本を理解していると応用が利くのが良いですよね。

彼の作品も横スクロールです。落ちてくるリンゴを取ると燃料がアップします。スペースキーで車がジャンプするのですが、ちゃんと加速度を考慮してジャンプしているように見えます。

大人の方で主催者側や道場のメンターさんも参加してもらいました。
主催者側で参加した感想ですが、必須の条件が多すぎて全部盛り込むのは難しい(笑)とのことでした。

■作品体験と投票結果
約1時間半ぐらいの作品作成時間はあっという間でした。保護者の方も参加して全員の作品を体験する時間です。体験をするにあたってのルールを設けました。

必ず何か付箋にコメントを記述する。コメント画像が撮れてないので残念ですが、自分とは違った新たな発見や体験して良かったところ、質問などが記載されてました。これからの作品作成の参考にもなるし、他の人のものを客観的に観る良いルールだったと感じました。

さて、投票の方法ですが、それぞれの作品を見て回り、一番良かった作品に青シール、2番目に良かった作品は赤シール、3番目の作品は緑シールを投票してもらい、色のシールの重みづけをして得点を集計するという手法にしました。投票は参加者だけでなく、見学に来てくれた大人の方々にも投票してもらいました。
優勝は縦スクールで車を左右の矢印キーで操作する作品です。仕様条件となっていたほとんどの機能が実装されており採点でもダントツの1位でした。2位作品はデザイン性が評価されたのでしょうか?横スクロールで車が上下の矢印キーで操作する作品です。

3位まで賞品を用意していましたが、まさかの3位が3人となりました。開始するまでテーマもわからない状況で、短時間でたくさんの条件を盛り込んで作成に取り組んでいる勇者を見て脱帽でしかありません。みんなに賞をあげたい思いでした。

■終わった後で
集合写真を撮って閉会となりましたが、外には珍しく虹がきれいに出てイベントを喜んでくれているようです。反省会では、今後に向けての意見もありました。
・条件が厳しかったかなぁ
・モクモクするだけでなくメンターのフォローがあっても良かったかなぁ
・各自の作品を説明する時間(アピールタイム)があっても良かったかなぁ
・付箋で作品をコメントするのは良かったなぁ
・次回は保護者や大人は見るだけでなく参加できるようにしたいなぁ・・・

次回も反省を踏まえて開催しようと思っています。開催を支援頂いた松戸市、コンテンツ事業者連絡協議会さま、機材を提供いただいたプログラミングカフェさまありがとうございました。
次回のテーマは何にしようかなぁ・・・?