私はPygameである程度の経験がありますが、最近Pygletの周りには多くの話題があるようです。
これらの2つのライブラリをどのように比較しますか?機能と使いやすさの両方で、どちらを使用する利点は何ですか?
最後に、1つは他よりPythonicicだと思いますか?
小さな2DシューティングゲームとしてPygameとPygletの両方を検討していました。ソースコードといくつかのチュートリアルを確認した後、Pygletを使用しました。結果にはとても満足していました。
ピグレットはすぐに動作し、動作するように楽しく、概念的には非常にきれいでした。間違いなくPythonicな感じがしました:簡単で読みやすい例が非常に迅速に処理され、デコレータを使用してイベント処理に優れた効果をもたらします。また、特定のプログラム構造を強制しなかったため、Pymunkの物理モデリング( http://code.google.com/p/pymunk/ )を簡単に組み合わせることができました。
それはOpenGLに基づいており、それらの機能を特殊効果に使用できますが、それらの知識がなくても問題なく実行できました。
多くの人がPythonインタープリターをインストールしていないため、これは重要なpy2exeとpy2appでもうまく機能します。
不利な点としては、それがより新しいので、ウェブ上でそれについての情報が少なくなり、見られるサンプルゲームが少なくなります。
また、以前のバージョンからかなり変更されたため、一部のチュートリアルは古くなっています(「新しいスタイルのイベントループ」と主要な追加としてのSpriteクラスがあります)。
例をダウンロードして(Astraeaと呼ばれるNice Asteroidsクローンが含まれています)、スタイルが気に入ったかどうかを確認することをお勧めします。
Pygame:LGPLライセンス
Pyglet:BSDライセンス
PygameはSDLライブラリに大きく依存しています
Pygletは純粋なpython依存関係の少ないライブラリです。OpenGLをよりよく理解する必要があると思います
Pygameは長い間このあたりにあり、多くの人々がこれを使用しています
Pygletは新しいlibです
Pygameはゲーム開発向けです(カーソル、スプライト、ジョイスティック/ゲームパッドのサポート)
Pygletはより一般的な目的です(Spriteクラスがあります)
私はpyglet-usersメーリングリストでこの議論も見つけました: pygame + pyopenglからpygletへ
免責事項:私はまだどちらも使用せず、いくつかのチュートリアルのみを試しました;-)
ゲーム自体の中でベクターグラフィックスやプリミティブを描画するつもりがなく、ディスクからのイメージのロードのみを行う場合は、Pygletが適しています(2Dゲームの場合)。また、独自のゲームループを作成する必要がなく、速度とタイミング、および応答性を心配する必要がないため、非常にクリーンです。
ただし、グラフィックをオンザフライで生成し、変数またはファイルとして保存する必要がある場合、低レベルのOpenGL関数をいじくりまわす必要があるため、pygletはかなり複雑になります。これらのシナリオでは、pygameはソフトウェアレンダリングとSurfaceクラスを備えているため、はるかにユーザーフレンドリーです。または、Python Imaging Libraryを使用して、pygletとインターフェースすることもできます。
明らかに、3Dゲームの場合は、とにかくOpenGL関数をいじくりまわす必要があります。その場合、pygame + PyOpenGLよりもpygletをお勧めします。
高速なスプライトライブラリ Rabbyt があることを付け加えておきます。これは、Pygletの優れた補完物となる可能性があります。
Pygameとpygletの両方を調べたところ、pygletは簡単に入手でき、数日で簡単なブレイクアウトスタイルのゲームを作成できました。