問題タブ [game-ai]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ゲームプログラミング初心者 -- 必要に応じてゲームオブジェクトで
過去に MUD のために LPC でボランティア ゲーム プログラミングを行ったことがありますが、すべてが簡単でした。新しいアイテムが必要な場合は、関数を使用して (NPC など) を何度でもロードします。今、私は自分自身の小さなゲームをプログラムしたいと思っています。自分の研究をさらに進めるためにやりたいことの名前だけが得られれば、それで十分です。そのすべてについてとりとめのない、私の質問に:
ゲーム内オブジェクト (人など) のインスタンスをオンザフライで作成したいと考えています。一部はコンピューターによって処理され、その他はプレイヤーによって処理されます。私が見つけたゲーム プログラミングのヘルプの多くは、スプライトの移動と衝突検出の処理に関するものでした。これはすべて素晴らしいことですが、戦略ゲームをコーディングしたいので、ゲーム内にサンドボックスの柔軟性を作成し、AI をコーディングして興味を提供することに関心があります。ランダムに生成されたさまざまな人数のプレイヤーと対話するゲーム。これまでのところ、人を処理するクラスを作成しましたが、クラスの各インスタンスには一意の名前が必要であり、プログラミングすると番号にランダム性がないため、行き詰まりました。
私が求めているものを達成するために何を調べる必要がありますか? それは何と呼ばれるでしょうか?ある程度の雄弁さで自分自身を説明しましたか?
私の道に来るかもしれない潜在的な助けを前もって感謝します。
マット。
ios - 2D ゲーム マップ上で最も安全な/最適なポイントを見つける方法は?
私はプロトタイプのステートレス ゲーム AI を構築しています。複数のデータ ソースを組み合わせて、2D 正方形グリッド ゲーム ボード内の「最適な」場所を決定する方法があるかどうかに興味があります。
入力例:
- プレイヤー/脅威 (x,y) 座標の配列
- このターン内で可能な移動 (x,y) 座標の配列
- トラップの配列
- 地形ボーナス/ペナルティの配列
- 友好的なユニット/ヒーラーへの近接の配列
たとえば、プレイヤーのグループから最も遠い距離を計算し、そこにモンスターを移動させる私の方法は次のとおりです (重傷の場合)。上記のような配列からのデータを含めることで、これを改善したいと思います。私はこれがそのような方法を本当に肥大化させるのではないかと心配しています -私が言及したようなデータを分析するためのより良い方法はありますか?
algorithm - 2D グリッド ゲーム ボードの移動攻撃エリア内でターゲットを攻撃するスペースを見つけるためのアルゴリズム
特定のターゲットを攻撃できる有効な動きのリストから有効な位置を与えることができるアルゴリズム名または実装を探しています。
私は 2D タイル マップと、特定の数の移動と範囲内で敵を攻撃できるヒーローを持っています。マップ上の障害物により、ヒーローの移動エリアは変化し、穴が開く可能性があります。
この質問では、この移動エリアと攻撃エリアを組み合わせて、ヒーローがゲーム ボード上で発揮する「脅威」範囲の合計を取得する方法を学びました。この場合、2 体の敵が脅威範囲内にあり、攻撃することができます。
かかる一般化されたアルゴリズムの名前または情報を探しています:
- 脅威エリア (黄色)
- 有効な動き (オレンジ)
- 目標位置(緑)
そして、特定のターゲットを攻撃できるオレンジ色の領域内のすべてのセルを返します。敵は独自の脅威エリアを発揮するため、必ずしも最も近い正方形が必要というわけではありません。可能な動きを調べて、ヒーローが攻撃のために移動する脅威が最も少ないものを選択します.
math - 速度調整計算
私は Android 2D の「スペース ファイターズ」ゲームを開発しており、現在は AI を開発しています。
AI (敵) は特定の速度 V1 (V1x、V1y) で移動しており、最大速度でインターセプト ベクトルに一致するようにこの速度を調整したいと考えています。
インターセプト速度は次のように達成できることがわかっています。
私が探しているのは、単一の速度を見つける方法ですv_correction
。これを適用するt
と、敵はプレイヤーに向かって正しい速度になります。
私は2つの機能を探していると思います:
ノート:
質量と操舵時間は関係ありません。すべての質量 = 1、ある方向を向くまでの時間 = 0 と想像してください。
また、AI の他の部分でこれらのメソッドが必要になるため (たとえば、敵の速度がプレイヤーの速度と一致するまでにかかる時間を計算するため)、これらのメソッドは汎用的である必要があります。私が与えた速度に対する補正と時間を計算します。
前もって感謝します!
artificial-intelligence - Lode Runner の AI パスファインディング
Lode Runner のバージョン (このバージョン) を実装していますが、ミニオンが協力してプレイヤーを追い詰める効果をどのように再現するかについてはわかりません。ミニオン (ボイドなど) 間の協調性のためのより良いアルゴリズムはありますか? それとも、単純に各ミニオンに個別にアルゴリズムを適用するのが最善の解決策ですか?
c++ - シンプルな 2D AI C++ を作成する
マップ上を (ウィンドウ サイズ間で) スムーズに移動できる AI を作成する方法について、いくつかの洞察を得たいと思います。たとえば、AI が定義された場所に到達すると、別の場所に移動します。これが私が試したことです、
まず、ウィンドウ サイズが 640,640 であるため、0.0f から 608.0f までのランダムな浮動小数点数を取得します。
次に、スプライトの現在の位置をこの関数に渡します
私のメッセージループで、メソッドを呼び出す方法は次のとおりです
スプライトは動きましたが、右下にしか移動しませんでした。そして、同じ特定の場所に到達すると、そこにとどまり、振動するだけです....私の説明が十分に明確でなかったり、必要な情報を十分に提供していなかったりした場合は申し訳ありません。
javascript - 移動中のプレイヤーに敵を追従させる際の問題
さて、私はプレイヤーが何人かの敵に追われている javascript/html キャンバス ゲームを作りたいと思っています。少し「調査」した後、彼女は私のモンスター (敵) クラスの最も重要な部分です。
つまり、ここでやろうとしていたのは、敵からプレイヤーまでの角度を計算し、 と を使用しatan2()
て x 軸と y 軸でどれだけ移動する必要があるかを計算することでした。速度と角度を計算して、移動しただけです。計算されたピクセル。cos()
sin()
プレイヤーを動かすまでは、これはすべてうまく機能しているように見えますが、敵は奇妙な方向に動き始めます。何が悪いのかわかりません。これがどのように行われるのかを誰かが教えてくれたら最高です。:D
ここで実際の動作を見ることができます。*PremierBromanov の提案でコードを更新しました。
c++ - C++ AI ローテーションの問題
私が作成しているゲームでは、3 隻の船が必要です。これらの船はすべて、ポイントのコレクションに従ってマップ内でレースをします。時計回りに 10 度だけで十分なはずなのに、船がほぼ 360 度反時計回りに回転することを決定したマップ内の 1 つのポイントを除いて、これは完全に正常に機能します。
回転を計算するためのコード:
そこで間違った方向に回転しないようにするにはどうすればよいですか?
Richard Byron のおかげで (以下の受け入れられた回答)、問題は修正されました。度数を使用するよりも内積を取る方が優れています。
最終的なコード: