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

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


1
ゲームプログラミング:一般的な方法とデザインパターン[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 2年前休業。 私はOpenGL 3.xをよりよく学ぶことができるように非常にシンプルなゲームエンジンを書き始めましたが、3Dゲームの設計方法に関する経験が乏しく、まばらな知識なので、通常、クラスを設計する必要があることに気づく問題に直面します。違う。私が直面している他の問題は、ゲーム内で時間を簡潔に追跡し、必要に応じて動きを更新する方法と、レンダラーに再描画が必要であることを伝える方法です。また、オブジェクト間でさまざまなフラグを渡すためにGet関数とSet関数を作成する必要がありますが、これは悪い習慣ですか? だから、タイトルが言うように、私は私を助け、ゲームデザインのいくつかの一般的なデザインパターン(つまり、ゲーム状態ハンドラー、フォントなど)を説明する本や記事/チュートリアル、ソースに興味があります。 ところで、私はまだfreeglutを使用していますが、先に進む前に、またはOpenGLをよく理解した後で、より良いウィンドウシステムに移行することをお勧めしますか?

1
ターンベースのJRPG戦闘システムアーキテクチャリソース
過去数か月間、SDLライブラリーを使用してC ++で2D JRPG(和風RPG)をプログラミングするのに忙しかった。探索モードは多かれ少なかれ行われます。今はバトルモードに取り組んでいます。 私は、古典的なターンベースのJRPG戦闘システムがどのように構成されているかに関するリソースを見つけることができませんでした。私が見つけるのは、損傷の公式についての議論です。私はグーグルを試し、gamedev.netのメッセージボードを検索し、C ++関連の質問をここでStack Exchangeでクロールしました。また、既存のオープンソースRPGのソースコードを読み取ってみましたが、なんらかのガイドがないと、干し草の山から針を見つけようとするようなものです。 D&Dなどの一連のルールは探していません。私は純粋にコードとオブジェクト構造の設計について話しています。戦闘システムは、メニューを使用してプレイヤーに入力を要求します。次に、ヒーローと敵がアクションを実行するときに、バトルターンが実行されます。 誰かが私を正しい方向に向けることができますか?前もって感謝します。
9 c++  2d  architecture  sdl  rpg 


3
Bullet Physics / Ogre3Dを使用したRPGでキャラクターをどのように移動しますか?
最近、Ogre3Dゲームでのキャラクターの移動に問題があります。基本的には弾丸のRigidBody->translate()機能でキャラクターを動かしていますが、そうすると壁にぶつかると少し通り抜けて跳ね返ります。壁のある単純な平面タイプの世界で、自分のキャラクター(球の衝突形状を持つ)を移動する別の良い方法があるかどうか疑問に思っていますか? これに関連する私が使用しているライブラリは、「Ogre3D」と「Bullet Physics」です。

3
球と平面の間の衝突応答を計算するにはどうすればよいですか?
シンプルな3Dゲームを作成しようとしています。ゲームの世界の制限内でプレーヤーを制限する必要があります。プレイヤーが世界の側面にぶつかったとき、プレイヤーの船を少し跳ね返らせたいです。 事実、私はプレイヤーをボックス内に閉じ込め、側面から逃げるのを止めようとしています... ゲームワールドの限界を、法線と原点からの距離を持つ平面のコレクションとして定義できました。プレーヤーには球形の境界球があり、このウェブサイトhttp://www.gamasutra.com/view/feature/3383/simple_intersection_tests_for_games.phpから衝突を検出することができました。 衝突が検出されたときにどうすればよいのか、私はまったく理解できません。私が管理できる最高の方法は、プレイヤーが飛行機に詰まっている、まっすぐ進む、または非常に速い速度で繰り返し跳ね返ることです。 常識では、法線を使用して平面からの反射角度を計算し、それをプレーヤーの速度に適用する必要があると言われていますが、まず、プレーヤーが平面を通過したかどうかを確認する必要があります。いい結果になる。

1
WindowsのソースからDoom 3をビルドして実行するにはどうすればよいですか?
エンジンがどのように機能するかをよりよく理解するために、オープンソースリリースからDoom 3をビルドして実行しようとしています。残念ながら、ビルドしたバイナリからゲームを実行することはできません。私はコンソールを手に入れましたが、実際のゲームを実行できません。 これが私がしたことです: ゲームのリポジトリからソースコードをダウンロードした DirectX SDKをダウンロードしてインストールした SteamからDoom 3を購入、ダウンロード、インストール VS2010 SP1を使用して新しいフォルダーでソリューションを開きます プロジェクトを構築した 走った デバッグ設定のデフォルトのDoomソリューションは、デフォルトのSteam Doom3インストールパスを参照するようにコマンドラインを設定します。これは、vstudioからプロジェクトを実行するために使用されるデフォルトのコマンドライン引数です。 + set fs_basepath "C:\ Program Files(x86)\ Steam \ steamapps \ common \ doom 3" + set com_allowConsole 1 + set si_pure 0 これを行うと、次のログでコンソールが開きます。 DOOM 1.3.1.1304 win-x86 Jan 23 2012 00:50:27 1596 MHz Intel CPU with MMX …
9 c++  windows 

1
V8がSDLスレッドで実行されないのはなぜですか?
私は自分のゲームに対してV8をコンパイルしてリンクすることができ、コードの解釈はうまくいきました。ただし、コードを分割したいので、ゲームループは1つのスレッドに存在し、スクリプトエンジンはゲームループと一緒に2番目のスレッドで実行する必要があります。私はSDLを使用しているため、このコードを試して新しいスレッドを生成しました SDL_CreateThread(ScriptingEngine::SpawnMain, NULL); ここで、次のコードは私のテストスクリプトエンジンです。 namespace ScriptingEngine { v8::HandleScope handleScope; v8::Handle<v8::ObjectTemplate> global = v8::ObjectTemplate::New(); v8::Persistent<v8::Context> context; void Setup() { // TODO: bind functions to global // ... context = v8::Context::New(NULL, global); } int SpawnMain(void *arguments) { v8::Context::Scope scope(context); v8::Handle<v8::Script> script = v8::Script::Compile( v8::String::New("'Hello World'") ); v8::Handle<v8::Value> result = script->Run(); context.Dispose(); return …

1
私はこのコンポーネントアーキテクチャで正しい軌道に乗っていますか?
私は最近、深いクラス階層を取り除き、構成可能なコンポーネントで置き換えるために、ゲームアーキテクチャを刷新することを決定しました。私が置き換える最初の階層はアイテム階層です。私が正しい方向に進んでいるかどうかを知るためにいくつかのアドバイスをお願いします。 以前は、次のような階層がありました。 Item -> Equipment -> Weapon -> Armor -> Accessory -> SyntehsisItem -> BattleUseItem -> HealingItem -> ThrowingItem -> ThrowsAsAttackItem 言うまでもなく、乱雑になり始めており、これらは複数のタイプである必要があるアイテムに対する簡単な解決策ではありませんでした(つまり、一部の機器はアイテム合成で使用され、一部の機器はスロー可能です)。 次に、機能をリファクタリングして基本アイテムクラスに配置しようとしました。しかし、それから私はアイテムが未使用/余分なデータをたくさん持っていることを指摘していました。現在、私は他のゲームクラスに実行する前に、少なくとも私のアイテムに対して、アーキテクチャのようなコンポーネントを実行しようとしています。 これが、コンポーネントのセットアップについて私が現在考えていることです。 次のようなさまざまなコンポーネントのスロット(つまり、機器コンポーネントスロット、ヒーリングコンポーネントスロットなど、および任意のコンポーネントのマップ)を持つ基本アイテムクラスがあります。 class Item { //Basic item properties (name, ID, etc.) excluded EquipmentComponent* equipmentComponent; HealingComponent* healingComponent; SynthesisComponent* synthesisComponent; ThrowComponent* throwComponent; boost::unordered_map<std::string, std::pair<bool, ItemComponent*> > AdditionalComponents; } すべての項目コンポーネントは基本のItemComponentクラスから継承し、各コンポーネントタイプは、その機能を実装する方法をエンジンに伝える責任があります。つまり、HealingComponentは、アイテムをヒーリングアイテムとして使用する方法を戦闘力学に指示し、ThrowComponentは、アイテムをスロー可能なアイテムとして処理する方法を戦闘エンジンに指示します。 …

3
優れたクロスプラットフォームのC ++ベクトルグラフィックスライブラリはありますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 5年前休業。 ゲームを作っていて、ベクターグラフィックスを使用したいと考えています。Cairoを使用して再コーディングを開始しましたが、パフォーマンスは恐ろしいものです。だから、私は別のライブラリを探しています。C ++とクロスプラットフォーム(Direct2Dなしなど)に対応している必要があります。このように前に誰かが尋ねた別の質問がありますが、適切な回答がありませんでした。何かがあるはず…?
9 c++  graphics  vector 

1
STLはモバイルデバイスに対して十分効率的ですか?
iOSおよびAndroid NDKでのモバイルゲーム開発に関しては、一部の開発者は独自のC ++コンテナーを作成しますが、STLはモバイルゲーム開発に十分すぎると主張する開発者もいます(たとえば、iPhone 3Dプログラミングの作者は、目的ではなくSTLを使用しています-彼の例ではCです。彼の弁護は、STLがObjective-Cより遅くないことです。 次に、C ++を完全に放棄し、C言語(C89 / C90)で完全に(またはほとんど)ゲームを開発するモバイル開発者もいます。 それぞれのアプローチの長所と短所は何ですか?

1
C ++モデル読み込みAPI?
最も機能的なC ++モデル読み込みAPIを探しています。 これまでに、大量のply、obj、およびその他のそのようなファイル形式ローダーを見つけました。しかし、私が見つけたライブラリは1つのモデルタイプのみをロードする傾向があり、これにはかなりの数のAPIインターフェースを学習する必要がありますか? それらをすべてロードするための1つのAPI、それらを解析するための1つのAPI、それらをすべてもたらすための1つのAPI、そしてそれらを頂点バッファーにバインドしますか?
9 c++  models  loading 

3
2Dソフトボディ物理エンジン?
こんにちは。最近SFMLグラフィックライブラリを学びました。それを使用するために、非剛体2D物理システムを使用または作成したいと考えています。3つの質問があります。 Box2d の剛体の定義は次のとおりです。 非常に強い物質の塊で、塊の任意の2ビットの物質間の距離は完全に一定です。 そして、これは、弾性、変形可能、破壊可能、および再接続ボディを作成したいので、まさに私が望まないものです。1.単純な2D物理エンジンはありますが、これらの種類の特性はありますか?できれば無料ですか、オープンソースですか? 2. box2dを使用できず、リジッドボディに基づいている場合でも、box2dを使用して作成できますか? 3.最後に、このような単純な物理エンジンがある場合、単に経験と物理計算の知識を強化するために、とにかく新しいエンジンを作成するプロセスに進む必要がありますか?既存のエンジンのコードを変更したり、非常にユニークな物理学でゲームを作成したりするのに役立つと思います。 ありがとう!
9 c++  physics 

4
2Dタイルベースのゲームで、スクロールに適した方法は何ですか?
D3DXSPRITEラッパーでDirect3Dを使用して、タイルを画面に描画しています。衝突やタイルタイプなどのメンバーを含むタイルクラスがあり、次にタイルの配列があります。 タイルグリッド[256] [256]; どちらがより良い方法でしょうか? -画面の中央にプレーヤーを描画し、マップが描画する場所をオフセットします。 ・以下のカメラでプレイヤーを移動します。 最初の方法を使用していましたが、マップの左上端に到達したとき、および他のプレイヤー/敵がマップ上にいて同時に移動しているときは、非常に複雑になります カメラをプレーヤーに追従させる場合、画面に収まる数が少ない場合でも、グリッドタイルごとにspriteBatch-> Draw(...)を呼び出す必要がありますか?
9 c++  directx  directx9 

2
C ++ / SDLで2Dプラットフォーマーを作成する。チュートリアル/例/リソースを探しています[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 昨年休業。 C ++の経験は豊富ですが、ゲームプログラミングの経験はありません。この夏、私は学習体験のためにC ++ / SDLを使用して最初から2Dプラットフォーマーを作成する予定です。私は、始めるのに役立つできるだけ多くのリソースを探しています。良いソースコード、チュートリアル、なんでも。 私が見つけた最高のチュートリアルの1つは、故フロリアンハフスキーによる非アクティブなJump 'n' Run Devチュートリアルです。同様のチュートリアルはありますか?
9 c++  2d  sdl  platformer 

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