【pygame】Python3を勉強する際、どのライブラリを使うべきか悩んだ話【PySDL2】
Pythonを勉強しよう
突然ですが、実は私開発スキルの幅がかなーり少なく、まともにできるのはAndroidネイティブ開発とUnity用いたスマートフォンアプリ開発ぐらいだったりします。
こりゃやべえってなったので今Web側で需要がありそうな言語調べてPythonの勉強初めてみました。
なぜPython?
そもそもなぜ数ある言語の中からPythonを選んだかが、ですがいくつかの理由があります。
まず、自分がスマホのクライアント開発しか出来ない状態なのでWeb側で使える言語を探していました。 また以前から地味に気になっていた機械学習等にPythonが非常に向いている点、かつ海外では一般的にRubyよりPythonのほうが需要があると聞き、Pythonの勉強を始めることにしました。
私が選んだPythonの勉強方法
とりあえず何はともあれ無料で勉強したかったので、paizaラーニングにてPython3
を勉強してみることに…。
3って何?2もあるの??というレベルの初心者ですが一応paizaのPython3
コースは一通り完了。ただ最低限の文法が覚えた気がするけど、実用できる気が一切しない…。
ということで、元々スマホゲームアプリは作りなれているのもあって「勉強がてらPCで動くミニゲーム作ってみよう」という結論に至りました。
そしてその結果「Pythonでゲーム開発するならpygame」を使うと良いらしい、という情報をGETしました。
pygameの勉強しようとして気がついたこと
なにやらpygameは長年Pythonユーザーに親しまれてきたゲーム開発用のライブラリとのこと。 特に疑うこともなく、「へー」と思いながらpygameを触ってみることに。
で、さっそくpygameでHellowWorld作ったり、画像表示、キー入力サンプル作ってキャッキャしてた時にとあるサイトで衝撃の文章が…。
Pygameは、Pythonのゲーム制作用モジュールです。
主にコンピュータグラフィクスと音声を扱うための機能が備わっています。
このライブラリは複数のプラットフォームで統一的に使えるSDLというマルチメディアAPIライブラリから作られています。
よって、Pygameで作られたゲームはWindows、Mac、Linux上で動かすことが出来ます。
ただし、現在は開発が停止しています。(後継ライブラリはPySDL2)
…あれ?
ただし、現在は開発が停止しています。(後継ライブラリはPySDL2)
oh…
pygame、開発終了してるやん。
というより後継ライブラリがいるって事はpygameもう使わない方が良いってことでは…?
pygameを使わない方が良い理由
一応本当にpygame使わない方が良いの?という視点で調べて見たのですが…
- pygameの最新版は2009年8月にリリース。
- = Python3未対応
- = 64bit未対応
とのこと。
pygame公式で更新が… @ 7月2018年
ということでpygameの勉強は中止して、今後はPySDL2について調べてみようかな?と思ったけどpygameの公式サイトを見てみると思わぬ更新が。
pygame 1.9.4 released — 19 Jul, 2018
pygame、普通に更新来てた。
しかもちゃんとPython3.7対応してるっぽいです。
コレ見る限り、pygameを使うこと自体は特に問題なさそうですね。
まとめ
結局pygameとPySDL2どっち使おうかな?というのはまた今度調べてみます。
ただそもそもPytho自体詳しくないので、最新のpygameが使いづらくなってるとかじゃなければ昔から存在する=情報が探しやすいpygameの方を使う可能性が高めかな〜と思っています。