ゲームとプログラミングの関係は?
私達はスマホやパソコンで気軽にゲームを楽しむことができます。また、ゲームセンターに行けば家庭ではできないような高度なゲームを楽しむことができます。ゲームとプログラミングはとても関係が深いです。なぜなら、ゲームはプログラミングによってできているからです。ここでいうゲームとは電子ゲームのことです。プログラミングができればゲームを作ることができます。
ゲームを作ることを目的として、プログラミングの勉強をするのも学習方法の一つです。モチベーションにもなるでしょう。また、ゲームを操作することも、ゲームで使われているアルゴリズムを考えることに繋がり、論理的思考や問題解決力の育成に役立つ場合があります。
現代のゲームを知る前にゲームの歴史を知ろう
ゲームは昔からネット対戦ができたり、コンピュータグフィックスで綺麗なキャラクターが動作する臨場感あふれるものだったのでしょうか。そうではありません。今日のゲームができるまでには様々な進歩があったのです。①アナログゲームの時代
1970年頃は、まだコンピュータを触ったことがある人は専門家以外にはほとんどいませんでした。このころから機械で動くゲームはありましたが、電子制御のゲームはほとんどありませんでした。有料のゲームは、デパートの屋上や駄菓子屋さんに置いてあり、お金を入れて、ボールやお金自体をはじいて遊ぶものがほとんどでした。当時の少年少女はこれらのゲームに熱中したのです。コンピュータは使われていませんでしたが、どのくらいの力でゲーム機のレバーを引けばよいか、どのような経路を通れば球をゴールに運びやすいかなど、知らず知らずのうちに論理的思考力や問題解決力の育成がなされていたのでしょう。
左から、①新幹線ゲーム:10円玉をレバーではじいて、最下段にある「当り」に入れます。②世界一周:玉をレバーではじいて、上段にある「当り」または「大当たり」に入れます。③ファミリーボール:ダイヤルを回して盤面を制御し、ボールを下段左下のゴールに入れます。(駄菓子屋ゲーム博物館)
「10円ゲーム」と呼ばれる10円で遊べるゲームを中心に、当時のゲームが多数展示され、実際に触れて遊べる場所の1つに、東京都板橋区にある「駄菓子屋ゲーム博物館」があります。館長の岸昭仁さんにお話を聞くと、当時のゲームは今の若い世代にも人気があるようです。
岸:当館には、当時これらのゲームに夢中になった40代や50代の方だけでなく、30代以下の若い世代の方もご来館頂いています。観光で立ち寄られる方もいらっしゃいます。YouTubeでも紹介していますので、動画をご覧になってお越しになる方も増えています。「新幹線ゲーム」や「国盗り合戦」は、流行した当時に遊んだことのある40代、50代に人気のあるゲームですが、若い世代にも人気があります。世代を超えて面白いと思う部分は共通するところがあるのかもしれません。これからもこれらのゲームを通して昭和の文化を当時を知らない方達にもお伝えして行きたいと思います。
・駄菓子屋ゲーム博物館HP:https://dgm.hmc6.net/miyamotochou/
・YouTube:https://www.youtube.com/c/dgmjp
・Twitter:https://twitter.com/akihito_kishi
昔を知ることは、これまでの成り立ちを理解するだけでなく新しいアイディアに繋がることが多くあります。首都圏近郊の方はぜひ来館してみると良いでしょう。遠方の方などはホームページやYouTubeでもゲームを見ることができるほか、岸昭仁館長執筆の「日本懐かし10円ゲーム大全」(辰巳出版)でも様々なゲームを知ることができます。
「日本懐かし10円ゲーム大全」岸昭仁 著 辰巳出版より発売中
②電子ゲームの時代
1980年頃になると、CPUや電子機器の発達により電子制御によるアーケードゲームが普及し始めました。アーケードゲームはゲームセンターだけでなく、喫茶店のテーブル型筐体、さらに、子どもたちも遊べるよう駄菓子屋の軒先などに設置されていました。なかでも、アーケードゲームの先駆け的な存在である株式会社タイトーの「スペースインベーダー」が爆発的にヒット。家庭要ゲーム機としても、任天堂のファミリーコンピュータが大ヒットし、多くの家庭で楽しまれました。一方、市販の電子ゲーム以外では、一部のコンピュータマニアや、大学などで情報系を専攻している限られた人たちが、プログラミング言語を使用してパソコンで電子ゲームを作成していました。
この頃は、まだ一般にはインターネットが普及していなかったため、自作の電子ゲームは友だち同士や、パソコン誌での情報共有に留まっていました。
その後、家庭で遊べるスーパーファミコン、PCエンジン、プレイステーション、ドリームキャストなど、様々なハードが登場し、人気を博します。
③ネットゲームの時代
2000年代になり、インターネットの普及、それに続くモバイル通信機器、特にスマホの普及により、ネット環境におけるネットゲームが大きなシェアを占めるようになりました。特に有名なゲームとして、「ポケットモンスター」、「Apex Legends(エーペックスレジェンズ)」などが挙げられます。プログラミングをゲームで学ぶことは可能?
出典:スクラッチプログラミング事例大全集(技術評論社)今日において、プログラミングとゲームは切り離せない関係にあります。学習という観点からは、ゲームを作成することを目的、目標としてプログラミングに挑戦する人が増えています。ゲームはプログラミングを学ぶうえでも大切な存在です。
CやPython(パイソン)などのコーディングが必要なプログラミング言語だけでなく、スクラッチなどの子どもでも扱えるビジュアルプログラミング言語でゲームを制作することも可能です。
プログラミングの学び方
プログラミングの学び方は、コンピュータを使わない場合とコンピュータを使う場合とに分けることができます。小さな子どもはコンピュータを使わない学びから入り、コンピュータを使う学びに移行する場合も多いです。どちらも、ボードゲームタイプ、ブロックタイプ、ロボットタイプなど、様々な形態のおもちゃで学ぶことができ、遊びながらプログタミングを学べるように作られているものが多数販売されています。
小学校におけるプログラミング教育の目的をパズル感覚で学ぶ
小学校では2020年度からプログラミング教育が必修化されました。その目的のとしてプログラミング的思考、論理的思考の育成が挙げられています。任天堂スイッチの「トライビットロジック」や「ヒューマンリソースマシーン」など、小学校におけるプログラミング必修化の目的に合致するゲームも、多数販売されています。
本格的なコーディングへの挑戦も可能
こども向けに作られたアプリでは本格的なコーディングは難しいですが、大人までを対象としたものであれば本格的なゲームを作成することができます。スクラッチなどはかなり本格的なゲームを作成することができるでしょう。ゲーム感覚でプログラミングを学べるアプリ・ソフトの選定基準
上手な選びかたとしては、各デバイスに対応しているかどうかや、子ども向けに作られているかどうか、上級学校の授業への接続性があるかどうか、などが挙げられます。スマートフォンやパソコンに対応しているか
ゲームで学べるアプリなどを選ぶときは、どのようなデバイスを利用して学ぶかを考える必要があります。一般的なのは、スマートフォンやパソコンですが、任天堂スイッチのように専用機もあります。子どもでも楽しめるか
学習は、大人が良いと思っても、子どもが楽しく学習できるものでなければ意味のないものになってしまいます。プログラミングは「楽しく学ぶ」がとても重要です。興味を持てば飛躍的に伸びていきます。子どもとともに、プログラミング学習するためのアプリや環境を選ぶと良いでしょう。本格的なコーディングの学習にステップアップしやすい内容か
中学生や高校生になると、コーディングを伴うプログラミングを学ぶ機会が増えてきます。これらへの接続性から、コーディングを伴わないものでも、基本アルゴリズムが学べるものを学習しておくと良いでしょう。例えば、ビジュアルプログラミングを学習しておくと、コーディングを伴う言語への移行はスムーズです。【専用機編】ゲーム感覚でプログラミングを学べるアプリ・ソフト
専用機は独自のインタフェースを装備しており、子どもでも操作しやすく作られています。アプリはダウンロードして使うものが主流です。ヒューマンリソースマシーン
任天堂スイッチにダウンロードして遊ぶことができます。プログラミングを使ったゲームです。指示された内容を、コマンドが書かれたブロックを並べて手順を作成することにより、ステージをクリアしていきます。URL: https://store-jp.nintendo.com/list/software/70010000000753.html
【スマホ/タブレット編】ゲーム感覚でプログラミングを学べるアプリ・ソフト
スマホやタブレットは持ち運びが容易で場所を選ばず使えます。画面サイズがパソコンと比べて小さいですが、操作に支障がないよう画面構成が工夫されています。アプリはダウンロードして使用します。②GLICODE(グリコ―ド)
江崎グリコ株式会社が提供しているアプリです。グリコのお菓子のポッキーを並べてキャラクターが目的地に着くようにプログラミングを行います。繰り返しなどの基本アルゴリズムを楽しく学ぶことができます。URL: http://cp.glico.jp/glicode/
③Swift Playgrounds(スイフト プレイグラウンド)
プログラミング言語のSwiftを対話形式で学べるiPad専用のアプリです。対話形式により結果をすぐに表示してくれるので初学者でも短いプログラムから取り組みやすいです。なお、Swiftは、比較的新しいプログラミング言語であり、iPhoneやiPadのアプリ開発に使用されています。
URL: https://www.apple.com/jp/swift/playgrounds/
【パソコン編】ゲーム感覚でプログラミングを学べるアプリ・ソフト
パソコンやタブレット型パソコンを使用して学習するものは、子どもだけでなく、大人も対象としたものがあります。ダウンロードして使うものや、ネットアクセスによりWebブラウザを介して使うもの、あるいは、その双方が利用できるものがあります。④Viscait(ビスケット)
日本の研究者により開発されたビジュアルプログラミング言語です。ビスケットはメガネの左と右の入力内容の違いによりキャラクターなどを動かします。公式サイトにアクセスして使い、ゲームは簡単なものから複雑なものまで幅広く作ることができます。画像は、青い球から弾を発射して、赤い球に当てるゲームです。⑤Scratch(スクラッチ)
世界中で使用されているビジュアルプログラミング言語です。小学校におけるプログラミング必修化でも注目されています。画像は、宇宙船から弾を発射してロボットに当てるゲームです。得点も表示されます。主にブロックを並べることによりプログラムを構築でき、コーディングを伴うプログラミングの前段階として学ぶこともできます。公式サイトにアクセスして使う方法と、ダウンロードして使う方法があり、ゲームはかなり本格的なものまで作ることができます。
⑥Progate(プロゲート)
プログラミング言語の学習サイトです。公式サイトにアクセスして会員登録をすると利用できます。多数の言語が用意されています。ゲームを扱える言語もあります。プロゲートのサイト自体はゲーム開発を目的としたものではありませんが、言語をマスターし、その言語でゲームを作成することを目標としてもよいでしょう。
URL:https://prog-8.com/courses
⑦Code.org
アメリカの非営利団体により運営されているプログラミング学習サイトです。Code.orgのサイトにアクセスし、右上のメニューより学習したいカテゴリーを選ぶことができます。公式サイトにアクセスして使い、主にブロックを並べる形式のビジュアルプログラミングでプログラミングを学習することができます。
URL: https://code.org/
⑧LINE Entry(ラインエントリー)
LINEが運営している無料の学習用プログラミング環境です。主にブロックを並べる形式のビジュアルプログラミングでプログラミングを学習することができます。公式サイトにアクセスして使います。URL: https://entry.line.me/
⑨Phyon(パイソン)
世界的に使用されているプログラミング言語です。AI分野でも広く使われており注目されています。公式サイトからアプリをダウンロードしてプログラミングを行います。「タートル」という機能により、お絵描きをしながら本格的なプログラミングを学ぶことができます。本格的なプログラミング言語ですが、ゲーム感覚でお絵描きなどを楽しむことができます。
プログラミング画面
プログラム実行画面
ゲームによるプログラミング学習についてよくある質問
ゲームも含めたプログラミング学習についてのよくある質問には次のようなものがあります。ゲームやアプリを活用したプログラミング学習は何歳から始めるべき?
お子さんが幼児の場合などは、子どもが興味を示せばプログラミング学習を行っても良いでしょう。コンピュータを使わないアンプラグドプログラミングは幼児向けのものもあります。小学校でプログラミング教育が必修化されたことや、中学校、高等学校でもプログラミングの学習内容が強化されましたので、小学校高学年くらいからはコンピュータを使ったプログラミングを少しずつ始めておいた方が、その後進学に伴う学習がスムーズです。
未就学児や小学校低学年でも楽しく学べるアプリ・ゲームのおすすめは?
未就学児の場合はコンピュータを使わないアンプラグドプログラミングから挑戦してみると良いでしょう。ギガミックのコリドールキッズ、プリモトイズのキュベットなどがあります。コリドールキッズ©2021_PrimoToys_Cubetto
低学年からはコンピュータを使うプログラミングに挑戦してみると良いでしょう。例えばビスケットは小さなこどもでも操作しやすいお絵描き機能もありますので、自分で描いたキャラクターを動かして、楽しみながらプログラミングを行えます。
ゲームではなくより本格的なコーディングにチャレンジしたい場合は何から始めるべき?
すぐに始められるという観点から、まずは書籍を用意して学習するのが基本です。ビスケットで選ぶなら「ビスケットであそぼう – 園児・小学生からはじめるプログラミング-」(翔泳社)、スクラッチで選ぶなら「スプラッチプログラミング事例大全集」(技術評論社)がおすすめです。補足的情報やサンプルプログラムなどはネットから収集しても良いでしょう。さらに、必要な場合や興味が増した場合は、先生にわからないところを逐一確認できるプログラミングスクールに行くのも良いでしょう。まとめ
ゲームはこどもから大人まで楽しめ、プログラミングについて学ぶモチベーションも上がる領域です。ゲームを操作したり、簡単なゲームを作成したりして、ゲームを通してアルゴリズムやプログラミングを楽しみながら学んでみましょう。プログラミングの学習が進んだら、ゲームで遊んだり学んだりする側から、ゲームを作る側ったり提供したりすることを目指してみるのもよいでしょう。
※Scratch(スクラッチ)[ウェブアプリ、パソコン・タブレット用アプリ]。Scratchは、MITメディア・ラボのライフロング・キンダーガーテン・グループの協力により、Scratch財団が進めているプロジェクトです。https://scratch.mit.eduから自由に利用できます。CC BY-SA 2.0。