🎮

「はじめてゲームプログラミング」の衝撃

3 min read

エンジニアの間で話題沸騰「はじめてゲームプログラミング」

6月11日に発売され一時トレンドにも載るほど。
「ナビつき!つくってわかる はじめてゲームプログラミング」。
「ノード」をつなげてプログラミングしてゲームを作っていきます。
例えば「Lスティックノード」と「ヒトノード」を繋いでLスティック操作ができるようになります。
チュートリアルでは「おにごっこゲーム」や「マリカ」みたいなものを作れちゃいます。

私ももちろんプレイして実況配信なんてやってみたのですが節々で「プログラミング学習」という点で衝撃を受けました。

今回はその衝撃を紹介していきたいと思います。

約束された「完成したときの達成感」

「ナビつき!」というタイトルの通り、チュートリアルが懇切丁寧です。
失敗につながるようなメニューは無効化されていますし、しばらく迷って画面上で進捗を出せないでいるとアシストしてくれます。
「完成」することが約束されているのです。

プログラミング学習において「完成」させるという成功体験はモチベーションのUPに繋がります。手を動かして完成させるという体験はドキュメントを読むだけでは得られない学習効果があります。

通常のプログラミング(エディタを開いて書いていくやつ)だと挫折の可能性がそこら中に広まっています。挫折率が9割なんて話もあるとか。
しかしこの「はじプロ」では少なくともステップ1では挫折するほうが難しいレベルです。
ユーザーには「完成させたときの達成感」が約束されています。

そして完成したときにキャラクター全員がめちゃくちゃ褒めてくれます
私達がプログラムを完成させても良くてLGTMが返ってくる程度ですが「はじプロ」では褒めちぎってくれます。

デバッグ的思考、考えさせる癖をアシストする

  1. わざと失敗するプログラムを組まされる
  2. テストプレイしてみる
  3. 失敗する
  4. なんでだろう?
  5. この部分のプログラムがxxxだからだね!
  6. 直してみよう!テストプレイしてみよう!
  7. できた!

https://twitter.com/YukkuriAIch/status/1403147341725540352

↑の流れがチュートリアル中で何度も繰り返されます。
言われるがままにプログラムを組めば動くのですがそれでは学習になりません。

わざと失敗するプログラムを組むことで「なぜ?」を誘発します。
プログラマーとかに関わらずこの思考は身につけておきたい。
特に幼少期からこの思考があれば普段の勉強や生活にも絶対に役立つと思うんですよね。

プログラマーへの洗脳

プログラミングや3Dモデリングに進みやすいようにさまざまな配慮、狙いが散りばめられています。

細かい確認

プログラムを書く皆さん、一つ処理を変えたら実行したり画面上で確認したりしますよね?
変更の末にバグが発生したとき確認の粒度がデカくなればなるほどどの変更が原因なのかわかりづらくなります。
だから粒度の細かい確認が大事なのですが「はじプロ」のチュートリアルでは細かく確認を要求されます。1変更につき1テストプレイの勢いです。

可読性

ノードを並べていくわけですので画面がノードだらけになってしまいます。
「関連するノードは近くに置いておこう」という課題があります。
これってプログラミングするときの可読性を求める思考を育むんじゃないでしょうか。

デバッグ用に数値を変えてみよう

チュートリアル中に「デバッグしたいけど1から進めていくの大変だからゴール条件を一時的に3にしよう」という案内があります。
デバッグ中にやりますよね。こんなことも教えてくれるんです。

用語の刷り込み

プログラミングや情報技術、PCに関する用語が普通に出てきます。
「AND」、「NOT」、「テクスチャ」、「シグナル」、「X、Y、Z」、「センサー」等
用語に慣れておけばアレルギーみたいなの少なくなると思うんですよね。

オープンソース

他の人が作成したゲームを検索してダウンロードして手元で遊ぶこともできます。このとき、ソース画面も見ることができるのです。オープンソースです。

プログラミングする上での大事なことを伝えてくれる

なぜ動いているのか を理解する

わざと動かないプログラムを組まされる流れでも言及しましたが「なぜ?」と考える癖が付きます。ゲーム中に出てくる案内役のキャラクターも言うんですよね
「なぜ動くのかを理解することが大事」って。
この思考が身についてる人って学習の効果が段違いだし、勝手に育っていきますよね。

プレイした子ども達は将来どうなるか

現役エンジニアとしてプレイした「はじめてゲームプログラミング」。
これをプレイした子ども達がどうなるか予想してみたいと思います。
これを幼少期にプレイできる現代の子ども達がうらやましい。

論理的思考が身につく

プログラミング教育が叫ばれているのもコードが書けることというよりはこの「論理的思考」が求められていると思います。
ゲームで楽しく身に着けられるので学校教材よりこども達にウケるのでは?
任天堂が本気を出して作ったこのクオリティーの教材を他が超えられるのかというと。。。

(もちろん義務教育で全員が受けられるというのは凄いメリットがあります)

プログラミングに対するアレルギーがなくなる

用語にたくさん触れますし、「プログラミングをしてゲームを作った」という成功体験を身につけた子どもは「なんだかプログラミングって難しそう」という思い込みが薄いのではないでしょうか。だって経験者ですもの。

まとめ

「任天堂の開発室から生まれた」という名の通りエンジニアが見たからこそ気づくすばらしさがありました。このゲームをプレイした人が次の目標に動けるような配慮、狙いが節々に散りばめられています。

これを見てる親御さん、買いましょう。何倍ものリターンが返ってくるはずです。

これを見てる現役エンジニアさん、買いましょう。ノードプログラミングにはノードプログラミングなりの楽しさがあります。限られた材料でどう組み合わせて問題を解決するか。ノードのハック的な使い方を駆使したり。
(「はじプロ」の前進であるニンテンドーラボからやり込んでいて最速でFPSゲームの作り方を紹介されている「TACTYのゲームプログラミング研究所【たくらぼ】」さんがとても分かりやすく参考になります)

https://www.youtube.com/channel/UCsQVaeb7fGO33Ol-VmD44Pw

子ども向けと侮るなかれ。
子ども用にと買ったらいつの間に大人が本気になって遊んでいる、そういう類のやつです。

さぁ皆さんもプレイして衝撃を受けましょう。

しばらくは「はじプロ」の実況をやってるはずです

https://twitter.com/hogeihogemi
https://www.youtube.com/channel/UCFLbUNoaCWrRjY5t4lF_rfg
エンジニア系VTuberです。よければフォローお願いします。