micro:bitでビー玉コロコロゲームを作ろう

こんにちは! 宗村です。52回目の神楽坂プログラミング教室を開催しました。

タイトルは「micro:bitでビー玉コロコロゲームを作ろう!」です。

その名の通りステージ上のビー玉をコロコロ転がしてゴールを目指すゲームを作りました。 micro:bitの加速度センサーを使ってmicro:bitの傾きを調べ、その傾きに応じてステージをサーボモーターで動かして傾きを変えるという簡単な仕組みです。

センサーの角度情報をサーボモーターに指示する角度情報に変換するというのが、このゲームのプログラムを作るうえでのメインの学習ポイントですが、 相関関係が単純なのでセンサーの情報を加工して利用するという体験にはとても良い題材だと思います。

実はビー玉コロコロゲームは過去にも1度ワークショップでやっているのですが、前回行った時の反省点を生かしてゲーム機の再設計を行いました。

ワークショップは次のように進行しました。 まずは、サーボモーター1つを加速度センサーの値を元に動かす方法を考えてもらいます。 今回参加してくれた子はみんなサーボモーターの使い方はすでにバッチリだったので、いきなりちょっと難しい課題からスタート。

それがうまくいったら、次に可動範囲を制限する方法を考えてもらいます。

サーボモーター1つでここまで達成出来たら、ひとまずプログラミングはお休み。ゲーム機の組立に入ります。

部品を確認

ネジでしっかり固定

リベットでパチパチ固定

土台の組立は完成!

動く土台部分が組み立てられたら、先ほど作ったモーターを動かすプログラムを試してみます。無事に土台が動いたら、2個目のモーター用のプログラムを作り、X軸周りとY軸周りの2つの向きに動けるようにします。

いよいよ次はステージを作っていきます。ステージは2階建て構造になっていて、2階部分に落とし穴を作って1階に落とすようなことができます。 ステージの基礎ができたらゲームをデザインしてもらいます。 ルールはお任せにしましたが、やはりスタートからゴールを目指すという基本的なルールが人気でした。

こだわっている子はステージを作る前にサーボモーターの初期角度を調整して水平に近づけることに挑戦してくれていました。見事ビー玉が中央から動かないように水平にすることに成功!

ビー玉が動かないように!

迷路の構造をデザインしてから、ステージを加工していきます。

どんな迷路をつくろうかな

落とし穴をあけたり、迷路の壁を作ったり。

設計通りに作れるかな?

単純な落とし穴の他に、崖のように壁沿いに行けばクリアできる道や、天井を作ってビー玉がどこにいるかわからなくするなど、思い思いのアイディアを出してくれていました。

もうすぐ完成

ステージを難しくする代わりにプログラムを調整して操作性を向上させることにこだわる子や、ゲームバランスを考えて楽しいステージを考える子。 個性が出ていてとてもよかったです。はたから見ていて、設計図のルート・障害物の配置が絶妙でうまいなと感心してしまいました。 時間内には設計通りにすべてを組み立てることが間に合わない子もいましたが、最低限遊べるところまでは完成しましたので、最後はみんなが作ったゲームに挑戦して遊びます!

ゴールを目指してみんなでコロコロゲーム

難しいポイントを突破しようと何回も挑戦してみんなでとても盛り上がりました!楽しかったのでちょっと時間をあけてまたやりたいですね。その時には製品として販売中になっていることを目指します。

youtu.be

過去の神楽坂プログラミング教室についてはこちらです。