質問: ### 今までに以下の書籍を読みました。 「退屈なことをpythonにやらせよう」 「pythonではじめるデータラングリング」 ### やりたいこと ・最終的には2Dシューティングが作りたいです。 できればアプリやゲームとして公開できるくらいになりたいです。 シューティング作るならpythonでなくてもいいだろう。と思われるかもしれませんが、C#→Ruby→pythonをかじりましたが、一番わかりやすいのがpythonでした。
回答: 2Dシューティングというとゲームのことですよね? `python`でゲームを作るなら、`pygame`というゲーム用に特化した ライブラリがあります。 `pygame`は、いくつか書籍が出ていますけれども、2Dシューティン グゲームを作成するという特化したものはおそらくまだ出ていない のではないかと思います。 私は読んだことはないのですが、 ゲームを作りながら楽しく学べるPythonプログラミング (Future Coders(NextPublishing)) の8章に、シューティングゲームが記載されているようです。最近出された本 なので、コードが古いということもないでしょうし、バージョン関係にとりあ えず悩まされる心配はなさそうです。 `pygame`は、無料で豊富な情報がネットに載っています。 蛇足かも知れませんが、以下におすすめのサイトを載せます。 pythonでゲームを・・・ 私が知る限りシューティングを載せているサイト(日本語)ではここです。 主さんは備忘録的に書いてあるようですが、わかりやすく解説してくださっ ております。タダだし、非常にいいと思います。シューティングのタイプは、 **インベーダーゲーム**、**ブロック崩し**、そして、**戦闘機の画面進行型** のゲームがのってあり、大変力になると思います。 他にも、現在も活発に更新されているらしきサイトとして、 海外のものになりますが、更に蛇足になりますが、 Making Games with Python & Pygame (English Edition) Program Arcade Games With Python And Pygame のようなサイトがあります。上はパズルゲームがすごい充実しています。 pdfファイルがダウンロードできるようになってます。 ただ、コードの組み方は関数型であり、`class`を利用したゲーム開発 は学べませんでした。しかし、第1章から第3章までの`pygame`の基本は 参考になると思います。 下は海外にあるプログラミングの専門学校が公開しているらしきサイトで 各国語に翻訳されている新進気鋭のサイトのように思います。そこで学んだ 人たちがいろんなゲームを作れるようになっているということで、内容に信頼 が持てます。書籍も出ていますが、私が買った頃は、シューティングゲームは 無かったと思います。基礎からすごい細かく学んでいく印象を受けましたので、 道のりは結構遠く感じるかもしれません。動画もたくさん張り付けてあるので、 ありがたいのですが、一個一個見るのは時間がかかります。 後は、`pygame`にそもそも備わっているExamplesモジュールの中の ゲームを実行して見られてはいかがでしょうか。また、`pygame`の 本家サイトにも、cookbookという形で、サンプルゲームのコードが多く 載っています。