有給医のライフハック記録

医師の語る人生最適化戦略

プログラミング初心者こそ、ゲーム作成すべき理由

 

 ・ゲーム作りって、どうよ?

最近、Pythonでのゲーム作成に熱中しております。僕がおススメさせていただいた書籍で、実践編としてゲーム作成があるからです。 作業自体は、なかなかハードなのですが、面白いです。

 

この書籍に限らず、多くのプログラミング言語の指南書では、ゲーム作りを推進しています。やっぱり、つくっているのは楽しいですし、つくり終わって遊べるのでお得ですね。

 

以前学習した言語の指南書でも、ゲームを作成しておりました。そのときには、わりと簡単に作れるミニゲームでした。ですが、上記書籍のゲームは、けっこうガチだと思います。

 

いまプログラミング学習をされている方に向けて、記録します。「学習の発展として、いきなりゲーム作成するのも、悪くないのでは?」というご提案です。

 

 

・プログラミングの総復習になる作業

シューティングゲームを例にとらせていただきます。当然、ゲームですので、敵や味方を問わず、いろいろな対象物があります。移動する敵の対象物や、それを捕捉する弾道も、もちろん表現しなくてはなりません。

 

そういった対象物を扱うには、データ型の知識が不可欠になります。大量のデータを扱うことになるため、オブジェクト指向(データをまとめて扱う手法)が効率よい方法論になります。ゲーム作成は、オブジェクト指向のプログラミングを学習するうえでの、またとない教材になってくれます。

 

もちろんデータ型以外の知識も、適宜必要になってきます。たとえば、敵の出現するマップがあったとして。それらを表現するには、たいていのゲームでループ構文が出てきます。

 

 

データ型、および文法などを復習しながらアウトプットできますので、これは良い勉強です。

 

 

・ゲーム作りでは、ゲームエンジンの理解も必須

一般に、ゲームを作成する際には、ゲームエンジンと呼ばれるソフトウェアが必要になります。簡単にいえば、ゲーム作成の際に出てくる処理を、まとめた外部ファイルです。Pythonでは、pygameという外部モジュールがあります。当然のことながら、僕もよく利用させていただくモジュールです。

 

ぶっちゃけた話になります。じつは、Python文法をガツガツ覚えること、それ自体には、大した意味がありません。ちょっと語弊があるかも知れませんが。

 

文法知識の膨大な組み合わせによって、プログラムが構成されているので、個別の小さなことを覚えても、実践としては使えないことが多いのです。

 

極めつけに、pygameモジュールで使用する関数などは、Pythonで使用する標準の関数には当然ふくまれておりません。つまり、外部モジュールについては、適宜使い込んでいくことになります。

 

基本文法はめちゃめちゃ大事ですが、それ自体には発展性がないことが、お分かりいただけたかと思います。あくまで基本処理のまとめ、というわけです。

 

 

 

・実際につくるのが、一番の勉強

プログラミングに限りませんが、実際に作成する工程が、とても大事なのだと思います。

 

とりあえず、サンプルコードを打ち込んでみましょう。そのあと、気になる部分をいじり倒してみましょう。

 

だんだん、Pythonと外部モジュールが、手に馴染んでくる感覚ができます。

 

 

語郎