目次
今回は、アナログな触感とデジタルな演出が融合したシューティングゲーム『MECH HUNTER』をご紹介します。
改造した中華製のカモのおもちゃに、100均で買った銃でスポンジの弾を撃ち込むと謎の叫び声をあげて点滅!同時に、画面のスコアが加算されていきます。
https://drive.google.com/file/d/1MmjX-luXYaRF2Ye7ez1BDViI5zFUfoWY/view?usp=sharing
調べたら、「打到了呀 (Dǎ dàole ya)」はHit itという意味らしいです!ちょっとクセになるイントネーションですね笑
このゲーム、どうなってるの?
『MECH HUNTER』は、単なるPCゲームではありません。
- おもちゃの銃で、物理的なカモ型ターゲット(カモロボ)に弾を撃ち込む。
- 弾が命中すると、「カモロボ」に内蔵されたセンサーが反応。
- その情報がPCに送られ、レトロなグラフィックのゲーム画面でスコアが加算されたり、派手な演出が表示されたりする。
このように、現実の遊びと画面の中のゲームがリアルタイムに連携して動作します。友達とスコアを競い合えば、盛り上がります!
そして、このゲームの一番の魅力は「自分で作れる」という点にあります。その秘密は、このゲームの「設計の考え方」に隠されているので、ご紹介していきたいと思います。
※ここから先は、より踏み込んだ内容を知りたい方向けの解説になります。
「作る」を学ぶための設計思想
『MECH HUNTER』は、私たちが開発している学習用ゲームプロジェクト「MMP (Multi-purpose Modular Platform)」で作られたゲームです。このプロジェクトの最大の目的は、「保守しやすく、拡張しやすい、賢いプログラムの作り方」を学ぶことにあります。
プログラムの構造をいきなり見ても、難しく感じるかもしれません。そこで、テレビ番組に例えてみましょう。
- 司会者 = コントローラ
- 全体の進行を管理し、適切なタイミングで指示を出します。
- 出演者 / 演出 = オブジェクト
- ゲームに登場する「カモ」がこれにあたります。実は、「場面」もオブジェクトです。
- 番組の台本 = プロセス
- 「更新」「命中」「描画」といった、ゲームの各場面での処理の流れです。
- セリフやアクション = 機能
- 「タイマーを1つ減らす」「得点を表示する」といった、具体的な仕事内容です。
- 指示そのもの = アクションメソッド
- 機能を実行するための、プログラム上の具体的な命令(関数)です。
コントローラは、ゲーム全体の進行を司る「司会者」です。今がどの場面かを見ながら、各オブジェクト(出演者)に「こういう機能を実行しなさい」と指示(アクション)を出していきます。
例えば、ゲームが始まると、コントローラは以下のような指示を出していきます。
- タイトル画面では…
- 【場面】に指示 → 「タイトル画面を表示して、プレイヤーがキーを押すのを待ってね」
- プレイが始まったら…
- 【場面】に指示 → 「タイマーを減らし始めて、画面に表示してね」
- 【カモ】に指示 → 「もし弾が当たったら、スコアを増やして、当たった演出をしてね」
- タイムアップしたら…
- 【場面】に指示 → 「"TIME UP"と表示して、しばらくしたらタイトル画面に戻ってね」
このように、誰が、いつ、何をすべきかが明確に分かれているため、プログラム全体の見通しが非常に良くなります。このような構造をMVCモデルと呼び、近代的なソフトウェア開発で広く使われている手法の一つです。
コンポジットクラス方式
MMPの設計は、もう一歩踏み込んでいます。各オブジェクト(出演者)は、さらに小さな機能部品(要素クラス)に分かれています。
図のように、「カモ」というオブジェクトは、「更新」「命中」「描画」という、より専門的な役割を持つ要素クラスで構成されています。 「出演者」が、実は「トーク担当」「アクション担当」「見た目担当」の専門家チームで構成されている、と考えると分かりやすいかもしれません。
これにより、「カモがヒットしたときの演出だけ変えたい」と思ったら、描画の要素クラスだけを修正すればよく、他のロジックに影響を与える心配がありません。これが、MMPが改造しやすく、学習に適している大きな理由です。
ハードウェア連携の心臓部「MMPボード」
そして、現実の「カモロボ」とPCゲームを繋ぐのが、このプロジェクトの核となる自作コントローラーボード「MMP」です。
このボードが「カモロボ」に内蔵されたLEDセンサーからの当たり判定をアナログ入力で受け取り、PCに送信しています。また、ゲームの開始時や終了時には、PCからの指示でカモロボの電源をON/OFFする役割も担っています。
あなたの「作ってみたい」を応援します
『MECH HUNTER』は、ただ遊ぶだけでも楽しいゲームです。しかし、MMPプロジェクトは、単にプログラミング技術を学ぶためだけの教材ではないです。その根底にあるオブジェクト指向という考え方は、これからの予測不可能な時代を生きていく子どもたちの「思考力」を伸ばす、強力なトレーニングになります。
複雑な問題を分解する力
一見すると複雑なゲームも、「場面」や「カモ」といったオブジェクトに分け、さらに「更新」「命中」「描画」といった小さな機能に分解していく。このプロセスは、社会や勉強で出会う複雑な問題を、パニックにならずに解きほぐし、自分が理解できるサイズに切り分ける力を養います。
物事の本質を捉え、応用する力
それぞれのオブジェクトが「自分は何をすべきか」という役割(責務)を持つように、世の中の物事も、それぞれの役割や関係性で成り立っています。この構造を理解する力は、物事の本質を捉え、ルールを応用して新しいものを創り出す創造力の基礎となります。
MMPという遊び場を通じて、子どもたちは知らず知らずのうちに、複雑な世界を体系的に捉え、自ら課題を分解し、解決策を組み立てる訓練を積むことができます。それは、答えのない問いに満ちた未来を、たくましく生き抜くための、何よりの力になるはずです。
おわりに
PCN渋谷では、『MECH HUNTER』のようなコンテンツをフックとして、実社会の仕組みを分解して再構築できる人を育てたいと考えています。まだまだ荒削りではありますが、少しでも興味をお持ちいただけたら、ぜひご連絡ください。