2

私はjs/html5で、さらにはirrlichtを使用してc ++でさまざまなエンジンを使用していくつかのゲームを構築しました(ogreを試しましたが、irrlichtのシンプルさが好きです)。

次のステップはゲームエンジンの構築です。C++の経験があり、v8を使用したことがあるので、グラフィック用のDirectXと物理用の弾丸をラップするためにv8を使用するWindows専用のゲームエンジンを作成することを考えています(残りは決めていません)、次に、これらのc ++ apiを呼び出す私のゲームエンジンの大部分を含むjsファイル/文字列を呼び出します。その後、ユーザーはjsを使用してゲームを完全に構築できます。

問題は、PCで他のAAAタイトルと競合する商用ゲームを作成する場合、実際にv8 / jsを搭載したゲームエンジンを使用する必要があるのか​​、それともc++ですべてを実行するのかということです。

なぜ私はこれを求めているのですか?
1)私が使用するすべてのC ++ APIは、jsで使用するためにv8でラップされます。
2)v8 /jsはC++ポインターと手動メモリ管理(ガベージコレクション)に勝ちます

ポイント2がなかったら、c ++を使用しますが、今はjsを使用したいのですが、いつか本物のゲームを作りたいと思っているので、それが私の質問につながります(AAAタイトルではないかもしれませんが、それは私が望むパフォーマンスと品質)、そして新しいプロジェクト/ゲームごとに新しいものを作る(または新しいものを選ぶ)のではなく、1つのゲームエンジンだけを作ることを好みますが、ポイント1を考慮すると、それはC++の割り当てですapiはラッピングするので、パフォーマンスの問題が発生するのではないかと思います。

4

2 に答える 2

2

C ++は、その高性能のために、いくつかのゲームエンジンの開発に使用されてきました。したがって、より効率的で高速なゲームを作成したい場合(コーディング方法にもよりますが、効率的なコードが間違いなく違いを生みます)。はい、C ++にはガベージコレクションがありませんが、C ++が提供するパフォーマンスは、メモリ管理を手動で処理する価値があります。好みが効率的なゲームエンジンを作成していて、時間があれば、C++を使用する必要があります。

于 2012-07-11T18:02:54.527 に答える
1

私はMMOゲームの経験があり、確かに言うことができます

C ++は、パケット暗号化方式、SQLクエリ速度、アプリケーション自体の速度、マルチスレッドの可能性、一度に数百万の関数を処理するため、サーバーマルチプレーヤーオンラインゲームに適しています。(例:オンラインで500人のプレーヤー、別の位置に移動するために500人のプレーヤーがパケットを送信する場合、CPacketHandle :: OnPlayerMove(CPacket * pPacket、D3DXVECTOR3 * pPos ....)という関数はパケットで500回呼び出されます)。

C ++ですべてを手動で管理できます。何かが自動である場合、希望どおりに処理できない状況が発生する可能性があり、以前のコーディングで誤解を招く可能性があります。私の意見では、実際には他の言語よりもC++を使用します

于 2012-07-11T18:09:27.027 に答える