pygameとは
pygameは、
Pythonでビデオゲームを開発するための
クロスプラットフォームなモジュール群です。グラフィックスとサウンドを扱うためのライブラリを含み、
SDLライブラリの上に構築されています。これにより、
C言語のような低レベルな操作を意識することなく、
Pythonのような高水準言語でゲーム開発が可能になります。特にグラフィック処理など計算負荷の高い部分はゲームロジックから切り離せるため、
Pythonのような言語でも効率的なゲーム開発が実現します。
歴史
pygameは、開発が停止したpy
SDLライブラリの後継として誕生しました。当初はPete Shinners氏によって開発され、
GNU Lesser General Public Licenseの下で公開されました。2004年から2005年頃にはコミュニティプロジェクトとなり、多くの開発者によって活発に開発が進められています。pygameに関する豊富なチュートリアルが存在し、小さなゲームを制作するコンテストも開催されるなど、コミュニティも活発です。
開発の停滞とpygame2の登場
2009年8月にリリースされたバージョン1.9.1を最後に開発が一時停滞しました。その後、pygame reloadedとしてpygame2の開発が進むかに見えましたが、実現には至りませんでした。しかし、2016年末から開発が再び活発化し、2019年までにバージョン1.9.2から1.9.5がリリースされました。バージョン1.9.5以降は、pygame2の開発が本格的に再始動しました。
2019年3月31日には、リファクタリング版としてバージョン1.9.5がリリースされ、
SDL2のサポートが統合されました。これにより、同じコードベースで
SDL1と
SDL2の両方に対応できるようになったため、pygame2への移行がスムーズに進むようになりました。pygame2が
SDL2に対応した状態でリリースされるまでは、
SDL1ベースのpygame 1.9.xのリリースも継続されました。
そして、2020年10月28日、pygame20周年の記念日に、待望のバージョン2.0.0安定版がリリースされました。
pygame2の開発
pygame2が完成したとみなされるには、以下のマイルストーンが設定されていました。
pygameのAPIがSDL2上で後方互換性を保ちながらほぼ動作すること。
動作しない部分がある場合は、その旨が明記されていること。
少なくともMac、Linux、Windowsのバイナリが、Python 2.7, 3.4, 3.5, 3.6, 3.7に対応し、32ビットと64ビット版が提供されること。
これらの目標を達成し、pygame2は正式にリリースされました。
pygame2 リリース履歴
pygame2は、以下のpre-releaseを経て、正式版がリリースされました。
2019年5月5日 pre-release Dev.1
2019年6月20日 pre-release Dev.2
2019年7月14日 pre-release Dev.3
2019年10月8日 pre-release Dev.4
2019年10月28日 pre-release Dev.6
2020年5月6日 pre-release Dev.8
2020年5月31日 pre-release Dev.10
2020年9月20日 pre-release Dev.12
2020年10月11日 pre-release Dev.14
2020年10月20日 pre-release Dev.16
2020年10月21日 pre-release Dev.18
2020年10月22日 pre-release Dev.20
2020年10月23日 pre-release Dev.22
2020年10月27日 pre-release Dev.24
2020年10月28日 2.0.0 安定版リリース
pygame 1.9.x: Python 2.7, Python 3.4 - 3.7
pygame 2:
Python 3.4 - 3.8 (
Python 2.7のサポートも継続)
pygameを使用しているゲーム
pygameは、多くのゲーム開発に利用されています。
Slingshot
en:Frets on Fire
en:Dangerous High School Girls in Trouble
Space Max (shoot them up)
学習資料
pygameを学ぶための書籍も出版されています。
Game Programming the L Line: Pythonとpygameを使ったゲーム開発の入門書
Introduction to Computer Science Using
Python and Pygame:
Pythonとpygameを使ったプログラミング入門書(電子書籍)
関連ライブラリ
pygameと組み合わせて使用できる2Dエンジンやライブラリも存在します。
Pygame Utilities (PGU): タイルエディタやレベルエディタ、GUI強化ツール、スプライトエンジンなどを含む。
Pyglet: OpenGLベースのライブラリで、ゲームやリッチなビジュアルアプリケーションに使用。
MirthKit: クロスプラットフォームの2Dゲーム開発ツールキット。
外部リンク
pygame公式サイト — pygameのドキュメント、Wiki、ニュース、ダウンロードなど
Pygameニュースグループ — pygameの公式ニュースグループ
pyOpenGL —
Python用OpenGLバインディング