2021年6月11日、任天堂株式会社(以下、任天堂)が、楽しみながらプログラミングを学べるNintendo Switchのゲームソフト「ナビつき! つくってわかる はじめてゲームプログラミング」(以下、はじめてゲームプログラミング)を発売した。
Nintendo Switchの中に暮らすという不思議な生き物「ノードン」をつなげることで、ゲームプログラミングが楽しめるソフトだ。「ノードン」の組み合わせや設定を変えるビジュアルプログラミングを通して、自分だけのオリジナルゲームを作成することもできる。
遊び、楽しみながらプログラミングの知識が自然と身に付けられ、娯楽用途だけではなく教育用途も追求する「シリアスゲーム」、「エデュテイメント」(「Education」と「Entertainment」を掛け合わせた造語)といったジャンルに分類されるゲームといえるだろう。
- ナビつき! つくってわかる はじめてゲームプログラミング | Nintendo Switch | 任天堂
https://www.nintendo.co.jp/switch/awuxa/
「はじめてゲームプログラミング」は発売開始前から注目を集めており、ゲーム専門メディアを中心に、ゲーム内容を紹介する記事が多く報じられている。
ゲームの売上動向を探る上での指標となる「Amazon売れ筋ランキング」でも、発売が開始して1ヶ月近く経った今も上位に位置している。
任天堂の公式サイト、公式YouTubeチャンネルでゲームの概要がわかりやすく紹介されているので、チェックしてみてほしい。
- ナビつき! つくってわかる はじめてゲームプログラミング : ナビつきレッスン | Nintendo Switch | 任天堂
https://www.nintendo.co.jp/switch/awuxa/lesson/index.html - はじめてゲームプログラミング 紹介映像 | Nintendo 公式チャンネル
https://youtu.be/N9SvKfrmwUw
ゲーム、と聞くと教育関係者の方々は縁遠いものと感じるかもしれないが、シリアスゲームやエデュテイメント系ゲームの歴史は古い。
日本の地理や都道府県の特産品を学べる「桃太郎電鉄」シリーズ、架空の街の市長になって税金管理をしながら都市開発するシミュレーションゲーム「シティーズ:スカイライン」、英単語や英文法を学べる「えいご漬け」など、ジャンルとして明確な定義があるわけではないが、遊んでいるうちに自然と知識が身につくようなゲームタイトルは昔から数多くある。
「はじめてゲームプログラミング」も、シリアスゲーム、エデュテイメント系ゲームといえるが、昨今、公教育でスタートしたプログラミング教育でも取り扱われることの多い「プログラミング的思考」を体験できるゲームだ。
任天堂の「はじめてゲームプログラミング」紹介サイトのQ&Aでは、「本作は学校教育に対応した製品ではなく、独自のゲームプログラミング体験によって、楽しみながらプログラミング的思考に触れられるソフトです」(以下参照)と解説しているが、発売開始前からプログラミング教育にも大きな影響を与えるゲーム、と話題になっており保護者や教育関係者の方でも気になっている人は多いのではないか。
- ナビつき! つくってわかる はじめてゲームプログラミング : Q&A | Nintendo Switch | 任天堂
~「このソフトは学校教育のカリキュラムに対応していますか?」
https://www.nintendo.co.jp/switch/awuxa/faq/index.html
当メディアでは、「はじめてゲームプログラミング」の体験プレイをさせてもらった。
「はじめてゲームプログラミング」をプレイすることで、プログラミングに関するどんなことを学び、体験できるのか、レポートしたい。
目次
- 現在の公教育におけるプログラミング言語の実施状況
- 「はじめてゲームプログラミング」の概要
- ゲーム作りを通して体験できるプログラミングの概念・考え方とは
- 任天堂、そしてゲームがプログラミング教育に大きな影響を与える可能性
現在の公教育におけるプログラミング言語の実施状況
「はじめてゲームプログラミング」の内容について解説する前に、現在の公教育におけるプログラミング教育の状況について簡単に振り返りたい。
小学校では2020年度から、中学校では2021年度からプログラミング教育が必修化され、2025年度(令和7年度)に刷新される大学入学共通テストでは、新教科としてプログラミングを含む「情報」の追加が予定されている。
プログラミングを教える授業が小中学校でスタートしたのに加えて、大学入試でもプログラミングに関連する教科の新設が発表され、プログラミング教育の重要性は、年々、高まっているといえるだろう。
- 令和7年度以降の試験|大学入試センター
https://www.dnc.ac.jp/kyotsu/shiken_jouhou/r7ikou.html
2020年度からプログラミング教育が必修化された小学校では、理科や総合などの授業で、教育用ビジュアルプログラミング言語「Scratch」や「MakeCode」などを使用して、簡単なプログラミングの体験をさせることが多いようだ。
ScratchやMakeCodeでは、JavaScriptやPythonなどテキストベースのプログラミング言語とは違い、テキストコーディングは行わない。
キャラクターや背景を、さまざまなブロックを組み合わせるビジュアルプログラミングを通して、プログラム・成果物を制作していく。
ScratchやMakeCodeでは、テキストコーディングを用いるプログラミング言語のように、プログラミング言語特有の記法や構文などを覚える必要はなく、ブロックを組み合わせながら視覚的にキャラクターの動作や背景などを設定できる。
初めてプログラミングを経験する子どもにとっても取り組みやすいことが特長だ。
ただ、プログラミング教育の授業にScratchやMakeCodeで制作される成果物は、一般的に「キャラクターを目的地まで動かす」「キャラクターの動く方向を数回変更させる」「背景を変更する」と、単調な内容にとどまることが多い。
易しくても簡単な成果物をひとまず仕上げる、といった一通りの工程を子どもに体験してもらうことは、「プログラミングはどのような手順で行うのか、大まかなイメージを掴んでもらう」といった一定程度の効果や成果は見込まれるだろう。
しかし、日頃スマートフォンやゲーム機で数多くのゲームに慣れ親しんでいる子どもたちからすれば、ゲームとして感じられる楽しさ、おもしろさは少々物足りないかもしれない。
その点、今回発売された「はじめてゲームプログラミング」は、日本を代表するエンターテインメント企業である任天堂が開発したため、ゲームとしての楽しさを存分に体験できる上で、プログラミングにおける重要な考え方・思考方法を体験できる内容になっている。
「はじめてゲームプログラミング」の概要
「はじめてゲームプログラミング」では、ゲーム中案内されるナビゲーションに従いながら、キャラクターを呼び出したり、スティック(操作用コントローラー)やボタンなどの入力・出力機能を持った「ノードン」をつなげたりして、プログラミングを進めていく。
ゲームモードは大別して、ナビゲーションに従って「ノードン」をつなげていくだけで、だれでもゲームを完成させられる「ナビつきレッスン」、さまざまなゲームを1から自由に作れる「フリープログラミング」の2つが用意されている。
丁寧なナビゲーションで、だれでもゲームを完成させられる「ナビつきレッスン」
筆者は「ナビつきレッスン」の「二人対戦!おにごっこバトル」という最初のレッスンを体験させてもらった。







