レビュー
「ナビつき! つくってわかる はじめてゲームプログラミング」レビュー
2021年6月10日 00:00
サードパーソン的な3Dゲームも簡単に作れる!「はじめてゲームプログラミング」ならではのプログラミング手法
これまでのビジュアルプログラミングで、3Dゲームを作るのはなかなか難しかったが、「はじめてゲームプログラミング」では、もともと画面に表示されるモノが3Dの物体として定義されているので、あまり難しいことを考えずに、3Dゲームが作れる。ナビつきレッスンでも、後半のレッスン5,6,7は3D視点のゲームを作るのだが、カメラノードンを使うことで、カメラの位置や画角などを自由に設定でき、プレイヤーの動きにカメラを追従させ、斜め後ろから撮影した画面にするなども簡単だ。
プログラム画面自体の視点を、上から見た視点と横から見た視点に切り替えられることについては、すでに説明したが、具体的な例を挙げよう。レッスン5では、3Dで描かれた部屋の謎を解いて脱出する「謎解きの部屋」を作る。この部屋は、まず床を作り、次にそれをコピーして壁を作るのだが、壁の高さを変更するには、横から見た視点に変えて行う。
また、プログラムが複雑になると、プログラム画面が一画面に収まらず(もちろん拡大縮小は可能だが)、遠く離れたノードン同士をワイヤーで繋ぐのが大変になる。そのために用意されているのが、ワイヤーワープ入口ノードンとワイヤーワープ出口ノードンである。ワイヤーワープ入口ノードンとワイヤーワープ出口ノードンは、右上にラベルとなるアルファベットが書かれており、同じラベルのものを必ずセットで使う。ワープ入口ノードンに入ったシグナルは、同じラベルのワープ出口ノードンから出てくる仕組みだ。また、テクスチャノードンを使えば、表面の模様(テクスチャ)を自由に描くことができ、オリジナルのテクスチャを物体に貼ることができる。
ノードベースプログラミングの欠点は可読性が低いこと
このように、ノードベースのプログラミングを採用した「はじめてゲームプログラミング」は、プログラミングを初めて学ぶ人でも、直感的にプログラミングが行えることが利点だ。その半面、少し複雑なプログラムになると、複数の画面にプログラムが分かれるため、可読性が低いという欠点もある。可読性とは、要するにプログラムの読みやすさということだ。特に他人が作ったプログラムをひと目見ただけで理解するのは難しい。
Scratchのようなブロックベースのプログラムでは基本的に繋がっているブロックの上から下へと処理が行われるが、ノードベースだとノードの配置によって、プログラムの流れ方は千差万別である。また、何かが壊れたときなどのイベントが生じると、ただちに実行されるイベントドリブン的なノードンもあるため、なかなか全体像が見にくい。ワイヤーワープ入口ノードンとワイヤーワープ出口ノードンも、プログラミング中は便利だが、数日経つと、どことどこが繋がっていてワープしているのか忘れてしまうこともある。
フリープログラミングで簡単なゲームを作ってみた
筆者と子どもたちで手分けして、ナビつきレッスン7つをすべてクリアした。中2の息子も、すぐ操作と扱い方がわかった様子で、「これは面白い!」と言ってのめり込んでいた。高2の娘も、「XY平面とXZ平面に切り替えられるのがすごいね」と夢中で取り組んでいた。
最後にフリープログラミングで、簡単なゲーム「オトス」を作ってみた。2人で遊ぶ対戦ゲームで、Joy-Conを傾けることでそれぞれのUFOを動かし、相手にぶつかってフィールドから押し出せば勝ちというものだ。このゲームはまだひな形のようなもので、ジャンプして相手の攻撃を避けたり、フィールドに穴が空いていくようなギミックを入れれば、もっと面白くなるだろう。
レッスンはクリアしたものの、オリジナルで一から組むのは初めてだったので、完成までに1時間くらいかかったが、シンプルなゲームなので慣れれば数分で組めるだろう。なお、一つのプログラムにつき、使えるノードンの数は最大512個、ワイヤーは最大1024本という決まりがある。また、ワイヤー出口ノードンとワイヤー入口ノードンのラベルはA~Hまでの8種類だけという制限がある。
「はじめてゲームプログラミング」には数多くのノードンが用意されており、ナビつきレッスンを最後までクリアしても、出てくるノードンはその一部だけだ。ノードンのリファレンスやノードンガイドも充実しているので、ナビつきレッスンに登場しなかったノードンを使う場合は、リファレンスを参照するとよい。
ゲームを作りたいと思っている子どもには是非遊んで欲しい
「はじめてゲームプログラミング」は、従来のプログラミング手法とは全く違うノードベースのプログラミングの採用により、プログラミング経験がない子どもでも、ナビゲーターに従ってレッスンを進めていくだけで、自由にプログラムを作れるようになる画期的なソフトだ。マイクラなどが好きな子どもやゲームを作りたいと思っている子どもはもちろんのこと、ANDやORなどの論理回路やフラグを立てることなど、言語を問わず、プログラミングに共通する基本的な考え方を自然と身に付けることができるので、これまでプログラミングからは縁遠かった大人の方にもお勧めだ。
ノードン数やワイヤー本数に制限はあるが、使いこなせばかなり複雑なゲームを作ることもできそうだ。タッチパネルや加速度センサー、モーションIRカメラなどを活用するノードンもあり、身体を動かして遊ぶゲームなども作ることができる。夏休みの自由研究として、ゲームを作るのも面白いだろう。価格的にも手頃であり、プログラミング未経験者から、本職がSEやプログラマーの方まで、幅広い人にお勧めしたい。
© Nintendo