回転大砲ゲーム

CoderDojo戸田公園でニンジャがScratchで作った「回転大砲ゲーム」というのがありまして、ScratchLinkを使ってmicro:bitで操作する作品です。

これを、Unityで作ったらどうなるかを見てもらいたくて、Unity版を作りました。

WebGLビルドしたものを、こちらに置きました。クリックしてぜひ遊んでください。

micro:bitで操作するためには、Web Bluetooth APIを使用します。そのため、WindowsかMacで、ChromeかEdgeブラウザが必要です。

あらかじめmicro:bitには、こちらからダウンロードしたhexファイルを書き込んでください。
micro:bitの左右の傾きで大砲を左右に移動、前後の傾きで砲身を上下し、Bボタンで砲弾を発射します。

また、micro:bitはなくても、キーボードの矢印キーと’B’キーで同じように遊べます。


Scratchでは3Dゲームを作るのは大変ですが、Unityでしたら簡単(?)に3Dゲームが作れます。凝ったキャラクタや、派手なエフェクトはなくても、結構面白いものが作れるかなと思います。

このプロジェクトのソースファイルは、こちらにあります。
https://github.com/coderdojo-todakoen/SpinCannon

第19回開催レポート

2022年1月8日(土)、今年最初のCoderDojo 戸田公園を開催しました。今回で19回目となりました。
新型コロナウイルス感染拡大のニュースがまた聞こえてくるようになってきた中、5名のニンジャにご参加いただきました。

今回の作品発表は、この作品から。

「回転大砲ゲーム」(Unity版)

私、メンターのイトウも作品発表させていただきました。

少し前にニンジャが作った、「回転大砲ゲーム」というScratchの作品がありまして、ScratchLinkを使用して、回転する大砲をmicro:bitで操作する。というものだったのですが、これをUnityで作ってみたいとずっと思っていて、できました。

WebGL向けにビルドしたものをこちらに置きました。
micro:bitと接続するために、Web Bluetooth APIを使用します。PCで、ChromeやEdgeブラウザを使用すれば動作すると思いますが、micro:bitをお持ちの場合は、先にこちらのhexファイルをダウンロードして、micro:bitに書き込んでください。

その後、こちらのページを開いて、左下の[Connect]ボタンを押すと、Bluetoothデバイスの一覧に、micro:bitが現れるので、選択してください。
micro:bitを左右に傾けると大砲が左右に移動、前後に傾けると砲身を上下します。Bボタンで砲弾を発射します。

なおmicro:bitがなくても、キーボードの矢印キーと’B’キーでプレイできます。スコアも時間制限もないんですが、こんなものでUnityにも興味を持っていただけると嬉しいです。


ここからは、ニンジャのみんなの作品です。

最初は、micro:bitのLEDで、カタカナ表示に挑戦するニンジャです。micro:bitのLEDは5×5列ですが、全てのカタカナのパターンを作っているそうです。
今日の時間内で全ての文字に対応できませんでしたが、完成した文字をいくつか表示して見せてくれました。カタカタとはいえ見やすさを考えながら1つ1つブロックにパターンを打ち込んでいました。

「モ」

次のニンジャは、Scratchでオンラインゲームという意欲的な作品です。
スプライトが移動するたびに、スプライトの位置をクラウド変数に保存します。それを、別のPCのScratchで読み出して、スプライトの位置を設定することで、2台のスプライトの表示を同期します。Scratchでこんなことができるんだと、みんな関心していました。クラウド変数は、使ったことない人がほとんどかと思いますが、クラウド変数やスクラッチャーについてみんなに説明してくれました。

ちょっとわかりにくいかな…

次のニンジャは、前回作ったシーソーゲームを、ScratchLinkを使ってmicro:bitで操作できるようにバージョンアップしました。
最初はScratchLink用のhexファイルをmicro:bitに書き込むところで手こずっていたようでしたが、他のニンジャたちに教わりながら解決したようです。みんなありがとう。

ScratchLinkのブームがまだまだ続きそう

今回初めて参加してくれたニンジャは、Scratchで作ったアニメーションの作品を見せてくれました。キャラクタが動き回って派手なアクションで戦うアニメーションです。

こういう作品、みんな好きだよな。

最後は、micro:bitに接続する写真のようなLEDを持ってきたニンジャです。
点灯するLEDの位置をGoogleスプレッドシートでチェックして、1つずつONにしていたみたいです。micro:bitのLEDと違って、好きな色で表示できるそうで、今回は名前を表示して見せてくれましたが、まだまだいろんなことができそうですね。


