現代の社会は、コンピュータが無くては一日たりとも生きていけないような複雑な社会システムが構築されています。
電気・水道・ガスといった生命に直結インフラや、交通、通信、金融、製造、運輸、医療、等々、もし一つでもシステムダウンすれば、社会全体が麻痺して住民はパニックになり、まとも生活は送れなくなります。
そんな社会システムを維持・管理・発展させていくためにはコンピュータを操れるプログラマーが必要で、そのための人材育成が課題になっています。
日本では2020年からプログラミング教育が小学校で必修化され学習指導要領に組み込まれています。また中学校でもプログラミング教育は義務化されています。
もちろん全員がプログラマーになる必要はありません。
街にパン屋が必要なように、プログラマーも必要だということです。w
マサチューセッツ工科大学といえばノーベル賞受賞者を多数輩出しているアメリカの名門校ですが、そのMITが共同開発を行っているプロジェクトで「Scratch」という教育プログラミング言語のサービスがあります。
システム業界に従事している端くれとして、将来の子供たちの育成に役立てばと思いプロジェクトに参加して一時活動を行っていました。今は距離を置いていますが、時々覗きには行っています。
私のサイトでは、子供たちに斬新な着眼点と刺激を与えるようなプロジェクトを提供しています。各プロジェクトはブラウザで直接実行できるので試してみてください。
https://scratch.mit.edu/users/Time_Tripper/
ここで使われているコンピュータ言語は小さな子供さんにもわかりやすいように、言語をブロックに置き換えて、それを組み合わせることでプログラムを作っていく仕組みになっています。
コンピュータの基礎を理解するには十分な環境だと思います。
このような取り組みは他にも色々と実施されていて、今では大きなビジネスになっています。
マイクロソフトでは「MakeCode」というプロジェクトが運営されています。
https://www.microsoft.com/ja-jp/makecode
こちらも「Scratch」と似たようなブロックを組み合わせてプログラムを作ることができます。
こちらの特徴として、ソフトウェアだけではなくハードウェアとの融合を強く意識して作られているようです。現実の世界ではハードをソフトで制御することは多いので、より実践的な感覚を身に着けられるかもしれません。
どのような学問でも、物事を学ぶためには動機づけが大切です。
「何をプログラムするか?」 ここ重要です。
コンピュータのプログラムとは、与えられたインプットから適切なアウトプットを得るための計算式ですが、単純に数学の計算式の答えを導くプログラムを作っても面白くありません。
インプットからのアウトプットがインタラクティブに反応があれば、より直感的に物事を理解できます。例えばキーボードのボタンがインプットだとすると、ボタンを押すとアウトプットとして音が鳴ったりすればわかりやすいわけです。
それをもう少し複雑にしていくと簡単なゲームを作ったりできます。
もし自分でゲームが作れたら、きっと喜びは倍増されるはずです。
簡単なゲームは子供たちに良い教材になるはずです。
またゲームは総合芸術作品ですから、プログラム技術以外にもデザインや音楽といった総合的な芸術センスも磨けて一石三鳥くらい得るものがあると思います。
今時の実写と見間違うようなゲームをプログラムするにはスーパーサイヤ人並みの技術と才能が必要ですが、一昔前のレトロゲームなら入門用にピッタリだと思います。
なので、このブログでは「PIC-8」や「TIC-80」のようなレトロゲームの開発環境も紹介してオススメしています。今回の環境を卒業したら是非こちらもチャレンジてみてください。
前置きが長くなりましたが、ここからが本題です。
今回紹介するのはマイクロソフトの「MakeCode」の環境を利用してオリジナルのゲーム機を作るという「夏休みの工作」にピッタリな提案です。
https://www.microsoft.com/ja-jp/makecode
上記のサイトのメニューから「Arcade」の「Arcade でプログラミングを始める」に進みます。
https://arcade.makecode.com/
こちらのサイトでデータを保存するためにはマイクロソフトのアカウントでサインインする必要があります。もしアカウントがない場合は先にアカウントの作成を行ってください。
サインインしなくてもお試しに使うことはできます。
参考になるゲームがいくつも公開されているので、そのコードを参考にオリジナルのゲームを作成できます。実行画面とプログラムコードを左右に見れる環境なので理解しやすいと思います。
最初はキャラクターを変えてみたり、動きをコントロールしている数値を変更してみたりするだけでも楽しいと思います。プログラムが理解できてきたら、オリジナルのコード書き足したり、例題のコードを参考にオリジナルゲームを作ってみてください。
初歩的なプログラムのチュートリアル的な解説も色々と用意されているので参考になると思います。 ただし英語のみです。
完成したプログラムは専用のゲーム機でも実行することができます。
例えば「GameGo」というゲーム機はゲームボーイのようなデザインになっています。
他にも色々な筐体がありますが、「GameGo」は日本語のサイトから購入が可能です。
完成したゲームをUSBケーブルでゲーム機に転送すればオリジナルゲーム機の完成です。
ただし、お届け予定が2021年09月となっているのでご注意ください。
夏休みの工作の提出期限には間に合わないかもしれませんね。w
その他のハード筐体もいくつかは日本でも購入可能なようです。
「Adafruit PyBadge」
https://www.switch-science.com/catalog/6230/
「Adafruit PyGamer」
https://www.marutsu.co.jp/pc/i/35057272/
「Kitronik ARCADE」
https://www.switch-science.com/catalog/5941/
肝心のプログラム部分の解説はスルーしましたが、JavaScript形式でも記載できるので応用範囲は広いと思います。面白い開発環境だと思います。
とりあえずブラウザ上で遊んでみて、気に入ったらゲーム筐体を購入してみてはと思います。
もちろんオコチャマだけなく、大人も楽しめる内容だと思います。
特にパソコン創成期にサンデープログラマーだった貴方にオススメです。w
実用性は乏しいですが、ガジェット的な面白さはあると思います。
レトロゲームでノスタルジックな世界に・・・
あの頃は、あなたも若かった。w
オススメ my Pick