ScratchやMakeCodeの場合はブロックをつなげる、「はじめてゲームプログラミング」の場合はノードン同士をワイヤーでつなげる、と視覚的にプログラミングしていく制作工程は似ている。
ただ、ScratchやMakeCodeのように、ブロックを上から下へ並べて、並べた順番通りにプログラムを実行されるのとは違い、「はじめてゲームプログラミング」では、ノードンを配置させた後からでも自由にノードン同士をワイヤーでつなげてゲームを作成していく。
ユーザーは思い通りにノードンを配置して、試行錯誤しながらキャラクターの動作設定、フィールドの変更などができるので、ScratchやMakeCodeよりも、直感的なプログラミングが可能だ。

また、ゲームとしてのおもしろさを追求するためにも、用意されているノードンは多種多様であり、ノードン内で設定できる機能や条件も細かく変更できる。
ユーザーの組み合わせ次第で、バラエティーに富んださまざまなオリジナルゲームをできるので、ユーザーを飽きさせない。

「ナビつきレッスン」には7つのレッスンを収録。それぞれ異なるゲームをプログラミングできるようになっており、すべてに丁寧なナビゲーションがついているので、一通りこなせばユーザーの「はじめてゲームプログラミング」におけるプログラミングスキルは着実に身につく。



「チェックポイント」でプログラミングを復習できる
さらに「ナビつきレッスン」では、これまで触れてきたゲームプログラミングを復習できる「チェックポイント」が用意されている。