今回、ニンジャ同士が効果音のダウンロードについて話していたんですが、利用規約まで気にしながらダウンロードしているみたいでした。今どきの小学生の常識なんでしょうか。みんなちょっと頼もしく思いました。

さて、今回もご参加ありがとうございました。
次回は、2月5日(土)の予定ですが、新型コロナウイルスの状況によっては、中止・延期の可能性があります。ご了承ください。

第18回開催レポート

第18回 CoderDojo 戸田公園を、12月4日(土)に開催しました。5名のニンジャにご参加いただきました。いつもありがとうございます。

先月撮影に失敗した、「Scratchではじめる機械学習」を参考に作ったプログラムの撮影をさせてもらいました。カメラで取り込んだ映像から、顔や手の場所を検出して、骨の絵を表示します。

カメラに近づいたり離れたり、大きく動いたりしても重ねた絵がついてきます。機械学習に興味を持ったり、利用してみる入り口が、Scratchというのはとても面白いと思いました。

さて、12月ということで、メンターのホカリさんが、光るものを色々持ってきてくれました。とりあえず動画を撮っといたので見てあげてください。

倍速で再生しています

そしてあっという間に恒例の作品発表の時間になりました。
どこのCoderDojoでもそうだと思いますが、戸田公園でもニンジャの皆さんの作品発表の時間をとても大事にしています。その日に作った作品をみんなで見せ合って、工夫した点やこれからどうしたいのかを話してもらったり、他のニンジャの感想やアドバイスを聞いたりします。作品は完成しなくても構いません。発表の途中で思ったように動かなかったりなどのトラブルもありますが、暖かい目で見守ってます。

普段は、そんな感じなんですが、今日は感想やアドバイスが過去最高と言っていいほど盛り上がりました。次回から、作品発表の時間を、3倍くらいに増やそうかと考えてしまいました。

まずは、シーソーゲーム(?)。シーソーの上に乗って、左右に動くボールをジャンプで避けるという、文字で説明すると単純なんですが、実際に見るとものすごく難易度の高い作品です。

見た目のシンプルさと、動きの面白さに、他のニンジャからアドバイスやらツッコミやらが続出しました。ボールはシーソーの上を移動した方がいい。とか、ジャンプしている間もシーソーが下がってしまうのがおかしい。とか。

こんな単純なプログラムだったことにびっくり

次は、歯磨き診断という謎な実用的プログラムです。虫歯の本数から歯磨き時間を教えてくれたり、完成すると歯磨き指導などもしてくれそうですね。さらにミニゲームもついています。まるで市販ソフトのようなクオリティを目指しています。

どうしてこれを作ろうと…?

micro:bitを使ってScratchを操作するネコ叩きゲームも登場しました。動画には映っていないのですが、ネコが色々なリンゴを持って出てきてスコアが違ったり、ゲームを進めると難易度が上がっていったりとよく考えられています。
とりあえずmicro:bitを接続してみた。というレベルを超えかなり完成されていました。

micro:bitでハンマーを操作します

Pythonでスクレイピングをするプログラムを披露してくれたニンジャもいました。「スクレイピング」という技術を使うと、例えばこのCoderDojo 戸田公園のサイトから、開催レポートのページの一覧だけを取り出して、別のところに表示したりすることができます。Pythonだけでなく、HTTPやHTMLまで色々な知識が必要ですね。

Webページの内容が、画面に表示されています

最後に、今日初めてCoderDojo 戸田公園に参加してくれた小学1年生です。簡単なブロックは使ったことがあったみたいですが、初学者向けの本を見て、ハエ叩きゲームに取り組んでいました。小学1年生くらいですと、本を読みながら自分ですすめるのがまだ難しいところもあるようでした。もうちょっとサポートしてあげられるように考えますので、また遊びに来てください。

ハエじゃなくてちょう?かな

作品発表では、やったことをしっかり説明してくれました。そして先輩ニンジャたちが容赦なくアドバイスをしていたのがよかったです。


緊急事態宣言やまん延防止等重点措置の影響で、2021年は5回しか開催できませんでしたが、ご参加ありがとうございました。

次回は、1月8日(土)の開催を予定しています。

第17回開催レポート

第17回CoderDojo 戸田公園を、11月6日(土)に開催しました。4名のニンジャと保護者、2名のメンターでおこないました。

ある保護者の方から、「ほかのニンジャのお子さんたちがどんなパソコンを使っているのか知りたい」というお話がありまして、ニンジャの自己紹介で、自分のパソコンの紹介もしてもらいました。

今回、参加してくれたニンジャは6年生、5年生、4年生2人で、すっかり常連さんなのでプログラミングも得意ですが、パソコンにも詳しいです。
だいたいみなさんCore i7のWindows 10の15インチくらいのノートパソコンをお持ちで、Windows11へのアップグレードにまで話が広がっていました。

