2011-01-02 2 views
7

私はいくつかのPCゲーム開発で私の手を試してみたいです。私はPythonがC++に比べて遅いと聞いています。これは私が心配すべきことですか?「遅い」とはゲーム開発のためのPythonですか?

私はC++よりもPythonに精通しています。私がいくつかのゲームを作ろうと思っているのであれば、C++を学ぶか、Pythonに固執すべきでしょうか?

+5

どのようなゲームですか?それはsudokuや3D FPSのような単純なものですか? –

+1

また、いくつかのゲームでpython(またはLUAなどの別の "スクリプト"言語)を使用することを検討してください。つまり、C/C++で書かれたエンジンで重いグラフィックス/レンダリング/物理(CPU/GPUの処理が本当に問題になる)が実行され、ゲームロジック/メカニクスは(しばしば)ハンドオフされます。 –

答えて

5

Eleven-seven。

いいえ、本当に、ほとんどのものにとっては十分速く、本当にスピードが必要な場合はCにドロップできます。プロフィールを2回、一度最適化します。

+2

スペルミス - それは "Elebenty-seven" – Steve314

12

開発に時間がかかり、実行時に遅いという違いがあります。 2人を混乱させないように注意してください。

多くのゲームでは、ユーザーの入力を待っている時間やタイマーが遅れるのを待つ時間がほとんどです。このような場合、ランタイムスピードは一般的に重要ではなく、開発スピードが重要です。開発スピードは可能な限り速く、できるだけ安価に市場に出すことができます。このタイプのゲームでは、高水準言語が適切な選択肢です。

高性能を必要とするゲームでは、一般にエンジンはC++のような言語で書かれていますが、スクリプトは高水準言語で実行できます。 Pythonだけが選択肢ではありません。 Luaはおそらくゲームのスクリプト言語として最も一般的な選択です。

+0

ですが、私はあなたに同意しますが、単に "Pontifical Catholic University of Rio de Janeiro in Brazil"を読んで、これを絶対に勧めないようにしています。 – StefanNch

+0

@StefanNchあなたが飲んでいるものは何でも...私はいくつかしたい –

+0

@ Steve amen ... hic! – StefanNch

4

ゲームの種類は非常に重要です。大名のPCやコンソールゲームのようなハイパフォーマンスゲームは、ほぼ独占的にC++のドメインです。

カジュアルゲームは、などのPythonのような言語が遅いなど、ほとんどの言語で作成できます。

初めての単純なゲーム開発で手を濡らすガレージタイプの開発者は、Pythonだけで十分です。しかし、ゲーム開発者のスタジオで働くという野心があるなら、C++を学ぶことをお勧めします。

2

多くのトップエンドの商用ゲームではありませんが、最近ではゲームロジックのための何らかの種類のスクリプトエンジンが含まれています。ゲームロジックの決定は、ほとんどの場合、パフォーマンスの影響を特に受けません。レンダリングエンジンはです。

BTW - 私は、ゲーム開発のあらゆる内部知識を主張していません。これは、業界外ではかなりよく知られています。いくつかのゲーム出版社は、ユーザーがゲーム用のスクリプトやその他のツールにアクセスすることを許可しています。

Pythonで使用するようにラップされたゲームエンジンを見つけたら、同じ基本原則を扱います。 Pythonでゲームロジックを書くと、おそらく大丈夫でしょう。

PyGameは基本的にPython用にラップされており、基本的な2Dゲームをほとんどサポートしています(ただし、OpenGLはPyGameを認識できないSDLでも使用できます)。

良い出発点です。非常に基本的なグラフィックスだけがSDLによって処理されるので、ゲームオブジェクトを管理してblitループを実行することでパフォーマンス上の問題が発生する可能性がありますが、ほとんどの場合、それは問題ありません。

Ignacioは、パフォーマンスの問題があることを知っているときに、パフォーマンスの問題を心配しています。パフォーマンス上の問題のいくつかは事前に予測できますが、実際のゲームエンジンをPythonで記述していない場合は、問題ありません。早すぎる最適化トラップではありません。

-4

オブジェクトの向きがはるかに簡単です。 C++のほとんどのIDEはプロジェクトに基づいているため、IDLEは単一のファイルに基づいているためです。

最終行はゲーム開発用で、使い慣れたものを使用してください。つまり、ゲーム開発は、あなたがしたいことではなく、より良くなるものではなく、あなたが望むものが良いということです。

関連する問題