レビュー
「ナビつき! つくってわかる はじめてゲームプログラミング」レビュー
「ノードン」たちを繋げていくだけでゲームができる、斬新なプログラミングソフト
2021年6月10日 00:00
- 【ナビつき! つくってわかる はじめてゲームプログラミング】
- ジャンル:つくってわかるゲームプログラミング
- 開発・発売元:任天堂
- 発売日:2021年6月11日
- 価格:
- 【パッケージ版】3,480円(税込)
- 【ダウンロード版】2,980円(税込)
任天堂が6月11日に発売する「ナビつき! つくってわかる はじめてゲームプログラミング」(以下、はじめてゲームプログラミング)は、Nintendo Switch用プログラミングソフトである。Switch用プログラミングソフトとしては、スマイルブームの「プチコン4 SmileBASIC」があるが、本家任天堂からSwitch用の本格的なプログラミングソフトが登場するのはこれが初めてだ。
任天堂は、初代ファミコン用として「ファミリーベーシック」を開発・販売していたことからもわかるように、昔から家庭用ゲーム機でのプログラミングソフトを発売してきている。2018年4月に発売されたSwitch用「Nintendo Labo」の「Toy-Conガレージ」でも、簡単なプログラミングを行うことができた。
「はじめてゲームプログラミング」は、そうした任天堂のプログラミングへの取り組みの延長線上にあるともいえるソフトである。筆者は、STEM教育や子どもへのプログラミング教育には関心があり、地元のCoderDojo守谷のメンターとしても活動している。ただし、本業はあくまでライターであり、プログラミング経験といっても、8ビットパソコン時代にBASICをかじって何本かゲームソフトを作り、「ベーマガ」や「PIO」に投稿して掲載されたことや、ScratchやMakeCodeなどのブロックを並べるタイプのビジュアルプログラミング環境を少し触った程度しかないが、本製品のメインターゲットはあくまで、プログラミングに初めて挑戦する小中学生であろう。
そこで、中2の息子や高2の娘と一緒に「はじめてゲームプログラミング」でのプログラミングに挑戦してみた。
▼ゲーム作りのポイントを教えてくれる「ナビつきレッスン」が超親切
▼プログラミング画面とゲーム画面が密接に関係していることに目から鱗!
▼サードパーソン的な3Dゲームも簡単に作れる!「はじめてゲームプログラミング」ならではのプログラミング手法
ブロックプログラミングよりも直感的で楽しい、ノードベースプログラミング
「はじめてゲームプログラミング」は、「ノードン」と呼ばれる不思議な生き物たちをワイヤーで繋げていくだけで、直感的にプログラミングが行える画期的なプログラミングソフトだ。プログラミングというと、リストとにらめっこしながら呪文のような英語を入力するものと思っている人も多いだろうが、プログラミングを初めて学ぶ子どもにとって、そうしたPythonやJavaScriptなどに代表されるスクリプト言語のハードルは高い。子どもたちへのプログラミング教育では、ブロックを並べてプログラミングを行うビジュアルプログラミングが主流だ。
こうしたブロックタイプのビジュアルプログラミング環境の代表が、子どものプログラミング学習のためにMITが開発した「Scratch」である。Scratchは、小学校やプログラミング教室などでも広く使われており、書籍も多数刊行されている。Scratchを参考にしたビジュアルプログラミング環境は他にもいろいろあり、例えば、マイクロソフトが開発した「MakeCode」もその一つだ。Scratchなどのブロックタイプのビジュアルプログラミング環境では、ブロックを並べて繋げるだけでプログラミングが可能であり、キーボード入力が苦手な子どもでも、気軽にプログラミングを楽しめることが利点だ。
「はじめてゲームプログラミング」も、キーボード入力が不要なビジュアルプログラミング環境を実現しているが、Scratchなどのブロックタイプではない。さまざまな役割を持つ「ノードン」を呼び出し、ノードン同士をワイヤーで繋げていくことで、プログラミングが可能なのだ。ブロックタイプのプログラミングは、基本的にプログラムの流れに沿ってブロックを上から下(言語によっては左から右)に並べていくのだが、「はじめてゲームプログラミング」のノードンは、基本的にどこに置いても問題ない。適当に並べてから、ノードン同士をワイヤーで繋げばいいのだ。
ノードンという名前から予想される方も多いだろうが、これはいわゆるノードである。ノードとは、本来は結び目という意味の言葉だが、ネットワークにおいては端末や装置といった意味になる。ネットワークは、ノードを線で繋いだものであり、人と人との繋がりを示すソーシャルグラフも、ノード(人を表す)とエッジ(ノード同士を繋ぐ線)で構成される。また、音色を作り出すシンセサイザーソフトなどでも、ノードを線で繋いで音を加工していくものがあるが、ノードベースでプログラミングができる環境はまだまだ少ない。「Nintendo Labo」の「Toy-Conガレージ」でのプログラミングや、ソニーが開発したIoTブロック「MESH」のプログラミングもノードベースである。
ゲーム作りのポイントを教えてくれる「ナビつきレッスン」が超親切
前置きが長くなってしまったが、「はじめてゲームプログラミング」でのプログラミングを紹介する。最初に選択できる「ナビつきレッスン」は、「はじめてゲームプログラミング」に初めて触れる人のために、ノードンを使ったプログラミングのやり方やゲーム作りのポイントを教えてくれる、よくできた教材だ。「ナビつきレッスン」を進めると、「フリープログラミング」というメニューも出現し、自由にプログラミングを行うこともできるようになる。基本的には、ナビつきレッスンを一通り終えてから、フリープログラミングに挑戦するのがお勧めだ。
ナビつきレッスンには、全部で7つのレッスンが用意されており、それぞれのレッスンの目的はゲームを完成させることである。レッスンで作るゲームは、「二人対戦おにごっこバトル」、「コロコロボール」、「エイリアンシューティング」、「GO!GO!アスレチック」、「謎解きの部屋」、「エキサイトレーシング」、「3Dアスレチックワールド」の7種類だ。横スクロールシューティングや3Dアクションなど、さまざまなジャンルのゲームを作りながら、楽しくプログラミングを学べることが魅力だ。それぞれのレッスンは7~10個のステップに分かれており、段階的にゲームを完成させていく。一つのレッスンにかかる時間の目安は約40~90分とされているが、クリアしたステップの続きから再開できるので、一度に時間がとれないという人でも大丈夫だ。
さらに、各レッスンのクリア後には、復習を兼ねたチェックポイントが用意されている。チェックポイントは、プログラミングで解くパズルが5つ用意されており(最初のチェックポイントのみ1つ)、パズルをすべてクリアすることで、次のレッスンに進むことができる。ナビつきレッスンでは、ボブという名前の青い●がナビゲーターとなり、プレイヤーをプログラミングの世界へ導いてくれるのだが、このナビがとても親切で分かりやすい。
最初のレッスンの様子を見てもらうのがいいだろう。最初のレッスンでは、「二人対戦おにごっこバトル」を作る。「はじめてゲームプログラミング」では、ゲーム画面とプログラム画面を切り替えながらゲームを作っていくのだが、プログラム画面を「ゲームのウラガワ」と呼んでいるのも素晴らしい。普段、遊んでるゲームの裏側にはこうしたプログラムの世界があるのだということを、しっかりと意識させてくれる。
各レッスンの最初に、そのレッスンで作るゲームの完成形の動画が表示される。これからステップを経て、完成するとこうなるのだというイメージが最初に与えられるので、モチベーションを保ちやすい。二人対戦おにごっこバトルは、二人がオニとヒトに分かれておにごっこをするゲームだ。オニに捕まるとヒトの負けで、オニが落ちてくるボールにぶつかるとオニの負けとなる。
レッスン1のステップ1の目的は、ゲーム画面の中に「ヒト」を表示させ、それをLスティックで左右に動かし、Bボタンでジャンプさせることである。
まず、ゲーム画面が表示されるが、まだ何もプログラムを組んでいないので当然何もキャラクターなどは表示されない。そこで、プログラム画面に切り替えると、ナビゲーターのボブに「ヒトノードン」を呼び出すように指示される。ヒトノードンは、その名の通り、動かせるヒトを表示するためのノードンだ。それぞれのノードンには、入力や出力のポートが用意されている。
ノードンによっては、入力しかないものや、出力しかないものもあるが、「はじめてゲームプログラミング」のプログラミングの本質は、各ノードンのポートをワイヤーで繋ぐことにある。あるノードンの出力ポートから出力されたシグナルがワイヤーを通って、別のノードンの入力ポートに送られ、そのノードンがそのシグナルに反応するのだ。文章で書くとややこしそうだが、実際にコントローラーを使ってプログラミングしてみると、非常に直感的で分かりやすい。また、ノードンは生き物という設定になっており、それぞれのキャラクターがあって吹き出しでしゃべるのもかわいく、子どもたちの興味を惹きそうだ。
プログラム画面にヒトノードンを呼び出したら、ゲーム画面に移動して、どうなったか見てみよう。画面の中央にヒトが表示される。ただし、ヒトが表示されただけで、Lスティックを左右に倒しても、ピクリとも動かない。それもそのはず、ヒトを動かすためのプログラムをまだ作っていないからだ。そこでプログラム画面に戻り、スティックの傾きを出力する「スティックノードン」を呼び出す。「はじめてゲームプログラミング」では、非常に多くのノードンが用意されているが、それらのノードンは大きく「入力」「中間」「出力」「モノ」の4つに分類されており、さらにそれぞれの中でサブカテゴリに分かれている。
スティックノードンを呼び出したら、スティックノードンの出力ポートとヒトノードンの左右ポートをワイヤーで接続することで、スティックの左右の傾きの値がシグナルとしてヒトノードンに伝わり、ヒトノードンを動かせるようになる。ゲーム画面に移動して、Lスティックの左右でヒトを動かせることを確認しよう。
続いて、Bボタンを押すとジャンプする仕組みをプログラミングする。基本的にはスティックで左右に動けるようにしたのと同じだが、スティックノードンではなく、ボタンが押されたことを検出する「ボタンノードン」を使う。ボタンノードンの出力ポートとヒトノードンのジャンプポートを繋ぐことで、Bボタンを押すとヒトがジャンプするようになる。
ゲーム画面でジャンプ動作を確認すれば、ステップ1は終了だ。各ステップの終了時に、そのステップで学んだことが、ノードンガイドに追加される。ノードンガイドはプログラミング中にいつでも確認できるのでありがたい。
© Nintendo
© 2021 Microsoft