・ゲーム作りって、どうよ?
最近、Pythonでのゲーム作成に熱中しております。僕がおススメさせていただいた書籍で、実践編としてゲーム作成があるからです。 作業自体は、なかなかハードなのですが、面白いです。
この書籍に限らず、多くのプログラミング言語の指南書では、ゲーム作りを推進しています。やっぱり、つくっているのは楽しいですし、つくり終わって遊べるのでお得ですね。
以前学習した言語の指南書でも、ゲームを作成しておりました。そのときには、わりと簡単に作れるミニゲームでした。ですが、上記書籍のゲームは、けっこうガチだと思います。
いまプログラミング学習をされている方に向けて、記録します。「学習の発展として、いきなりゲーム作成するのも、悪くないのでは?」というご提案です。
・プログラミングの総復習になる作業
シューティングゲームを例にとらせていただきます。当然、ゲームですので、敵や味方を問わず、いろいろな対象物があります。移動する敵の対象物や、それを捕捉する弾道も、もちろん表現しなくてはなりません。
そういった対象物を扱うには、データ型の知識が不可欠になります。大量のデータを扱うことになるため、オブジェクト指向(データをまとめて扱う手法)が効率よい方法論になります。ゲーム作成は、オブジェクト指向のプログラミングを学習するうえでの、またとない教材になってくれます。
もちろんデータ型以外の知識も、適宜必要になってきます。たとえば、敵の出現するマップがあったとして。それらを表現するには、たいていのゲームでループ構文が出てきます。
データ型、および文法などを復習しながらアウトプットできますので、これは良い勉強です。
・ゲーム作りでは、ゲームエンジンの理解も必須
一般に、ゲームを作成する際には、ゲームエンジンと呼ばれるソフトウェアが必要になります。簡単にいえば、ゲーム作成の際に出てくる処理を、まとめた外部ファイルです。Pythonでは、pygameという外部モジュールがあります。当然のことながら、僕もよく利用させていただくモジュールです。
ぶっちゃけた話になります。じつは、Python文法をガツガツ覚えること、それ自体には、大した意味がありません。ちょっと語弊があるかも知れませんが。
文法知識の膨大な組み合わせによって、プログラムが構成されているので、個別の小さなことを覚えても、実践としては使えないことが多いのです。
極めつけに、pygameモジュールで使用する関数などは、Pythonで使用する標準の関数には当然ふくまれておりません。つまり、外部モジュールについては、適宜使い込んでいくことになります。
基本文法はめちゃめちゃ大事ですが、それ自体には発展性がないことが、お分かりいただけたかと思います。あくまで基本処理のまとめ、というわけです。
・実際につくるのが、一番の勉強
プログラミングに限りませんが、実際に作成する工程が、とても大事なのだと思います。
とりあえず、サンプルコードを打ち込んでみましょう。そのあと、気になる部分をいじり倒してみましょう。
だんだん、Pythonと外部モジュールが、手に馴染んでくる感覚ができます。
語郎