プログラミングの基礎を学ぶ「レッスン」は30時間前後の大ボリューム
はじめてゲームプログラミングのタイトル画面には、「ナビつきレッスン」と「フリープログラミング」という2つのメニューが並んでいる。ソフト購入者はまず、ナビつきレッスンから始めることになる。これはソフト内に用意された練習問題に加えて、7つのゲームを、「ボブ」と呼ぶキャラクターにナビゲーションしてもらいながら、ゼロからゲームを作り上げていくというモード。プログラムに対する習熟度にもよるが、すべてのレッスンとチェックポイント(復習クイズ)をクリアするまでに30時間前後はかかる大ボリュームだ。なお、任天堂のサイトでは、個人差もあるが、小学1年生以上であればゲームをつくる体験を楽しめるとしている。
一方、フリープログラミングはナビつきレッスンを終えた上級者向けのモード。ナビゲーションなしで、好きなプログラムを作れる。作ったプログラムは、作品コードと呼ぶIDを公開することで、ほかのユーザーがダウンロードして遊ぶこともできる。すでにTwitterでは、「#はじめてゲームプログラミング」などのハッシュタグをつけて作品コードを公開しているユーザーが数多くいるようだ。他人の作ったゲームをダウンロードして遊ぶという楽しみも、このゲームの遊び方のひとつだ。さらには、ダウンロードしたゲームを自らアレンジすることもできる。
自然に、楽しく、プログラミングの基礎を学んでいく仕掛け
プログラミング経験者がこのソフトのプログラミング画面を見たら、シンプルなデザインながら本格的な仕様に驚くはずだ。前述のとおり、このソフトではプログラムのまとまりをノードと呼び、ノード同士を結びつけることでプログラミングを行う。
例えばソフト内では「スティック」というLスティックの入力を検知するノードと、「ヒト」というロボットのノードの両方を画面上に配置。「スティック」ノードの出力結果を、「ヒト」ノードの「左右移動」のポートへとつなぐことで、Lスティックの動きに連動してヒトが歩くようになる。これが「プログラム」の基本であり概念であるということを、ごく自然に学べるようになっている。
Lスティックの傾きを検知するノードと「ヒト」ノードの左右移動ポートを接続したら、次はBボタンが押されたかを検知するノードと、「ヒト」ノードのジャンプポートを接続。ここで、プログラム次第ではLスティックの上下や、Rスティックでもキャラクターを左右に動かせたり、ジャンプさせることもできるのでは? というプログラムの自由度に気付かされる(レッスン中は指示通りのプログラミングしかできないが)。プログラムの基礎学習にとって、こうした「考え方」から学べるのは非常に良いことだ。