「チェックポイント」では、「ナビつきレッスン」で体験したのと同じノードンの設定や組み合わせをおさらいするのだが、ユーザーは同じプログラミング手順を単純に繰り返すわけではなく、ゲーム画面やノードンの設定など「チェックポイント」用に新しく細かな変更が加えられた問題を解いていく。
つまり、ユーザーがプログラミングに取り組む新鮮さを損なわないまま、ノードンの設定や組み合わせの復習ができる問題設計・工夫が施されている。
「ナビつきレッスン」「チェックポイント」を一通りプレイすれば、似たプログラミングを複数回こなせるので、必要な手順を楽しく覚えられるのだ。
「フリープログラミング」ではオリジナルゲームを共有できる
「フリープログラミング」は、オリジナルゲームを作成できるモード。
「ナビつきレッスン」で学んだプログラミングスキルを活かしつつ、自分で描いたイラストをキャラクターや背景として操作・設定できるようにしたり、BGMをつけたり、より自由なプログラミングが可能になっている。

そして、「フリープログラミング」の大きな特徴として、作成したオリジナルゲームは、インターネットやローカル通信で公開・共有ができる。
友だち同士で作ったゲームを見せ合い、友だちのゲームをダウンロード後、自分好みにプログラミングして改良することも可能なのだ。

ゲーム作りを通して体験できるプログラミングの概念・考え方とは
以上、簡単ではあるが、「はじめてゲームプログラミング」の概要を紹介した。
筆者は「はじめてゲームプログラミング」の「ナビつきレッスン」を体験してみて、このゲームを一通りプレイすれば、「オブジェクト指向」「構造化プログラミング」といった、プログラミングにおいて普遍的な概念・考え方の一部を、実感、体験できると感じた。
ちなみに、オブジェクト指向や構造化プログラミングについては、プログラミング教育に参画するEdTech企業でも、重点的に教える傾向がある。
「ゲームエンジニアってどんな仕事?」「プログラミングって実際どのように使われてるの?」ミクシィのプログラミングサマーキャンプ2020レポート
※:特定のプログラミング言語の記法や構文を教えたとしても、プログラミング言語の流行り廃りは早いため、子どもたちが大人になり社会で活躍する将来には、学校で学んだ内容とはまったく異なる知識や技術が必要とされている可能性が高い。
そのような懸念に対応するためにも、プログラミング教育においては、プログラミングの普遍的な概念・考え方を教えることが重要視されている。
それでは、「ナビつきレッスン」でのプログラミング画面やゲーム画面をもとに、プログラミングにおける普遍的な概念・考え方をどのように実感・体験できるか解説したい。
ノードンはさまざまな機能・条件をひとまとまりにした「オブジェクト」
前述したが、ノードンにはそれぞれに独自の機能や条件がひとまとまりに込められており、ノードンは、オブジェクト指向でいう、オブジェクトであると呼べる。
これらの複数のノードン(=オブジェクト)を組み合わせたり、ノードン内の設定を変更・調整したりして複雑なゲームを作成することは、オブジェクト内に構成された変数や関数を変更・調整したり、複数のオブジェクトを組み合わせたりして成果物を仕上げるテキストコーディングにも通じる開発手法・手順といえる。

プログラムは「順次」「反復」「分岐」の3つの処理に分割できる、とする構造化プログラミング
構造化プログラミングとは、プログラムは「順次」「反復」「分岐」の3つの処理に分割できるものとするプログラミング手法・思考方法で、こちらもプログラミングにおける普遍的な考え方として重要とされてきた。
- 順次(順接):プログラムを記述した順番通りに実行する
- 反復(繰り返し):指定された条件下でプログラムが繰り返し実行する
- 分岐(選択):指定された条件を満たすか否かでプログラムの実行が枝分かれする
上記の処理の内、「反復」と「分岐」については、「はじめてゲームプログラミング」のプレイでも十分に実感、体験できると感じた。
それぞれの処理(≒プログラムが実行される流れ)が顕著に表れるシーンを紹介したい。
まずは「反復」の処理が顕著に表れるシーンとして、「モノを発射」ノードンの設定を紹介する。


