3

私は現在、pygame の RTS を作成しており、効率的な衝突検出、状態システム、より多くの機能を備えたスプライトなど、一般的なもののために pygame の上に多数のモジュールを作成しました。Rect と Surface を除いて、ゲームを作成している間、私は Pygame 自体への呼び出しをほとんど作成しません。

これについてグーグルで調べてみると、ほとんどのゲームデザインで実際に pygame を引き継いでいると思われるものは見つかりませんでした。だから、他の誰かが pygame で構築されたエンジンを使用していて、それがうまく機能することを発見したかどうか疑問に思っていました. また、ゲームとエンジンをオープン ソースとしてリリースすることも計画していたので、他の人がどの程度の成果をあげているか、自分のエンジンに何をすべきか、または統合すべきかを知りたいと考えています。

4

1 に答える 1

6

Pygame 自体は基本的に、SDL 呼び出しに対する Python ラッパーです。本質的には、ラッパーをラップするだけだと思います。

いつでも独自のアダプター API を作成できますが、特に Pygame の API について、自分のコードから分離する必要があると感じるほど嫌いなことは何ですか?

カスタム衝突検出などの一般的なメソッドは、独自のエンジン モジュールに分離して、本質的にゲーム コードの残りの部分から分離できると思いますが、基本的には、このアプローチを使用して Pygame の上に重ねるだけであり、ラップすることはありません。

編集:
質問が変更されたので、フォローアップとして。短い答え、いいえ、私はどれにも精通していません。The Independent Gaming Source フォーラムをチェックしてみてください。それらの人々はかなりの知識を持っているようです。ここで見つけた回答を必ず投稿してください。

長い答えですが、SDL への呼び出しを処理する Pygame と追加のロジック (衝突検出など) の間の「エンジン」スペースと、ゲーム コード自体が小さすぎて、誰もジェネリックを記述できない可能性があります。そのためのライブラリ。本質的に異なるタイプのゲームには異なるエンジン要件があり、すべてのゲーム タイプで共有されるエンジンの一般的な部分は Pygame 自体でカバーされているようです。

Pygame で RTS ゲームを作成したことがあれば、RTS エンジンをゲーム ロジックから切り離すことができます。おそらく、関心を分離することで全体的な設計に役立つでしょう。また、Pygame で RTS を書きたいと考えている他の人々が恩恵を受けることができるように、そのエンジン部分をリリースする価値があるかもしれません。

于 2009-10-23T20:27:02.700 に答える