ゲーム開発

プロおよび独立系ゲーム開発者向けのQ&A

2
AndroidでOpenGL ES 1.0または2.0を使用することを決定する方法 [閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 5年前休業。 私はいくつかのAndroid開発を学び始めました。私が最初にできると思ったのは単純なゲームです。しかし、私はすぐに難しい質問に直面しました。OpenGL ES 1.0または2.0を使用する必要がありますか? 私が想定しているゲームは、2D(タイル張りのトップダウンタイプのグラフィック)と固定カメラのアイソメビューを利用して、グラフィックがかなりシンプルになります。私はデスクトップ環境でOpenGLを使用したことがないので、シェーダーが私が使用するものになるかどうかについては気づいていません。 このページによると、私は一般的に新しい開発にはOpenGL ES 2.0を使用する必要があります。私の携帯電話は最近(昨年)必要なAndroid 2.2にアップデートするようになりました。(OpenGL ES 2.0がサポートされているかどうかさえわかりません) したがって、基本的に私の質問は、1.0を超えるOpenGL ES 2.0の機能のいずれかから利益を得るか、互換性の点で価値があるのか​​、あるいはその両方ですか?

1
スプライトがBox2Dボディからオフセットして表示されるのはなぜですか?
これについては、デバッグレンダラーを使用して確認しました。ゲームが始まると、すべてが順調です。しかし、衝突が発生すると、スプライトの回転はその本体よりもはるかに大きくなります。ボディが完全に水平の場合、スプライトとボディは一致します。 スプライトの回転の原点は、本来あるべき場所から遠く離れているようです。これが私のコードです: Sprite sprite = data.sprite; position = body.getPosition(); sprite.setPosition( position.x - sprite.getWidth() / 2, position.y - sprite.getHeight() / 2 ); sprite.setOrigin(position.x, position.y); sprite.setRotation(MathUtils.radiansToDegrees * body.getAngle()); ご覧のとおり、回転の中心を設定しようとしてsetOriginも成功していません。どうすれば修正できますか?

1
ゲームジャム以降で協力を促進するにはどうすればよいですか?
問題は、ゲームジャムでは多くの人が参加することもありますが、最後には「正解です!そして、あなたは二度と彼らから話を聞くことはありません。協力的な要素が導入された場合、ジャムからの報酬はゲームだけでなく、ゲームを作成するための新しい友達になります。 多くの人を中退させることなく、このような設計を実装するにはどうすればよいですか?

2
弾丸物理学を使用して2つの特定のオブジェクトの衝突コールバックを取得するにはどうすればよいですか?
プロジェクトに衝突コールバックを実装する際に問題が発生しました。2つの特定のオブジェクト間を検出したいのですが。通常の衝突が発生しましたが、別のオブジェクトと衝突したときに、1つのオブジェクトを停止したり、色を変更したりします。私は弾丸ウィキからコードを書きました: int numManifolds = dynamicsWorld->getDispatcher()->getNumManifolds(); for (int i=0;i<numManifolds;i++) { btPersistentManifold* contactManifold = dynamicsWorld->getDispatcher()->getManifoldByIndexInternal(i); btCollisionObject* obA = static_cast<btCollisionObject*>(contactManifold->getBody0()); btCollisionObject* obB = static_cast<btCollisionObject*>(contactManifold->getBody1()); int numContacts = contactManifold->getNumContacts(); for (int j=0;j<numContacts;j++) { btManifoldPoint& pt = contactManifold->getContactPoint(j); if (pt.getDistance()<0.f) { const btVector3& ptA = pt.getPositionWorldOnA(); const btVector3& ptB = pt.getPositionWorldOnB(); const btVector3& normalOnB = …

1
OpenGLでリストを表示する
シーンが描画されるたびに、GL_TRIANGLESを再作成するよりも、頂点を表示する方が速い方法があると聞きました。この方法は時代遅れだとどこかで読んだと思いました。OpenGLグループがより高速なものを削除するのはなぜですか?それが時代遅れであっても、これを実装するにはどうすればよいですか?

2
タップとドラッグを区別する方法
アプリを作成していて、画面上でスプライト(2つ目のスプライトを上にして)をドラッグできるようにアプリを作成しようとしていますが、スプライトをタップするだけで他のメソッドが呼び出されます。 スプライトの端に触れるとドラッグがうまく機能しましたが、スプライトの中央(2番目のスプライトが上にあるところ)からドラッグしようとすると、ドラッグがまったく機能しませんが、タップが呼び出されます。 なぜこれを行わないのか、わかっています。両方のスプリットからのタッチが競合しています。なぜなら、一番上のタッチが下の2番目のタッチに当たる前にタッチを飲み込んでいるからです。 指が動いたときにスプライトをドラッグしたいが、タップのみが与えられたときにタップを登録したい(つまり、指が画面上で動かなかった)場合、これをどのように実装できますか? 私が作業しているスプライトのビジュアル(役立つ場合): 黄色のルーンはその下の石とは別のスプライトです(アニメーションが含まれているため)。 --------Touch for the top sprite---------- -(BOOL) ccTouchBegan:(UITouch*)touch withEvent:(UIEvent *)event{ lastTouchLocation = [RuneScene locationFromTouch:touch]; BOOL isTouchHandled = CGRectContainsPoint([charSprite boundingBox], lastTouchLocation); return isTouchHandled; } -(void) ccTouchEnded:(UITouch*)touch withEvent:(UIEvent *)event{ NSLog(@"Tap received!"); } ------Touch for the bottom sprite-------- -(BOOL) ccTouchBegan:(UITouch*)touch withEvent:(UIEvent *)event{ lastTouchLocation = [RuneScene locationFromTouch:touch]; BOOL isTouchHandled …

3
動作/属性GameComponentアーキテクチャ
私は大学生で、ゲーム開発は私にとって少し趣味です。私は新しいゲームを書いていて、ゲームエンジンをより柔軟に(そして将来の取り組みのための強固な基盤を提供できるようにするために)開発するための新しいアプローチを探しています。ゲームエンティティを表すために深い継承に依存するのではなく(継承ツリーのルートノードとリーフノードが重い場合や、場合によってはダイヤモンドの継承につながる可能性がある)方法に関するいくつかの記事を見つけましたが、より良いアプローチはロジックをモデル化することですコンポーネント内(より良い、動作と属性)。 これを示すプレゼンテーションは次のとおりです。http: //www.gdcvault.com/free/gdc-canada-09 「ゲームオブジェクトコンポーネントアーキテクチャの理論と実践...」 XNAとC#を使用してこれを実装しています。私はエンティティクラスがあります: class Entity { private Game1 mGame; private Dictionary<AttributeType, object> mAttributes; private Dictionary<BehaviorType, Behavior> mBehaviors; public Entity(Game game) { mGame = game; mAttributes = new Dictionary<AttributeType, object>(); mBehaviors = new Dictionary<BehaviorType, Behavior>(); } public Game GetGame() { return mGame; } //Attributes public void SetAttribute<T>(AttributeType attributeType, T …
7 c#  xna 

1
2D骨格アニメーション用ツール[終了]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張ディスカッションを誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 6年前休業。 2D骨格アニメーションを編集するための無料で広く使用されている優れたツールは何ですか?できれば、カスタムのアニメーションエクスポーターを作成できるものをお勧めします。 私がDeminaについて知っているかなり良いインディーツールの1つですが、それは理想的ではありません。必要に応じてデータをエクスポートすることはできません(ただし、オープンソースであるため、変更することができます)。個々のジョイントを編集する方法が不格好です。 他にどんなツールがお勧めですか?

1
MMO衝突検出
2Dゲーム用のMMOゲームサーバーを構築していて、現在衝突検出を実装しています。どうすればよいか知りたいのですが。 1000人のプレイヤーがプレイしていて、10,000個のオブジェクトがあるとします。それらすべてを繰り返し処理して、衝突しているかどうかを判断する必要がありますか?これは少し高価なようです。 世界をチャンクに分離し、チャンク内の各プレーヤーのすべてのオブジェクトを反復することができます。 他のアイデアや標準とは何か知りたいのですが。MMOサーバーが衝突検出を処理する最良の方法は何static objectsですか?

3
これらのDirectX11呼び出しのうち、実際にデータをGPUに送信するのはどれですか。
グラフィックプログラミングとDirectX11を学ぼうとしています。 CPU-GPU転送とグラフィックプログラミング全般を最小限に抑える方法を学びたいと思っています。 オンラインリソースから自分に答えることができなかったという質問があります。 実際にデータをGPUに送信するD3Dメソッドはどれですか(同等に、静的メッシュの場合、すべての頂点データがフレームごとに、または1回だけGPUに渡されますか)。 コードは次のとおりです: (stackexchangeの簡略化) 私の「メッシュ」クラスには、頂点バッファーがあります。 ID3D11Buffer *m_pVBuffer; メッシュのコンストラクターで、いくつかの頂点を頂点バッファーに設定します。 D3D11_MAPPED_SUBRESOURCE ms; devcon->Map(m_pVBuffer, NULL, D3D11_MAP_WRITE_DISCARD, NULL, &ms); memcpy(ms.pData, &vertices[0], sizeof(VERTEX) * vertices.size()); devcon->Unmap(m_pVBuffer, NULL); 次に、メッシュの「レンダリング」メソッドでこれを行います。 UINT stride = sizeof(VERTEX); UINT offset = 0; devcon->IASetVertexBuffers(0, 1, &m_pVBuffer, &stride, &offset); devcon->IASetIndexBuffer(m_pIBuffer, DXGI_FORMAT_R32_UINT, 0); devcon->IASetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST); devcon->DrawIndexed(m_num_indices, 0, 0); 繰り返します:データをGPUにアップロードするのは、頂点バッファーをマップ、memcpy、およびマップ解除するときですか、それともIASetVertexBuffersを呼び出すときにフレームごとにアップロードされますか?

1
HTML5ゲーム用のリソースマネージャーが必要ですか?
通常、デスクトップ/モバイルゲームにはリソースマネージャーが必要です。しかし、HTML5(ブラウザ)ゲームには必要ですか? リソースマネージャーの主な役割は、メモリ内にリソースのクローンがないことを確認することです。しかしブラウザでは、何かをリクエストすると、リクエストは通常​​キャッシュされます。したがって、同じリソースに対して別のリクエストを行うと、リソースは読み込まれなくなります。あなたはすぐにそれを得ます。(CMIIW)。 では、html5ブラウザーゲーム用のリソースマネージャーが必要ですか? ありがとう。

1
libgdxはAndroidでの2Dゲーム開発に適していますか、それとももっと簡単な代替案がありますか?
デスクトップとAndroidで2Dゲームを開発するためのJavaフレームワークを探しています。私はSlickを見てきましたが、私は本当にAPIが好きですが、開発者自身は、Androidとデスクトップのフレームワークが必要かどうかはlibgdx atmが最適だと言っています。 今、私はlibgdxについて読んでいますが、Androidとデスクトップで2Dスプライトを実行するだけの簡単な方法があるかどうか疑問に思っています。私はグラフィックのようなファミコンを作成することにのみ興味があります。このようなもの。 libgdxのwikiには、OpenGL ES 2.0(http://code.google.com/p/libgdx/wiki/OrthographicCamera)ではOrtographicCameraを使用できないと書かれていますが、私は(http://www.badlogicgames .com / wordpress /?p = 504)デバイスがOpenGL ES 2.0をサポートしている場合、1.0はサポートされていないため、OpenGL ES 2.0デバイスでOrtographicCameraを効果的に使用できませんか? 私は混乱しています、libgdxを使用する必要がありますか?より簡単な代替案はありますか?
7 android  java  libgdx 

3
複数の角度から3Dオブジェクトを事前レンダリングし、PNGとして保存
3Dオブジェクト(任意の形式)を取り、自動的に(レイトレーサーまたはその他の高品質のオフラインレンダラーを使用して)複数のレンダリングを行うツールまたはスクリプトを探しています。次に、出力を一連のPNGファイルとして保存します。 例:角度0、90、180、270から車をレンダリングし、1つのコマンドで画像をcar0.png、car1.png、car2.png、car3.pngに保存します。 そのようなツールはありますか?
7 3d 

4
特定のアクションが衝突を引き起こすことがわかっている場合、とにかくそのアクションの発生を許可する必要がありますか?
ゲームエンジンのプログラミングが完了し、テストを行ったので、グラフィックスの問題に気づきました。 大きな問題は、プレーヤーが壁を押し付けようとすると、常に壁のスペースに入ろうとし、衝突検出によって壁を外側に押し戻すため、キャラクターが壁に対して「揺れ動く」ことです。 そのような状況に対処する適切な方法は何ですか? 私の最初の本能は、特定の方向に移動すると衝突が発生する場合、エンティティの位置が変更されるまでその方向の移動を無効にしました。つまり、オブジェクトがプラットフォームに落ちたら、オブジェクトがプラットフォームの上になくなるまで重力を無効にします。 同じオーバーラップスペースにある同じ2つのオブジェクト間の繰り返し衝突検出を解決するより良い方法はありますか?

2
2Dアクター/スプライト集中型ゲームに最適なゲームエンジン/フレームワークと言語[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 6年前休業。 ゲーム開発の世界は初めてです。 私はかなり大きなプロジェクトを念頭に置いており(自分自身に課題を設定することで学習します:P)、一度に画面上に何千ものスプライト/俳優がいる2Dゲームに最適なエンジン/フレームワーク/言語は何なのかと思っています。ベアメタルタイプのもの。それでも、多くの俳優を一度にズームインおよびズームアウトできる必要があります。 このゲームには3D要素はありません。 何かご意見は? 提案?
7 2d 

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