そして、ゲーム画面では、この変更した設定のまま、ボールは一定の時間間隔(7秒)で発射され続ける。
この一定の時間間隔のままボールが発射され続ける、という挙動は、プログラムは設定した条件の下、プログラムを繰り返し実行する「反復」という処理の特徴を表している。
次に「分岐」の処理が顕著に表れるシーンとしては、「モノがこわれたしゅんかん」ノードンと「リトライ」ノードンを組み合わせて設計させるゲームのリトライ(リセット)について取り上げたい。




『「モノがこわれたしゅんかん」ノードンと「リトライ」ノードンを組み合わせて設計した条件が起きると、ゲームがリトライされる』という一連の流れは、指定された条件(ヒトノードンの破壊)を満たすか否かで、目的の条件の実行が枝分かれする「分岐」という処理の特徴を表している。
「はじめてゲームプログラミング」では、ゲーム作りを通して、構造化プログラミングにおける「反復」と「分岐」というプログラムの処理の特徴は十分に実感、体験できる。
しかし、「順次」の処理については、「はじめてゲームプログラミング」ではなかなか実感しにくい印象を抱いた。
教育用ビジュアルプログラミング言語であるScratchやMakeCodeは、プログラミングをする際、ブロックを上から下へ順番に組み合わせていくUIになっており、プログラムを記述した順番通りに実行する「順次」の処理に忠実な仕様といえる。

一方、「はじめてゲームプログラミング」ではノードンを自由に配置できる反面、プログラムの実行順番は不規則になる。
「順次」の処理の実感・体験、という面においては相容れないUI、といえるかもしれない。
また、おそらく「フリープログラミング」で、友だちや他の人が作成したゲームをダウンロードしてプログラムを確認した際、ノードンが複雑に配置されている状態だと、どんな順番でゲーム内のプログラムが実行されているか、またノードンにはどんな条件や機能が設定されているのか、把握するのはやや大変な作業になるのではないか。
他人が作成したゲームの改良には、手間取ってしまうことも予想される。

ただ、ノードンの自由な配置でゲーム作りができるUIは、直感的なプログラミングを可能にして「楽しみながらプログラミング的思考に触れる」という本ゲームの目標・目的を果たすためにも欠かせない仕様だ。
プログラミング的思考に触れるため、構造化プログラミングの概念・考え方に忠実なUIにすることは重要に感じるが、任天堂が本ゲームに込めた目標・目的を鑑みると現状のUI・仕様が最適なのだろう。
任天堂、そしてゲームがプログラミング教育に大きな影響を与える可能性
以上「はじめてゲームプログラミング」の概要と、プレイすることで体験できるプログラミングの概念・考え方についてお伝えした。
昨今、公教育でスタートしたプログラミング教育だが、現在はまだまだ過渡期であり、学校現場の教員だけでプログラミングにおける概念・考え方を網羅的に、十分に教えることは困難である。
公教育の変化に応じるように、多くの民間のEdTech企業が、自社のプログラミングスクールやプログラミング教材を、教育機関や自治体とも連携しながら、児童生徒へ提供する活動を積極的に展開しており、今後も民間からのプログラミング教育参入が重要になる状況は続くだろう。
国内最大規模 中高生向けプログラミング教育サービス「Life is Tech ! 」インタビュー【前編】教材の特徴を探る
今回紹介した「はじめてゲームプログラミング」は、日本の代表的なエンターテイメント企業である任天堂が開発したゲームだけあり、ゲームとして遊びながらプログラミングを楽しく体験でき、かつプログラミングにおける重要な概念・考え方も十分に体験できる内容になっていた。
任天堂、そしてその他のゲーム系の民間企業が、「はじめてゲームプログラミング」に類似したタイトルや関連したイベントを展開するかどうか、動向が非常に気になるところではある。
当メディアでも、今後もプログラミング教育に大きな影響を与える可能性が高い任天堂やその他のエディテイメント系ゲームの動向には注目していきたい。