ゲーム開発

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

2
速度から角度方向を計算する
発射体の角度方向を計算しようとしています。XとYの速度であるため、その動きの大きさを見つけることができますが、その角度方向(ラジアン)を取得することに頭を悩ませています動いている... 私はそこにあると仮定しtanたりsin、関係が、私はそうでない場合はビット無知です...

3
画像上に衝突データを描画するためのポリゴンエディター[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 ゲーム内の船のテクスチャーの上にポリゴンをプロットするエディターが必要です。 これは次のようになります。 赤が衝突の輪郭で、画像がテクスチャです。 テクスチャ座標のようなポリゴンを保存したいです。例えば、左上が(0、0)で右下が(1、1)です。 これと同じようなことをするツール(無料)はありますか?私はxnaとC#で作業します。

3
カメラ/ UIは、プレーヤーが誰であるかをどのようにして知るのですか?
特定のエンジンコンポーネント(カメラやUIなど)が、誰をフォローするか、その健康状態やその他の属性を画面に表示する方法を知る方法について、少しジレンマに陥っています。 これらのコンポーネントとエンティティ間の通信が行われるシステムをどのように構築しますか?プレーヤーを表す別のエンティティを作成することもできますが、少し「ハードコード」されているようです。カメラをパンしたい場合はどうなりますか?プレーヤーが別のエンティティの制御を開始した場合はどうなりますか? つまり、カメラやUIなどのコンポーネントのデータソースを抽象化して、それらが表すエンティティを気にしないようにするにはどうすればよいですか。 イベントシステムは多くの場合に役立ちますが、変化する、または「まれに」生成される情報(プレーヤーの死亡など)を伝播するのにより適しています。エンティティの状態や位置など、フレームごとに把握する必要があるものには、イベントシステムはあまり適していません。

9
ゲームプログラミングのTry / CatchとFinalsのステートメントを学ぶことは不可欠ですか、それとも戻ってくることができるものですか?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張ディスカッションを誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 GAMEプログラミングの本質的な部分とは思えない。

3
iOSゲーム開発-どこから始めればよいですか?[閉まっている]
ここで何が質問されているのかを理解することは困難です。この質問は、あいまいで、あいまいで、不完全で、過度に広い、または修辞的であり、現在の形では合理的に回答することができません。再開できるようにこの質問を明確にするヘルプについては、ヘルプセンターに アクセスしてください。 8年前に閉鎖。 私は、iOSプラットフォーム向けのゲーム開発に強い関心を持つWeb開発者です。私は主にRubyで日々の仕事を開発していますが、過去にはJava、ランダムワールドジェネレーター、プラットフォームゲーム、スペースインベーダーなどをかなり使っていました。 iOSゲーム開発に入るのは非常に急な学習曲線のようですので、私の質問はどこから始めればよいですか? 私は最初は特に3Dには興味がありません。トップダウン/アイソメトリックは、私が最初に考えたゲームにおそらく合うでしょう。 誰もが学ぶための優れたスキルパス、または取得するためのビデオ/チュートリアルまたは本をお勧めできますか?これには少し時間がかかると思いますが、順調に進んでいる限り、満足しています。 ありがとう、マット
7 ios 

3
イベント、投稿とキューイング
メッセージングシステムを実装していて、イベントをどのように処理する必要があるのか​​疑問に思っています。それらをポストして、受信したらすぐに適切なリスナーに送信する必要がありますか、それともキューに入れて、(おそらくメインのゲームループによって)プロンプトが表示されたときにのみディスパッチする必要がありますか? 編集: 詳細 私のゲームは2Dプラットフォーマーなので、パフォーマンスを達成するのはそれほど難しくありません。Roy T.の発言を考慮すると、イベントが投稿されたらすぐに送信するのもよいでしょう。それをキューに入れる必要はないようです(もちろん、何か欠落している場合を除きます)。

5
ゲームのボリュームの経路計画
ゲームのボリュームをどのようにパス計画しますか? たとえば、トンネルと洞窟がある1 kmの立方体。また、地形は破壊可能です。 ウォーキングモードとフライングモードがあります。 フェーズに分けます。オープンスペースのボリュームを作成します。動的破壊を考慮に入れたパスを見つけます。 パフォーマンスは大きな懸念事項であり、短時間で使用されるパスを見つける機能です。 具体例:地中の何かを効率的に掘る。 地面は破壊可能です。「洞窟」はエリアを掘るのが簡単です。鉱業は飛行のようなものです。センサーで見る必要があります。データセットは巨大です。ターゲットへの輸送経路を構築する必要があります。マルチエージェントの場合があります。


5
2D手続き型地形生成-接続性を保証しますか?
XNAで2Dプラットフォーマーを開発しています。主なデザイン特性になりたいことの1つは、手続き型コンテンツの生成です。その最初のステップは、地形を手続き的に生成することです。だから、私はPerlinノイズを生成し、それを滑らかにし、パラメーターとすべてのジャズをいかにプレイするかについて、たくさんの研究をしました。pcg.wikidot.comにも多くの時間を費やしました。私が抱えている問題は、100%接続されているレベルを生成することです。つまり、キャラクターがレベルの左側から右側に到達する可能性があります。 現在、パーリンノイズを使用して、そのポイントのノイズ値が<0のときにスプライトを生成しています。 これは私が抱えている問題のビデオです(クレイジーなバックグラウンドの問題と、新しいレベルを生成するときにキャラクターが動かなくなるという事実を許してください)。 http://screencast.com/t/uWJsIGLoih ビデオでわかるように、地形は十分に興味深いように見えますが、Perlinノイズがレベルを小さなランダムなチャンバーに区分化しているため、それほど多くのことはできません。 ランダムウォークを実行し、その上にパーリンノイズを重ねようとしたので、左から右へのパスを保証します。その問題を以下に示します。http: //screencast.com/t/ilLvxdp3 だから私の質問は、プレーヤーがレベルの左側から右側に行くことができるようにするには、どうすればよいですか?

3
16ビットインデックスバッファーの使用-USHORTとUINT
D3D11では、16ビットと32ビットのインデックスバッファーを作成する機能がまだあります。 USHORTインデックスバッファーが処理できる最大(20kトライ)より多くを使用するモデルはほとんどありませんが、INT(32ビット)形式を常に使用するために実際に悪いパフォーマンスコストを支払うのでしょうか? メモリの節約はそれほどではありません(インデックスごとに2バイトです)。20kのトライモデルの場合、USHORTを使用するために節約しているメモリはわずか40 kBです(同じモデルの頂点データだけの場合と比べて、おそらくもっと多くのメモリと比較されます)。 USHORTインデックスバッファーを使用することは本当に価値がありますか?それとも、90年代にコンピューターのメモリが少なくなったときからのホールドオーバーですか?

2
等尺性ゲームでの水のシミュレーション
私はFlash AS3でゲームを作成しています。このゲームでは、プレイヤーが水を正しい方向に向けるために土地を変更する必要があります。 しかし、水のシミュレーションは私にとって新しいトピックであり、ちょっと行き詰まっています。波紋などでリアルな水のようである必要はありませんが、流れる必要があり、十分な水がある場合は上昇する必要があります。 私は2種類の水を考えました。 春:無限の水源。海などのシミュレーションに使用されます。 ウォーターブロック:たった1ユニットの水。 現在の実装では、水がどのように広がるのかを示していますが、上昇せず、有限の水を許容しません。また、拡散は水の量を考慮せず、実際に水の単位を移動するのではなく、複製するだけです。 皆さんがこの問題をどのように解決するのか知りたいです。例/疑似コードは常に高く評価されています。 現在のバージョン:http : //dl.dropbox.com/u/319897/ProjectWater.swf 左マウスを押すと、土地を操作できます。Aを押すと、一度に1ステップの水をシミュレートできます。 水の部分のソース:http : //pastebin.com/Js2kYt4y

3
デモシーンのようなピクセルアート効果の例はどこにありますか?
私はこれを単純に保ちます。質問は私が探しているものをかなり要約しています。2D効果の場所はどこですか。具体的には、古いAmigaデモで使用されているようなものです。彼らはソースコードを持っている必要はありません。私はコード化し、いくつかの効果を再現するためのインスピレーションを探しています。 古いデモをダウンロードしてエミュレータで実行するのではなく、画像や例へのリンクのリストを用意しておくと便利です。

2
2Dのピクセル単位の衝突検出で影響ポイントを見つけるにはどうすればよいですか?
私はプラットフォーマーを作成しており、ピクセルごとの衝突検出を実装しています。しかし、これは私がまだ理解していない2つの障害を引き起こしています。この質問に関する最初の障害は、影響のポイントを効率的に見つける方法がわからないことです(他の問題はおそらくこのStackExchangeの別の質問になるでしょう)。 ピクセルで指定されたレートでキャラクターを転倒またはジャンプさせます。つまり、たとえば、フレームごとに文字が4ピクセル落ちたり、ジャンプしたりする可能性があります。キャラクターが落下してオブジェクトと交差する場合、キャラクターはそのオブジェクトに着地する必要があります(ジャンプしてオブジェクトにヒットする場合は、その逆も同様です)。ただし、たとえば、キャラクターが4ピクセル落ちて、オブジェクトに3ピクセル入ると、落ちるのは止まりますが、適切な場所に配置されません。キャラクターはインパクトの最初のピクセルで止まるように見えるはずです。 では、どうすれば効果的なポイントを効率的に見つけることができますか?私は、輪郭のピクセルを比較し、衝突をテストし、衝突があるまでそれらを1つずつ増減するという漠然とした考えしか持っていませんが、引き離すのは複雑に思えるかもしれません。 プラットフォームについて知りたい場合は、XNA for Windows Phone 7を使用して開発しています。

2
Direct2dオフスクリーンレンダリングとハードウェアアクセラレーション
私はdirect2dを使用して、WindowsAPICodePackを使用して画像を画面外にレンダリングしようとしています。これは、WicBitmapRenderTargetを使用して簡単に実現できますが、残念ながらハードウェアアクセラレーションではありません。 だから私はこのルートを試しています: direct3dデバイスを作成する texture2dを作成する テクスチャサーフェスを使用して、CreateDxgiSurfaceRenderTargetを使用してレンダーターゲットを作成します。 いくつかの形を描く これにより画像がレンダリングされますが、CPUの使用率が高い間はGPUがまったく使用されていないように見えます。 私は何か間違ったことをしていますか?ハードウェアまたはソフトウェアのレンダリングが使用されているかどうかを確認する方法はありますか? コードサンプル: var device = D3DDevice1.CreateDevice1(null, DriverType.Hardware, null, CreateDeviceOptions.SupportBgra, FeatureLevel.Ten ); var txd = new Texture2DDescription(); txd.Width = 256; txd.Height = 256; txd.MipLevels = 1; txd.ArraySize = 1; txd.Format = Format.B8G8R8A8UNorm; //DXGI_FORMAT_R32G32B32A32_FLOAT; txd.SampleDescription = new SampleDescription(1,0); txd.Usage = Usage.Default; txd.BindingOptions = BindingOptions.RenderTarget | …
7 c#  .net  directx10 

2
XNA 4.0でより高いFPSを有効にするにはどうすればよいですか?
FpsCounter DrawableGameComponent(コードにリンクされている、それは長いです)を作成しました。それはうまくいきます:それは通常60.0 fpsを表示します。ゲームループを人為的に遅くすると、低下します。 現時点での私の「ゲーム」は、キーボードで制御される単一のスプライトなので、1秒あたり60フレームよりも頻繁にレンダリングできるはずです。 垂直同期をオフにするとFPSの上限が増えると考えました。 public Game1() { _graphics = new GraphicsDeviceManager(this) { PreferredBackBufferWidth = WindowWidth, PreferredBackBufferHeight = WindowHeight, SynchronizeWithVerticalRetrace = false, }; _graphics.ApplyChanges(); Content.RootDirectory = "Content"; } ただし、上記のコードはvsyncをオフにする必要があるように見えても、そうではないようです。私のコンストラクタ、またはおそらく私のFPS計算に何か問題がありますか?または、フレーム数を制限している可能性のある何か他にありますか?

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