あまり詳しく聞いたわけではないのですが、おうちの方と共用の方もいるでしょうし、自分専用で使っている方もいるようで、金額的には12〜15万くらいになるようです。

なぜこんな話題になったかというと、前出の保護者の方、CoderDojoの時はお父さんのパソコンを貸して使わせるようにしているのですが、持たせた方が良いかどうかをお考えのようでした。
確かに子どもに持たせるものとしては、かなり高価なものだと思います。
今は学校の授業や宿題でもパソコンが必要な時があるかと思いますが、学校で使うものはかなり性能が低いものだとも聞いています。(批判する気はありませんが、入札なんかで選ぶんだから当然かと思いますが)

一方で、CoderDojoに来てくれるお子さんたちは、AIに興味があったり、3Dゲームに興味があったり、パワーポイントでプレゼン資料を作成したり、動画制作に興味があったり、ともかく性能を求めがちです。
親としては、こうした才能を伸ばしてやりたい気持ちもあり、結局はそれぞれの家庭の問題ではあるのですが、学校や量販店以外でこういったことを相談できる場所になれるといいなと思いながらも、なかなか答えが出しにくい質問だなぁとあらためて思ってしまいました。


前置きがとっても長くなってしまいました。
今回も、発表していただいた作品を紹介します。

最初は、「会社を経営するゲーム」だそうです。

現金が10,000,000!?預貯金も含んでの金額かな?

商品を作って、販売して、売り上げが上がったら、新商品を開発してまた販売して、現金を稼いでいくようです。途中、賞をとったり、盗難にあったりといったイベントも発生します。ゲームというかシミュレーションというべきなのかな。それにしてはちょっと経費が低く見積もられすぎていないかい?

続いては、今回も、micro:bitとScratchを連携した作品が登場しました。

micro:bitを傾けると、Scratch上でペンが移動してお絵描きができます。ペイントソフトのように、ペンの色や太さも変更できるように作ってあります。
こちらに作品を共有していただきました。

それから、以前にGoogleから寄贈されたScratchを使った機械学習の本を参考に作ったプログラムを見せてくれたニンジャもいました。ここで残念なことに、今月も動画の撮影に失敗してしまいました。とても動きが楽しいプログラムだったのに申し訳ないです。次回来たときちゃんと動画を撮りますので、もう1度見せてください。今度は失敗しないので。

とりあえず、こんな写真でゴメンナサイ。

カメラで撮影した人間の顔・手・体の動きに合わせて、ガイコツの絵が動く作品です。

最後は(やはり写真だけですが)、敵の巨大(ボス?)キャラを避けながら、Scratchキャットが坂を下ったり、登ったりするゲームです。

上の方から敵キャラが降りてくるところ…

坂道の登る部分の動きにとても苦労していたようですが、しっかり完成させて見せてくれました。
狙った動きなのかわかりませんが、下るときは大股で早く、登るときは歩幅も小さくなって、コミカルですがリアルな動きに見えました。次はしっかり動画撮ります


今回も力作揃いで楽しい作品を見せていただきました。ご参加ありがとうございました。
来月は、今年最後となりますが、12月4日(土)を予定しています。よろしくお願いします。

第16回開催レポート

緊急事態宣言が解除されましたので、久しぶりのCoderDojo 戸田公園を10月9日(土)に開催しました。4名のニンジャに参加していただきました。

会話少なめで静かに粛粛と進みました。考えてみると、毎回いつもそうなんですが、ニンジャのみんなは自分のやることがわかっていて、自分で問題を解決してしまうのか、メンターといっても、質問されたり、何かを指示したりということはありません。

メンターは2時間の間、3Dプリンタの出力をただ眺めていただけの気がします。

サンプルデータ出力中…

勢いで手に入れた3Dプリンタですが、サンプルデータを出力してみました。そのうち何か面白いことができればいいのですが。

いつものように最後には、ニンジャのみんなの作品を発表してもらいましたが、残念なことに撮影がうまくできていませんでした。写真が数枚撮れただけで動画がうまく保存されていませんでした。申し訳ない。(決して3Dプリンタに気を取られていたわけではありませんが…)

最初は、Scratchの作品で、RPG風に背景がスクロールして、キャラクターが移動するやつです。

作品ページに、詳しい説明が書いてありますね。是非見てください。

次は、micro:bitを使用してScratchを操作する作品です。micro:bitの傾きで大砲を移動して、Aボタンで攻撃します。

micro:bitでScratchを操作します

作品ページはこちらです。

