タグ付けされた質問 「c++」

C ++は、静的に型付けされた自由形式のマルチパラダイムでコンパイルされた汎用プログラミング言語です。

1
ウィンドウが接続されていないDirectX11
オフスクリーンレンダリングのみにDX11またはDX9を初期化して使用することが可能かどうか、つまりウィンドウが接続されていないことを意味します。私の意図は、実際のウィンドウを開く前にGPUベンチマークを行うことです。このベンチマークでは、いくつかのテストシーンがレンダリングされますが、表示されるべきではありません。(実際には、ベンチマークスコアに応じて異なるウィンドウが開きます)
13 c++  directx11 

3
ゲームループ、条件を1回確認し、何かをしてから、もう一度やる方法
たとえば、ゲームクラスがありint、プレーヤーの生活を追跡するを保持しています。条件付き if ( mLives < 1 ) { // Do some work. } ただし、この状態は引き続き発火し、作業は繰り返し行われます。たとえば、5秒でゲームを終了するタイマーを設定したいです。現在、フレームごとに5秒に設定し続け、ゲームは終了しません。 これはほんの一例であり、ゲームのいくつかの領域で同じ問題を抱えています。何らかの条件を確認してから何かを1回だけ実行し、ifステートメントのコードを再度確認したり実行したりしないようにします。頭に浮かぶ可能性のある解決策のいくつかboolは、条件ごとにを持ちbool、条件が発生するタイミングを設定します。しかし、実際には、これはboolsクラスフィールドとして、またはメソッド自体内に静的に格納する必要があるため、大量のを非常に扱いにくくなります。 これに対する適切な解決策は何ですか(私の例ではなく、問題の領域のために)?ゲームでこれをどのように行いますか?
13 c++  game-loop 

4
プレーヤーからゲームデータを非表示にしますか?
私は最初の(C ++)ゲームに取り組んでおり、コンポーネントベースのデザインを使用したいと考えています。最近、これについて多くのことを読みましたが、昨日、より柔軟でアクセスしやすいように、外部JSONファイルにオブジェクトデータを保存することにしました。 それから、これらのファイルをゲームのディレクトリツリーに残しておくと、プレイヤーが必要なものを非常に簡単に変更できることがわかりました。 ゲームはオープンソースになるので、開発者にコードを見せることを心配していませんが、経験の浅いゲーマーがゲームを壊したり、少なくとも楽しみを台無しにしたりするのではないかと心配しています。 何か不足していますか?(オープンソースゲームで)ゲームデータを非表示にするポリシーは何ですか?誰でも簡単にアクセスできるようにしておくのは普通ですか? そうでない場合、データを非表示にする良い方法は何ですか?
13 c++  data 

7
テクスチャリングに最適な(最も人気のある)画像形式[非公開]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 さて、OpenGLでC ++を使用しています。3Dゲームのテクスチャを読み込むローダーを作成します。(ただし、テクスチャは2Dです)。使用しないことにしたとしても、透明性のオプションが必要です。最高の品質である必要はありませんが、適切な品質が必要です。フォーマットについて何を提案しますか(PNG、TGAなど)。また、ローダーを簡単に作成できるものにすることもできます(作成済みのローダーは使用しません)。また、ローダーを支援するためのリンク/ヒントがあれば、それを歓迎します。
13 c++  opengl  textures 

5
C ++からLuaを使用するための推奨ライブラリは何ですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 5年前に閉鎖されました。 現在、2DゲームエンジンにLuaスクリプトを統合する方法を計画しています。C++クラスとオブジェクトを公開するための最も適切なソリューションに直行したいと思います。 私はこれを読みました(あなたが助けてくれるなら):http : //lua-users.org/wiki/BindingCodeToLua お勧めのより良いスクリプト言語がある場合は、それを選択してください; D すべての助けを歓迎します、私は感謝の実装を開始するための最良のソリューションをピックアップする必要があります
13 c++  lua 

5
ファイル用のカスタムコンテンツパッケージ
ゲームのプロトタイプを作成するために、かなりの数のモデルパックをWebサイトから購入しようとしています。契約書では、一般の人々がアクセスできないように保護する必要があると述べています。 私はValveゲームで働いたことを覚えています。彼らは基本的に各ゲームのすべてのコンテンツのアーカイブである.gcf(ゲームコンテンツファイル)を使用しました。サウンド/マテリアル/モデル/マップ/などに詰め込まれています。これに似たものを開発し、そこからファイルを追加/削除できる小さなツールを作成することは悪い考えではないかもしれないと考えました。 問題は、このようなことから始める方法が本当にわからないことです。Googleを試してみましたが、何を検索するのかさえ知りませんでした。誰かがアイデア、役に立つリンク、または他の何かを持っているなら、私はそれを大いに感謝します。
13 game-design  c++ 

8
C ++ベースのゲームの単体テストフレームワークはどれですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 5年前に閉鎖されました。 どのテストツールの組み合わせが最適だと思いますか?選択したフレームワーク/ライブラリを考えると、あなたは考慮するかもしれません: TDDへの適合性 使いやすさ/生産性 モックオブジェクトを扱う 継続的インテグレーションを使用したセットアップ エラー報告 注:これは潜在的にSOのような一般的な質問ですが、ゲーム開発は通常、テストの選択に影響する特定のワークフローにバインドされていると主張します。より高いレベルの観点については、質問「ゲームの自動テスト」を参照してください。
13 c++  testing 

1
オブジェクトごとに異なるシェーダーDirectX 11
私はを学習Direct3D 11しています。シェーダーの作成で見つけたすべての基本的なチュートリアルでは、VertexシェーダーとPixelシェーダーが書かれているため、シーン全体を同じように変換できます。テクスチャ付きキューブのレンダリングのようなチュートリアル... しかし、どうやってオブジェクトを区別するのでしょうか。たとえば、あるオブジェクトの鏡面をシミュレートし、別のシェーダーを使用して残りのシーンをレンダリングしたい場合はどうでしょうか?ほとんどのゲームでは、さまざまな外観と変換を実現するために、多くの頂点シェーダーとピクセルシェーダーを使用する必要があると思います。 ありがとうございました。
13 c++  directx11 

3
ゲームエンジンのアセットを識別しますか?
ロードされたアセットを特定したいのですが、どちらを選択すべきかわかりません。2つのオプションがあります。 名前(文字列) これはunordered_map(O(1))を使用すると最も簡単で高速ですが、整数を使用する場合よりもずっと遅くなります。 コードで簡単に理解できます。 整数 最速。 コードでは理解できません。 文字列はそれほど安全でも高速でもないことを知っていますが、それはそれほど悪いのでしょうか、それともAAAタイトルで悪いとみなされるだけですか?整数を使用するために列挙を作成できましたが、実行時にファイルからシーン、アセットなどをロードすると、列挙を使用できません。実行時に生成されたこれらの整数を読みやすくする方法はありますか? この問題にはインターネット全体にいくつかのスレッドがあることは知っていますが、どの場合にこれが重要であるかはわかりませんでした。

1
クラス間のデータと依存関係をきれいにエレガントに処理する方法
私はSFML 2の2Dトップダウンゲームに取り組んでおり、すべてがうまく機能し、調和するエレガントな方法を見つける必要があります。 説明させてください。drawメソッドとupdateメソッドをすべてのクラスに提供する抽象ベースから継承するクラスがいくつかあります。 ゲームループでは、updateを呼び出してから各クラスを描画します。これは非常に一般的なアプローチだと思います。タイル、コリジョン、プレーヤー、およびすべてのタイル/画像/テクスチャを含むリソースマネージャーのクラスがあります。SFMLでの入力の動作方法のため、各クラスで(必要に応じて)更新呼び出しで入力を処理することにしました。 これまで、必要に応じて依存関係を渡してきました。たとえば、移動キーが押されたときのプレーヤークラスで、衝突クラスのメソッドを呼び出して、プレーヤーが移動したい位置が衝突かどうかを確認します。衝突がない場合にのみプレーヤーを移動します。 これはほとんどの部分でうまく機能しますが、もっと良くできると信じています。どうすればいいのかわかりません。 実装する必要のあるより複雑なものがあります。例えば、プレーヤーは地面のオブジェクトに近づき、キーを押してそれを拾い上げたり、それをインベントリに表示することができます。これは、いくつかのことを行う必要があることを意味します。 プレイヤーがキーを押すとルート可能なアイテムの範囲内にあるかどうかを確認し、そうでない場合は先に進まないでください。 アイテムを見つけます。 アイテムのスプライトテクスチャをデフォルトのテクスチャから「looted」テクスチャに更新します。 アイテムの衝突を更新します。形状が変更されたか、完全に削除された可能性があります。 追加されたアイテムでインベントリを更新する必要があります。 すべてを通信させるにはどうすればよいですか?現在のシステムでは、クラスがスコープ外になり、メソッド呼び出しが至る所で行われます。1つの大きなマネージャーですべてのクラスを結び付けて、それぞれに親マネージャークラスへの参照を与えることができますが、これはほんの少しだけ良いようです。 どんなヘルプ/アドバイスも大歓迎です!不明な点がある場合は、詳しく説明させていただきます。
12 c++  2d  architecture  sfml 

2
ユーザーなしでゲームサーバーをストレステストしますか?
私はカードゲームとそのサーバーに取り組んでいます。ロビーには多くのテーブルと多くのプレイヤーがいます。唯一の問題は、何百人もの同時ユーザーなしで何百人もの同時ユーザーをどのように処理できるかをどのように確認できますか? この種のことは通常どのように行われますか?
12 c++  server  testing 

4
循環クラスの依存関係
互いに必要な2つのクラスがあるのは悪い設計ですか? 私はGameEngineいくつかのGameStateオブジェクトを持っているクラスを持っている小さなゲームを書いています。いくつかのレンダリングメソッドにアクセスするには、これらのGameStateオブジェクトもGameEngineクラスを知る必要があります。つまり、循環依存関係です。 この悪いデザインを呼んでもらえますか?よくわからないが、現時点ではこれらのことをリファクタリングできるので、私はただ尋ねている。
12 c++  architecture 

1
空きスペースでの効率的な経路探索
宇宙にゲームがあり、移動命令を発行したいのですが、これには経路探索が必要です。現在、A *などはほとんどがツリーに適用され、パス検索ノードのない空のスペースではないことを理解しています。現在、固定されたAABBとして表現されているいくつかの障害があります。つまり、境界のない「地形」障害はありません。さらに、ほとんどの障害物は、立方体または球体として合理的に近似できると予想しています。 だから私はずっと簡単な経路探索アルゴリズムを適用することを考えていました-つまり、現在の位置から目標位置に光線を投げるだけで、空間分割を使用して比較的迅速に障害物のリストを取得できます。私がよくわからないのは、注文したユニットが障害物の周りを移動する部分をどのように決定するかです。 私がこれまで考えてきたのは、単純に潜在的なフィールドを使用するということです。つまり、すべてのユニットは、互いに離れた強い反発力と、目的のポイントに向かって適度な力を感じるでしょう。これには、グループ命令を発行するために、別のエンティティに向けて中レベルの部隊を単純に命令できるという利点もあります。しかし、これは明らかに最適なソリューションを達成しません。 可能性のあるフィールドは、自分のパラメーターを考慮して合理的な近似を達成しますか、それとも別のソリューションが必要ですか?
12 c++  path-finding 

1
画面外のオブジェクトを指す画面の端に矢印を描画するにはどうすればよいですか?
このトピックで説明されていることを実行したいと考えています。 http://www.allegro.cc/forums/print-thread/283220 ここで述べたさまざまな方法を試しました。 まず、Carrus85で説明されている方法を使用しようとしました。 2つの三角形の斜辺の比を取るだけです(もう一方の三角形を使用しても構いません。計算する距離としてポイント1とポイント2をお勧めします)。これにより、大きな三角形からコーナーの三角形のアスペクト比のパーセンテージが得られます。次に、deltaxにその値を掛けてx座標のオフセットを取得し、deltayにその値を掛けてy座標のオフセットを取得します。 しかし、オブジェクトが画面の端からどれだけ離れているかを計算する方法を見つけることができませんでした。 次に、23yrold3yroldによって提案されたレイキャスティング(これまで行ったことのない)を使用してみました。 画面の中心からオフスクリーンオブジェクトに光線を発射します。光線が長方形のどこで交差するかを計算します。あなたの座標があります。 最初に、2つのポイントのx位置とy位置の差によって形成される三角形の斜辺を計算しました。これを使用して、その線に沿って単位ベクトルを作成しました。x座標またはy座標のいずれかが画面外になるまで、そのベクトルをループしました。2つの現在のxとyの値は、矢印のxとyを形成します。 これが私のレイキャスティングメソッドのコードです(C ++およびAllegro 5で記述されています) void renderArrows(Object* i) { float x1 = i->getX() + (i->getWidth() / 2); float y1 = i->getY() + (i->getHeight() / 2); float x2 = screenCentreX; float y2 = ScreenCentreY; float dx = x2 - x1; float dy = y2 …

2
ベクトルを使用して現実的な車の動きを作成しようとしています
私はこれを行う方法をゴーグルし、これを見つけましたhttp://www.helixsoft.nl/articles/circle/sincos.htm私はそれをやってみましたが、示された機能のほとんどが機能しませんでした存在しなかったからです cos関数とsin関数を見てきましたが、それらを使用する方法、またはベクトルを使用して車の動きを正しく機能させる方法を理解していません。申し訳ありませんが、コードがありません。 どんな助けも大歓迎です。 編集: ゲームにはTLエンジンを使用しなければならないという制限があり、物理エンジンを追加することはできません。C ++でプログラムする必要があります。ここに、私が提供したリンクで行われたことを追跡しようとすることから得たもののサンプルがあります。 if(myEngine->KeyHeld(Key_W)) { length += carSpeedIncrement; } if(myEngine->KeyHeld(Key_S)) { length -= carSpeedIncrement; } if(myEngine->KeyHeld(Key_A)) { angle -= carSpeedIncrement; } if(myEngine->KeyHeld(Key_D)) { angle += carSpeedIncrement; } carVolocityX = cos(angle); carVolocityZ = cos(angle); car->MoveX(carVolocityX * frameTime); car->MoveZ(carVolocityZ * frameTime);

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.