問題タブ [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.

0 投票する
2 に答える
1338 参照

game-ai - Objective-C コードを使用した人工知能: それを機能させるには、3 つのことを行う必要があります

AI が行うべきことは 3 つあります。 1.データを収集します。2.データの処理。3. 収集される NextData を予測します。

すべてのデータを収集するには、dataBase を使用する必要があると思います。

iOSデバイスの(Tic Tac Toe、Chessなど)のようなゲームでは、30秒ほど自分と対戦させ、その間違いから学びますが、プリンスオブペルシャのようなゲームでは、暗殺者 私はプレイヤーのスキルを(から)学び(プレイヤーのスキルがテストされるプレイの最初の3分間から始めます)、次にゲームをプレイヤーのスキルに適応させます。ゲームはたくさんの楽しみを与えてくれますが、プレイヤーが初心者の場合は、さらに探索し、「邪悪な兵士」を簡単に倒すことができます。

「ついに質問が来る」 1.このアプローチは有効か?それとももっと良いものがありますか?

0 投票する
2 に答える
1294 参照

javascript - Javascript/HTML5 - シンプルなゲーム AI を作ってみた

私のコンセプトはかなり単純です。画像を一方向にアニメーション化してから、元に戻します。

私は自分のコードの問題が何であるかをすでに知っています。xPos が 250 を超えると、2 番目のifステートメントが true になります。ただし、250 を下回ると、最初のifが再び true になります。だから私は問題が何であるかを知っていますが、それを修正する方法がわかりません。どんな助けでも大歓迎です!

0 投票する
2 に答える
3247 参照

c++ - Gamedev: lua スクリプトを使用して AI を管理するにはどうすればよいですか?

私のゲームは C++ で作成されており、AI を lua スクリプトで管理したいと考えていますが、スクリプトがどのように見えるべきか、また C++ での統合がどうあるべきかわかりません。

スクリプトは次のようにする必要があります

そして、C++ のすべてのフレームで、すべての敵を呼び出す必要があります。

それとも間違っているので、別の方法で処理する必要がありますか?

0 投票する
1 に答える
148 参照

iphone - resumeSchedulerAndActions を使用するとスプライトが飛び回る

わかりました、ここでいくつかの AI を試しています。Ray Wenderlich のチュートリアルに従っています。私はいくつかの奇妙な行動が続いています。たぶん、私はこれをすべて間違ってやっているだけです...しかし、どうぞ。スプライトがターゲットの 75 ピクセル以内にある場合、スプライトは防御側に切り替わり、メソッドを介してAIState呼び出しpauseSchedulerAndActionsて、所定の安全な場所に設定します。getDefensePosition私がやろうとしているのは、2秒後にアクションを再開して、スプライトが再び動き回るようにすることです。だから私は電話しますresumeSchedulerAndActions。今、これはただ通過し、getDefenseMethodこれらの 3 つの場所の間でスプライトを移動しますが、これは奇妙な動作ですgetDefenseMethod。スプライトが画面の中心から飛び回り、新しい spawnPoint に戻る前と後に 2 つの slog 呼び出しがあります。

なぜそれをしているのか理解できません。元の位置からスタートしないのはなぜですか?

0 投票する
1 に答える
142 参照

java - Java で AI をパフォーマンス的に処理する最良の方法。(個別のスレッドと単一の更新スレッド)

Javaでゲームを作っています。ゲームは現時点で 3 つのスレッド (スポナー スレッド、更新スレッド、ドロー スレッド) に分かれています。スポナーは、プレイヤーに向かって移動する敵をスポーンします。約 800 のスポーンの後、ゲームは遅れ始めます (これはある程度理解できます)。問題は、Ai ごとに個別のスレッドを作成する必要があるか、更新スレッドで一度にすべて更新する必要があるかです (これが現在のケースです)。どちらがより良いパフォーマンスを生み出すでしょうか?

0 投票する
2 に答える
192 参照

physics - 位置に向かうとき、いつブレーキを開始しますか?

次元が 1 つしかない場合は、位置 X に到達してそこで停止する必要があります。自分で適用できる最大加速度 A があります。加速する方向を選択する各フレーム。

では、速度 V があり、位置 X でできるだけ速く停止したい場合、最大加速度 A のどのくらいを自分で適用しますか?

(遠くにいる場合は最大加速を適用しますが、近くにいる場合はブレーキをかけ始めます。そのため、速度と残りの距離に基づいて、いつブレーキをかけ始めるかを決定する必要があります。)

0 投票する
1 に答える
540 参照

actionscript-3 - 敵がランダムに動く

物事を簡単にするために、プレイヤーと敵がいるタイルの配置があります。

私の目標は、敵が範囲内のタイルをランダムに移動するようにすることです。私がしたことは、どのタイルが基本的に周囲のタイルである敵に当たっているかをチェックする、enemyVisionArea と呼ばれる正方形のグラフィックを作成することでした。

プレイヤーが敵の近くにいない場合、および敵が利用可能なタイルの隣にいる場合、敵に5秒ごとに移動するように指示するタイマー機能があります.

energyMover は、タイル オブジェクトと等しくなるように作成した変数です。

そのままの場所にとどまるだけです。私は、敵のVisionAreaがヒットしたタイル上で敵を自力で動かしたいと思っています近くのタイルをテストしています。beginfloor1 関数が機能していないようです。energyMover = event.currentTarget を Tile として宣言し、敵の敵のVisionArea が hitTesting であるランダムなタイルに敵を移動させる方法はありますか?

これが紛らわしい場合は、完全なコードを投稿できます。

0 投票する
1 に答える
111 参照

xna - 追跡、ゾーン範囲

ここに画像があります(投稿できません)XNAゲームで何をしようとしているのかを示しています。プレーヤーがゾーン範囲内にあるかどうかを確認し、そうであればプレーヤーを攻撃します。チェックレイを使用してこれを実行しようとしましたが、プレイヤーは敵の前にいる必要があるため、奇妙で無効な結果が得られます。![ここに画像の説明を入力][1]

0 投票する
2 に答える
13247 参照

c++ - 人工知能ライブラリ

ゲームで役立つ人工知能アルゴリズムの C および C++ 実装を探しています。私が最も興味を持っているのは、強化学習アルゴリズム、遺伝的アルゴリズム、ニューラル ネットワークです。ただし、他のものも興味深いものです。

非常に魅力的な機械学習アルゴリズムを備えたものを見つけましdlib.netたが、これらは特にゲーム向けではないようです。


私が使用できるライセンスは、Boost Software License、Zlib/Libpng ライセンス、およびパブリック ドメインです。これらのライセンスのいずれかに該当するライブラリの推奨事項は、高く評価されます。

0 投票する
2 に答える
266 参照

algorithm - 重み付けされたポイントのサンプルまでの距離の合計を最大化するための閉じたパス上のポイントの特定 (ゲーム AI)

私は単純なパズル ゲームの AI を行っており、次の問題を効率的に解決する必要があります (ゲームで多くの反復を行う必要があるため、指定された範囲で 1 秒未満)。

正方形 (0 ~ 200,000,000) の各辺に、強度が 1 ~ 10,000 の N (1 ~ 100,000) のモンスターのサンプルが、左上隅から 1 単位間隔で配置されています。モンスターまでの加重距離の合計が最大になるように、ヒーローを正方形の点 X に移動します。各モンスターまでの加重距離は、MonsterStrength*ShortestDistanceToX (時計回りまたは反時計回り) によって計算されます。X も 1 単位間隔マーク上にある必要があり、モンスターとヒーローは正方形の側面のみを移動します

いくつかのアプローチを試しましたが、どれも十分に高速でも正確でもありません。

この問題を補完する可能性がある (元のセット内の対応する各モンスターから最も遠い点のセットまでの距離の合計を最小化する) は、幾何学的中央値、施設の位置の問題、ウェーバーの問題などを見つけることに関連しているようです。

線形計画法も可能ですが、遅すぎてやり過ぎになる可能性があります。

誰かが良いアプローチのアイデアを持っていますか?


長さ 3 の辺の正方形の図を次に示します。

強度 3 のモンスターを 2 に、強度 1 のモンスターを 4 に、強度 2 のモンスターを 12 に、強度 1 のモンスターを 11 に、ヒーロー (X) を 8 にすると、加重距離の合計は次のようになります: 3*6 + 1*4 + 1*3 + 2*4 = 33、これはこの場合の最大値でもあります