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

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

ゲームプログラミングが面白すぎる件【Python・pygame】

f:id:kataroh:20201212211002p:plain

 (写真は、以下書籍のコード実行による)

 

 

pygameによるゲーム作成

Pythonの外部モジュールを使って、インベーダーゲーム様の2Dゲームを作りました。といっても、ほぼほぼ、いつもご紹介する書籍(Python入門 実践編)のコードを打ち込んだものです。

 

ぶっちゃけ、高校生のころに比べると、最近では全くコードを書かなくなっていました。なので、ソースコードの分量が多く、ちょっと大変ではありました。

 

ですが、実践を通じて、いろいろ学べましたので、忘れないうちに記録しようと思います。これから、ゲームを作りたい方へ向けて、記録します。

 

 

・ゲーム作成を通した感想

以前の記録にも書かせていただきました。そのときの記載と被ってしまうのですが、やっぱりデータ構造の勉強になります。そのほか、Pythonの基本文法とデータ処理の仕組みについて、実際にゲーム画面を動かしながら把握できます。

 

ちょっと文法をしくじると、ゲームが動かなくなります。たとえば、コード内に全角文字を入れこんでしまったり。たったそれだけで、英語のエラー表示がでます。バグを見つけるまで大変です。

 

あと、繰り返しになりますが、ゲームエンジン自体の動作について、理解が深まります。ここでいうところの、pygameについて、網羅的に把握できる機会になるでしょう

 

ソースコードの行数は、全部のファイルを合算すると、500行を超えていました。 ミニゲーム作成ですと、せいぜいが100~200行程度ですので、ちょっとボリューミーでしたね。そういう意味で、ガチなゲーム作成の場面を作れて、良かったです。

 

あと、やっぱりゲーム作成者にしか分からない感覚かも知れませんが。細かい挙動を支配できる感覚がありますね。むちゃくちゃ、ゲームを難しくしたり、逆にチートみたいな隠し機能を実装したり。面白いっすわ。

 

 

・ちょっと、気をつけること

いや、べつに大したことでは、ないのですが。pygameでは、フルスクリーンモードといって、画面いっぱいにゲームを表示する機能があります。この機能なのですが、使用しているOSとハードの状況によっては、変わった挙動をすることがあります。

 

実際に僕も経験したところになります。フルスクリーンモードをコード内で使用して実行すると、ゲーム画面の上端と下端が完全に、端末の画面からはみ出てしまいます。そうなると、はみ出た部分が表示されません。

 

ゲーム表示画面では、終了するバーが見えなくなって押せない、という過酷な状況になるので、基本はゲーム画面の大きさは数値指定の方がいいかも知れません。

 

 

 

語郎