Pygame

pygameとは



pygameは、Pythonでビデオゲームを開発するためのクロスプラットフォームなモジュール群です。グラフィックスとサウンドを扱うためのライブラリを含み、SDLライブラリの上に構築されています。これにより、C言語のような低レベルな操作を意識することなく、Pythonのような高水準言語でゲーム開発が可能になります。特にグラフィック処理など計算負荷の高い部分はゲームロジックから切り離せるため、Pythonのような言語でも効率的なゲーム開発が実現します。

歴史



pygameは、開発が停止したpySDLライブラリの後継として誕生しました。当初は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 安定版リリース

サポートするPythonのバージョン



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の公式ニュースグループ
pyOpenGLPython用OpenGLバインディング

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。