ゲーム開発

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


1
3Dワールド空間の特定の位置に矢を着陸させる方法
私のゲームでは、どこかの地形をマウスでクリックすると、プレーヤーが放物線状にその位置に矢印を発射したいと思います。 矢印には、すべて3Dベクトルを使用した位置、加速度、速度があります。私が見発射の軌道ウィキペディアの記事、私はそれが2D数学を説明しているように私の状況でそれを適用する方法がわかりません。3Dベクトルの解決策があるかどうか疑問に思っていましたか?3Dの状況に関連するリソースはありますか?

2
.x(Direct X)ファイルからスケルトンアニメーションを適用するにはどうすればよいですか?
.x形式を使用してBlenderからモデルをエクスポートすると、メッシュ、アーマチュア、アニメーションをロードできます。ゲームでメッシュを生成してモデルを表示しても問題はありません。さらに、アニメーションとアーマチュアが適切なデータ構造に適切に読み込まれています。 私の問題は、アニメーションをモデルに適切に適用することです。モデルを適用するためのフレームワークと、アニメーションを選択してフレームをステップ実行するためのコードがあります。 私が理解していることからAnimationKey、AnimationSetサプライ内のは、バインドポーズをアニメーションフレーム内のポーズに変換する変換を提供します。小さな例として: Animation { {Armature_001_Bone} AnimationKey { 2; //Position 121; //number of frames 0;3; 0.000000, 0.000000, 0.000000;;, 1;3; 0.000000, 0.000000, 0.005524;;, 2;3; 0.000000, 0.000000, 0.022217;;, ... } AnimationKey { 0; //Quaternion Rotation 121; 0;4; -0.707107, 0.707107, 0.000000, 0.000000;;, 1;4; -0.697332, 0.697332, 0.015710, 0.015710;;, 2;4; -0.684805, 0.684805, 0.035442, 0.035442;;, ... …

1
スクリーンスペースデリバティブを使用して、ピクセルシェーダーでパラメトリック形状をアンチエイリアスするにはどうすればよいですか?
でバルブのアルファテスト済み倍率紙、それはアンチエイリアシングを行うための「ピクセル単位のスクリーン空間誘導体」を使用して言及しています。私の理解では、これがあることであるddxとddyHLSLでの組み込み関数? シェーダーでパラメトリックシェイプ(たとえば、円:x²+y²<1)を描画しようとしていますが、このテクニックを使用して、シェイプのエッジピクセルを正しくアンチエイリアスする方法がわかりません。誰かが例を提供できますか? 完全を期すために、私が作成している種類のピクセルシェーダーの例を次に示します。 float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0 { float dist = input.TexCoord.x * input.TexCoord.x + input.TexCoord.y * input.TexCoord.y; if(dist < 1) return float4(0, 0, 0, 1); else return float4(1, 1, 1, 1); }

2
インディーデベロッパー向けのモーションキャプチャ
数年前のモーションキャプチャは、コストの関係で有名なスタジオでのみ可能でした。今では、コストの削減とテクノロジーの向上により、インディーズ開発者の領域に移行しているようです。私はそれを少し調べて、2つの主要なオプションを見ました:IPISoftとiCloneはどちらも数百ドルの費用がかかり、かなり安いハードウェア(KinectまたはPS3 eye)を使用します。誰か他の選択肢をお勧めできるかどうか疑問に思っていましたか?
8 kinect 

2
「Advanced Character Physics」に基づく物理エンジンで摩擦を実装する方法
Thomas Jakobsenによる古典的なテキストAdvanced Character Physicsの概念に基づいて、物理エンジンを実装しました。摩擦については記事でごく簡単に説明しているだけで、Jakobsen自身は「これよりも優れた摩擦モデルを実装できるはずである」と述べています。 一般的に、前述の記事の概念に加えて、信頼できる摩擦モデルをどのように実装できますか?そして、どのようにして見つけられた摩擦を円の回転に変換できますか? この質問を私の具体的な実装についてではなく、より一般的にはヤコブセンスのアイデアを優れた摩擦システムと組み合わせる方法について質問したくありません。しかし、これは摩擦をまったく処理しない私のエンジンの現在の状態を示すライブデモです。。http //jsfiddle.net/Z7ECB/embedded/result/ 以下は、この論文に基づいたエンジンで衝突検出がどのように機能するかを示した例です。Verlet統合では、現在と以前の位置が常に保存されます。これらに基づいて、新しい位置が計算されます。すべてのフレームで、円と線の間の距離を計算します。この距離が円の半径よりも小さい場合、衝突が発生しており、円はオーバーラップのサイズ(図のオフセット)に従って問題の線から垂直に投影されます。 速度はVerlet統合により暗黙的であるため、位置を変更すると速度も変更されます。私が知る必要があるのは、円の摩擦の量を何らかの方法で決定し、速度を下げるために円と平行に後方に移動することです。

3
XNA / C#からC ++に移行しますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 6年前休業。 しばらくの間、私はゲームの設計と開発のためにXNAと協力してきました(ただし、個人用のATMについてのみです)。全体として、私はXNA自体の主要なファンであり、全体的に「気分」です。ただし、次の事実により: XNAはサポートが不足しているようです(Metroサポートなし、2010年以降のアップデートなしなど)。 私はゲーム開発業界で就職しようと計画しています。C++が支配的であるため、それに慣れることは非常に役立ちます XNAはWindows(非メトロ)とXbox 360のみをサポートしていますが、私はMacと(それほどではありませんが)Linuxのサポートに関心があります。 私は主言語としてC ++に移行しようとしています。ただし、現時点では生のDirectX / C ++の学習に焦点を当てたくないので、より高いレベルのC ++ API(XNAとほぼ同じレベルのものを探していますが、少し低いレベルのものが良いでしょう) )XNAに似た感触。それで、C#/ XNAからC ++に切り替える誰かにとって、管理されていないC ++で実行されているにもかかわらず、XNAに類似したAPIの私の最良の選択は何でしょうか?
8 xna  c++ 

3
カードゲームフレームワークはありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 ゲームフレームワークの作成/使用に関する議論は避けましょう。 カードゲーム用の小さなフレームワークを作成するか、それが存在する場合はそれを使用したいと思います。誰か知っていますか? できればJavaまたはC#で記述します。 前もって感謝します、
8 c#  java  card-game 

3
格闘ゲームにAIを実装する方法
2D戦闘機を作りました 昨日。 2番目の「プレーヤー」はほとんど何もしません。実際には、何もありません。正直なところ、このような対戦相手が出る前にゲームを作ったことはありません。 だから私の質問は、対戦相手のAIプログラミングからどのように始めるのですか?チュートリアル、ベストプラクティスはありますか?挑戦してほしい(自分ではなく、プレイヤーにとって)。
8 javascript  ai  html5 

1
ブラウザーゲームでロジックとデータを分離する
私はこれを何日も考えてきましたが、どうすればよいかわかりません。私はPHPで戦闘システムをリファクタリングしようとしています(...申し訳ありません。)これまでに存在したものは次のとおりです。 これまでのところ、戦闘に参加できるエンティティには2つのタイプがあります。それらをプレイヤーとNPCと呼びましょう。彼らのデータはすでにかなりよく書かれています。 戦闘に関与する場合、これらのエンティティはと呼ばれるDB内の別のオブジェクトでラップされCombatant、特定の戦いに関する情報を提供します。彼らは一度に複数の戦闘に参加することができます。 戦闘員を投入して戦闘用のロジックエンジンを作成しようとしています。 テスト用にすべてを模擬できるようにしたい。 ロジックとデータを分離するために、私は2つのインターフェース/基本クラス、ICombatantDataつまり1つともう1つを用意したいと考えていますICombatantLogic。データの2つの実装者は、データベースに格納されている実際のオブジェクト用と、モックオブジェクト用です。 私は今、物事の論理的な側面を設計することに関して不確実性にぶつかっています。プレイヤーとNPCごとに1つの実装者を指定できますが、問題があります。戦闘員は、ラップするエンティティを返すことができる必要があります。このゲッターメソッドはロジックまたはデータの一部である必要がありますか?ロジック部分は戦闘の実行に使用されるため、データ内にあるべきだと強く思います。誰かが今度の戦いについての情報を探しているだけでは利用できません。しかし、データクラスはDBからモックのみを分離し、NPCからのプレーヤーは分離しません。DBデータインプリメンターの2つの子クラス(エンティティタイプごとに1つ)を試してみる場合、モックをループに維持しながらどのように設計すればよいですか?IEntityProviderデータクラスに注入するような3つ目のインターフェイスが必要ですか? また、私が検討していたいくつかのアイデアでは、NPCのロジックが誤ってプレーヤーのデータをラップするなど、不一致がないことを確認するためにチェックを配置する必要があると思います。それは意味がありますか?それは、アーキテクチャが正しい場合にさえ起こり得る状況でしょうか、それとも、適切な設計がそれを完全に禁止しているので、チェックする必要がないのでしょうか? 誰かがクラス図などをレイアウトするのを手伝ってくれるなら、それはとても役に立ちます。ありがとう。 編集する また、モックデータクラスではは実際には必要ありませんEntity。代わりに、戦闘統計のようなすべてのパラメーターを直接指定しているだけです。おそらくそれは正しい設計に影響を与えるでしょう。


3
マルチプレイヤータイルベースの動きの同期
私はインターネット上で複数のプレイヤーの動きを同期させなければなりません、そしてそれを行うための最も安全な方法を見つけようとしています。 ゲームはタイルベースで、4方向にしか移動できません。移動するたびにスプライトが32ピクセル移動します(もちろん時間とともに)。さて、この移動アクションをサーバーに送信し、すべてのプレーヤーにブロードキャストする場合、ウォークキーを押し続けている間、ウォーキングを続けるには、次のコマンドを実行してサーバーに送信する必要があります。そして、すべてのクライアントにとって、時間内に、または動きはもはやスムーズではなくなります。私はこれを他のゲームで見ました、そしてそれはラグがなくてもかなり醜くなります。だから私はこれが実行可能なオプションでさえあるのだろうかと思っています。これはシングルプレイヤーにとって非常に優れた方法のようですが、簡単で簡単です(次の移動アクションを時間内に実行してリストに追加するだけです)。マウスの移動を簡単に追加できます(タイルをクリックする)。キューへのパスを追加するために、それは歩きました。 私の頭に浮かんだもう1つのことは、誰かがどこかの方向に動き始めたという情報を送り、もう一度彼が停止または方向を変えたときに、位置とともにスプライトが正しい位置に表示されるようにするか、位置が間違っている場合は、位置を修正できます。これは(うまくいけば)誰かが本当に遅れている場合にのみ問題を引き起こすはずです。その場合、それは予期されることです。これがうまくいくためには、何らかの方向のキューが必要です。ここで、着信方向の変更やものが保存され、スプライトが次のタイルへの現在の移動が完了した後、どこに行くべきかがわかります。これは実際には機能するかもしれませんが、ちょっと複雑すぎるようです。これを行う唯一の方法かもしれませんが、吃音のリスクはありません。停止または方向変更がクライアント側で受信された場合 sはキューに保存され、charは停止または方向を変更する前に、指定された座標に移動し続けます。もちろん、新しいコマンドが遅すぎると、どもりも発生します... 私は方法を決めるのに苦労しており、まだこれに関する例を見つけることができませんでした。私の主な問題はタイルの動きをスムーズに保つことです。そのため、ピクセルベースの動きの同期に関する他のトピックがあまり役に立たないのはこのためです。 これを行う「標準的な」方法は何ですか?

1
Open GLでの頂点のベストプラクティス
Open GLに頂点データを格納することに関して、ベストプラクティスは何ですか?すなわち: struct VertexColored { public: GLfloat position[]; GLfloat normal[]; byte colours[]; } class Terrian { private: GLuint vbo_vertices; GLuint vbo_normals; GLuint vbo_colors; GLuint ibo_elements; VertexColored vertices[]; } または、次のように必要なクラスに個別に格納する: class Terrian { private: GLfloat vertices[]; GLfloat normals[]; GLfloat colors[]; GLuint vbo_vertices; GLuint vbo_normals; GLuint vbo_colors; GLuint ibo_elements; }
8 c++  opengl  vertex 

8
HTML5ゲームの難読化
HTML5ゲームには、表示可能なソースコードがあります。それらをswfファイルのようにする方法はありますか? ゲームアルゴリズムを非表示にする方法は? Firefox JavaScript Deobfuscatorプラグインと難読化についてどう思いますか?

5
IMGとCANVASでdrawImageを使用するとパフォーマンスが大幅に異なる
画像をキャンバスにレンダリングする簡単なテストをいくつか組み合わせました。1つはIMGからレンダリングし、もう1つはオフスクリーンCANVASからレンダリングします。あなたはここでコードと結果を見ることができます:http : //jsperf.com/canvas-rendering/2 ほとんどのブラウザでは、状況が逆転するChromeを除いて、画像からのレンダリングはキャンバスからのレンダリングよりもはるかに高速です。違いの理由を誰かが説明できますか?結局のところ、同じピクセルデータを同じ宛先にレンダリングしています。

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