他には、巨大な鉛筆に襲われてどんどん逃げ場がなくなっていくゲーム(?)や、マリオ風なアクションゲーム(?)を見せてくれたニンジャもいました。

重力の話でニンジャたち盛りあがりました。すご。

ほかのニンジャの作品を見て、感想やアイデアを言ってもらっているうちに終了時間を過ぎてしまいました。みんなゲームが好きなんだなぁと思いながらも、それぞれタイプの違うゲームになっていて、おもしろかったです。

3Dプリンタの話の流れから、UVレジンを使って作った自作のキートップを見せてくれたニンジャがいました。知りませんでした。初めて見ました。ちょっと羨ましいけど、macbookにもつけられるかな?

羨ましい…

久しぶりで急な開催となりましたが、ご参加ありがとうございました。次回は、11月6日(土)の予定です。

第15回開催レポート

7月3日(土)に、第15回CoderDojo 戸田公園を開催しました。
3名のニンジャにご参加いただきました。

Googleから寄贈された書籍が、CoderDojo 戸田公園にも届きました。夏休みが近いので、今日参加してくれたニンジャのみんなには、1冊ずつ差し上げました。夏休みにぜひ取り組んでみてください。

作品ができたら次に参加するときに見せてください

Googleさん、ありがとうございました。


3ヶ月ぶりの開催となりました。その間に作った作品を是非みて欲しい。と作品を用意してきたメンターの作品紹介から始まりました。

まずは、micro:bitのロボットカーに、ペンを持たせてお絵描き。

かなり正確な動きです
見えにくいですが、ガンバレ日本

マーカーでホワイトボードに書いた線の上をライントレース。

この動画では面白さが伝わらないなぁ…

作品制作中は、会話もなくいつもより静かに進んだ気がします。いつも参加してくれるニンジャばかりなので、みんなやることがよくわかっている様子で感心しました。
そして最後にいつものように、ニンジャのみんなが作った作品を発表してもらいましたので、紹介します。

まずはScratchで、「ハエたたき」ならぬ「ハトたたき」ゲームです。
キャラクターを増やしたり、ステージを追加したり、色々なアイデアで発展していくともっと楽しめると思いました。

コウモリも出た!

次はScratchで作ったリアルで実用的なタイマーです。本物のタイマーみたいに動きます。
数字の上下にある、時間を設定するボタンで設定時刻を増減しますが、ボタンを長押しすると早く変化したりとてもよくできています。実際に操作してみてください。

ニンジャ自身のリクエストで作品へのリンクを掲載してくれとのことなので、リンクはこちらです。

最後は、micro:bitのロボットカーです。2つめのmicro:bitをリモコンにしてロボットカーを操作して見せてくれました。

送信側と受信側両方のプログラムが必要ですね

直前の開催予告にもかかわらずご参加ありがとうございました。

次回のCoderDojo 戸田公園は8月7日(土)の予定です。
状況によって中止・変更となる可能性がありますので、ご了承ください。

動画編集の際に、次のサイトのフリー素材を使わせていただきました。
TELOPICT.com

第14回開催レポート

今年最初の CoderDojo 戸田公園を4月3日(土)に開催しました。
4名のニンジャに参加いただきました。ありがとうございます。
しばらく会わないうちに、みんな学年が1つあがりました。

CoderDojo 戸田公園がお休みの間、一番頑張ったのはメンターのホカリさんでした。今日も色々準備してきたので紹介します?
まずは、1つのリモコンで複数台の車を動かします。普通は、車が変わると拡張機能が違うので、車ごとに別々のプログラムをmicro:bitへ書き込みますが、拡張機能を書き換えて1つのプログラムで全ての車に使えるように頑張ったそうですよ。

回る回る

Line Trackingもできます。

スピードまでは同じにならないか…


大きな時計。文字の色や明るさも変えられます。

写真だと見にくいかも

車にカメラをつけたやつ。スマホやPCの画面でカメラの映像をモニタできます。

micro:bitに興味のある方・micro:bit大好きな方・micro:bitで遊びたい方・micro:bitの作品自慢をしたい方は、戸田公園までぜひお越しください。


続いてニンジャのみなさんの作品を紹介します。

今日は、みんなが経験者でやりたいことが決まっていたためか、黙々と作業していた感じでした。

まずは、Scratchでなぜかシーリングファン(?)です。作品を共有したので、開催レポートのページに貼り付けてくれとニンジャ自身からリクエストがありました。見えてますか?見えたら動かしてみてください。
回転の速さや方向を変えたときの様子がなんだかリアルで面白いです。

