これまでにゲームをプログラミングしたことがない場合は、Python と Pygame から始めることをお勧めします。すでにプログラマーであれば、Python 自体は非常に簡単に習得できます。
Pygame を使用すると、「接着剤」の作成や、ウィンドウ管理やサウンド設定などのありふれた低レベルの詳細の処理にほとんど時間を費やすことはありません。ほとんどすぐにゲーム ロジックをプログラミングし、すぐにblit
左右に移動することになります。さらに、ゲームのプロトタイプを実行するのは非常に簡単なので、メカニックの実験を始めることができます.単純な小さな横スクロールプラットフォーマーを数時間でプログラムしました.
パフォーマンス
Pygame を使用した Python のパフォーマンスは通常、単純なゲームではまともですが、特に Linux では、「スムーズにスクロールする」ゲームのパフォーマンスが低下する可能性があります (少なくとも私の経験では、pygame.display.update()
Linux ではフレームあたり 15 ~ 30 ミリ秒かかり、4 ~ 5 ミリ秒かかりました)。ただし、これは 2 年前のことであり、Linux Intel ドライバーは最近改善されています)。さらに、物理/数学の多いコードを使用している場合、Psyco は大幅な高速化 (場合によっては 20% - 200%) を提供できますが、x86 コンピューターでは 32 ビット Python に制限されます。
ゲーム ロジックの大部分を完成させても、パフォーマンスがまだ不十分な場合は、C と SDL に切り替えることができます。ゲーム ロジックは既に記述しているので、あとは SDL を直接処理することに専念する必要があります。それもかなり簡単なはずです - Pygame は内部的に SDL を使用しているので、変換は比較的簡単です。
OpenGL
残念ながら、上記は 2D ゲームを作成している場合にのみ当てはまります。Pygame は基本的に OpenGL の助けにはなりません。ただし、OpenGL でゲーム プログラミングを開始することはお勧めしません。最初は理解するのがかなり難しい場合があるため、一度に 2 つの問題に直面することになります。まず、ゲームのロジック/物理学/AI などを取得する方法を理解しようとしています。作業しているのに、OpenGL を理解するのに苦労しています。最終的に OpenGL を学習することは価値がありますが、最初から始めるのではなく、基本から始めてそこから学習することをお勧めします。
クロスプラットフォームに関する考慮事項
クロスプラットフォームに関する限り、py2exe (Windows 用) とpy2app (Mac 用) を使用すると、依存関係 (Python インタープリターと Pygame を含む) を含む個々の実行可能ファイルをビルドできます。ただし、Linux 環境から実行可能ファイルをビルドすることはできないと思います (おそらく、Windows/Mac コンピューターを数分間借りることができる必要があります)。Linux の場合、Pygame を Dependency として (必要に応じて Psyco を Recommends または Suggests として) リストする .deb を配布するだけです。