この春小学4年生になる長男が「自分でシューティングゲームを作りたい」と言い出しました。最近購入した「ニンテンドークラシックミニ ファミリーコンピュータ」のゲームをいろいろプレーして影響を受けたようです。

「グラディウス」と「メトロイド」はどちらが作るのが大変?
「ドクターマリオ」みたいなゲームなら簡単なんじゃないか?

みたいな想像を巡らせて、いらない紙に絵を描いてみたりしています。

長男のオリジナルゲームの構想図
長男のオリジナルゲームの構想図
[画像のクリックで拡大表示]

 プログラマーの父としては願ってもないチャンスです。いろいろ考えて実際に長男に初めてのプログラミングに挑戦させてみました。その過程について今回は書いてみます。

 巷では小学生向けのプログラミング教育を小学校から始める議論があり、小学校低学年のうちからそのためにパソコンを与える家庭も多いだろうと思います。しかし結論から言うと今のところ私は、子供にパソコンを与えるのはもっと年齢が上がってからでよいと考えています。「ゲームを自分で作りたい」「そのためにプログラミングを学びたい」という希望をかなえるだけなら、あえてパソコンを利用する環境は必要ないからです。その理由は、今回の長男のプログラミング初挑戦観察記で、少し分かっていただけるのではないかと思います。

ゲームを作れる小学生向けプログラミング環境は少ない

  まずは「ファミコンぽいシューティングゲームを小学生がプログラミングして作る」ための環境を調べてみました。すると小学生が使えそうな適切な環境に、実はあまり選択肢がないのが分かってきたのです。

 小学生向けプログラミング環境として著名なのは「Scrach(スクラッチ)」や「プログラミン」などでしょう。コードがブロック状になっており、これを組み合わせてプログラムを作っていくタイプの処理系です。別の考え方としては、小学生向けではない一般向けのプログラミング環境をいきなり使わせる手もあります。こちらなら「Unity」や「UnrealEngine」のようなプロのゲーム開発者が使うようなツールから「Processing」や「Pygame」「Love2D」のような試作用ツールまでさまざまなものから選択が可能です。ゲームエンジンやフレームワークを使わずに、OpenGLを直接使用してプログラムを書いてゲームを作る手もありえます。長男にプログラミングを教えるにあたって、プログラマーである私が使っているツールを使えば、いっそ教えやすいのではないかとも最初は考えました。