次のScratchの作品は、ペンを使って模様を描く作品です。簡単なブロックで綺麗な模様が描けるのでみんなビックリしていました。

微妙な違いで模様が変化するそうです

そしてScratchでAIを使った作品が登場しました。TECH PARKというところにあるScratchと拡張ブロックを使い、指の向きでキャラクタを操作する作品を見せてくれました。

見えにくくてすみません

最後は、Pythonの作品。迷路を作って、作った迷路内でキャラクタを操作するゲームです。Pythonニンジャは初登場ですね。今までScratchが多かったように思いますが、Pythonに目覚めたようです。まだ5年生になったばかり。今後どんどんすごいゲームになっていくことでしょう。

キー操作で移動。経過時間も表示します。

今回も、ご参加ありがとうございました。

次回のCoderDojo 戸田公園は5月1日(土)の予定です。
状況によって中止・変更となる可能性がありますので、ご了承ください。

Unityでスノードームを作りたい

クリスマスなので、Unityを使ってスノードームっぽいものを作りました。

こんな感じ?

ブラウザでこちらのURLを開くと、運がよければ見ることができます。(スマートフォンでは見られないものもあるようです)
https://coderdojo-todakoen.github.io/SnowGlobe/

Unityで、透明なSphere(球)を作って、Particle Systemで中に雪を降らせれば、完成。とはなりませんでしたが、それっぽいものはできました。

3Dモデリングをするソフトが使えれば、飾りなどを作って中に置くことができるのですが、残念ながら使えませんのでできません。UnityのTree作成ツールを使ってクリスマスツリーのような木を置いてみました。

左右矢印で視点を回転します

このプロジェクトのソースファイルは、こちらにあります。
https://github.com/coderdojo-todakoen/SnowGlobe

Unity WebGL + micro:bit でカーレース

Unityでカーレースを作りました。

WebGLなのでブラウザで動きます。

Unityとmicro:bitをBluetoothで接続してみるプログラムは、micro:bitの加速度計の値を取得micro:bitで操作する迷路を作りましたが、プラットフォーム毎のビルドが必要なものでした。

Web Bluetooth APIを使用して、WebGL向けに作ると、ChromeやEdgeで動作するので、Windows PCでもMacでも動くということで挑戦してみました。

Wheel Colliderを使って車を動かすでは、キー操作で車を動かしていましたが、これをmicro:bitのボタンと左右の傾きで操作するように改造しました。

しかも2つのmicro:bitを使って、2人で対戦(?)ができます。

2つのmicro:bitで、左右の車をそれぞれ操作できます。

このプロジェクトのソースファイルは、こちらにあります。
https://github.com/coderdojo-todakoen/MicroKart

micro:bitへ、上のリンク先ページのmicrobitフォルダにある、hexファイルを書き込んでから、Web Bluetooth APIに対応したブラウザで、https://coderdojo-todakoen.github.io/MicroKart/へアクセスすると、動作するはずです。

遊び方は、上記リンク先githubのREADMEの操作説明をみてください。

第13回開催レポート

12月5日(土)に、第13回 CoderDojo 戸田公園を開催しました。
4名のニンジャにご参加いただきました。ありがとうございました。

12月ですが、特にクリスマスなどとは関係なく、いつも通りにmicro:bit成分高めのCoderDojo戸田公園となりました。
最初にメンターのホカリさんから、micro:bit v2の新機能(マイクやスピーカ)のデモを見せていただきました。

声の大きさに応じて、LEDが点滅します

再開以降、窓をあけ換気をおこないながら開催していますが、外は小雨が降り、12月ということもありさすがに寒かったです。ニンジャは元気いっぱいですが、保護者やメンターには苦行となったかもしれません。
そして再開以降は、テーブルの間隔を空けているため、何となく親子並んで座る形になっているのですが、親子で相談しながら作業する姿が多く見られました。普段家でも家族でプログラミングを楽しんでいるのだろうと思います。

そして発表タイムでは、

Scratchの超大作RPG、1年越しの作品が完成。CoderDojo戸田公園のスタジオに追加してくれました。

容量の都合でエンディングしかお見せできず

スマホでmicro:bitのロボットカーを操作したり、ライントレースさせたり。

毎回登場のライントレース。すっかりおなじみ。

そして、最後はmicro:bitで時間を計測。micro:bitの前をロボットカーが通過した瞬間に計測を開始して、1周するのにかかった時間を表示します。micro:bitのセンサーで「明るさ」を調べているんだそうです。

懐中電灯と紙コップはこのためだったか…

今回も力作揃いで、とても楽しくあっという間の2時間でした。

次回の開催は、1月9日(土)の予定です。次回もよろしくお願いします。