プログラミングでゲームを学ぶ?
「子供がゲームが好きで、暇さえあればゲームばかりしている。どうせならプログラミングを学んでみたらどうか?」
よく聞くこの言葉ですが、では、プログラミングとゲームの関係はどういうものでしょうか?
そもそもプログラミングを学ぶのにゲームは必要でしょうか?
プログラミングとゲームの関係
プログラミング教室では、ゲームを使った以下の2通りの教え方があります。
1.ゲームの中でプログラミングを学ぶ
教育版マインクラフトがこれにあたります。ゲームの中で問題や困難なことをプログラミングを使って解決していきます。
2.プログラミングでゲームを作成する
スクラッチやJAVASCRIPTなどで、用意されたゲーム内容をテキストを見ながら作成してアレンジしたり、完全オリジナルゲームを作成したりします。
どちらを想定していたでしょうか?
よく、ゲームで学校の各教科を勉強できるものだったり、タイピングを習得出来るものなどもあるので、1の認識の方も大勢いるかと思いますが、教室では2の方がメインとなります。
当教室では、スクラッチでプログラミングを学び、ある程度できるようになったら練習として教育版マインクラフトでのプログラミングに挑戦する、という使い方をしています。
プログラミング学習にゲームは必要?
プログラミングを学ぶのにゲームを作成する必要はありません。
ゲーム作成以外にも、WEB画面のプログラミングやEXCEL作業の自動化、ロボットやドローン操作、仕事で使えるシステム開発や、スマホアプリ開発など、いろいろあります。
では、ゲーム作成の何がいいのかというと、以下が考えられます。
・子供はゲーム開発に興味がある
ゲームが好きでいろいろなゲームをしているうちに、「こういう方が面白いのに」「自分ならこう作るのに」「このゲームとこのゲームを組み合わせると最強では?」など、考え始めます。それがプログラミングを学ぶことで、自分の頭の中の内容を実現出来るようになる!ということで目標ができ頑張れるようになります。
・開発者目線となることでゲームの見え方が変わる
オリジナルゲームが作成できるようになってくると、既存のゲームの見方が変わってきます。「背景のこんな細かいところまでアニメーションしてる!」「場面の切り替えが毎回異なる演出してる!」「ここでディレイをかけることでコントローラー操作に感触を持たせてる!さすがプロ!」など。以前までは見向きもしなかった部分にまで目が行くようになりいろいろなことに気付きはじめます。これは、今後様々な仕事や日常生活で必要となる”相手目線で考える力”が育まれると考えます。
・プログラミングの中でもゲーム開発は難易度が高い
私は30年いろいろなプログラムを作成してきました。基幹業務システムの作成や改修、WEB注文やバーコード連携システム、PC作業自動化、趣味でゲーム開発(コンテストで数度入賞)など、1000本以上作成していますが、プログラミング技術でいえばゲーム開発が一番高度で難易度が高いと考えています。よって、これが出来れば他の一般的な開発は容易に出来るようになります。
まとめ
プログラミングでゲームを学ぶとは、”今まで漠然とゲームで遊んでいた”状態から、”ゲームから開発者の意図や技術を学ぶことが出来る”ようになることです。どうせゲームで遊んでばかりいるのなら、少しでも学びの姿勢になるほうが、、、と思うのですが、どうでしょうか。