問題タブ [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.
model-view-controller - ゲームAI:Sense-Think-Actコンポーネントを実装するためのパターン?
私はゲームを開発しています。ゲーム内の各エンティティはGameObject
です。それぞれGameObject
は、、、およびで構成さGameObjectController
れGameObjectModel
ますGameObjectView
。(またはその継承者。)
NPCの場合、GameObjectController
は次のように分割されます。
IThinkNPC
:現在の状態を読み取り、何をすべきかを決定します
IActNPC
:実行する必要があることに基づいて状態を更新します
ISenseNPC
:現在の状態を読み取って世界の質問に答えます(例:「私は影に隠れていますか?」)
私の質問:これはISenseNPC
インターフェースに問題はありませんか?
どのメソッドもパラメータを取りません。代わりに、実装は関連するものへの参照を維持し、GameObjectController
それを読むことが期待されます。
しかし、私は現在、このための単体テストを作成しようとしています。もちろん、引数を直接渡すことはできないので、モッキングを使用する必要があります。私のやり方は本当にもろく感じます-ワールドクエリユーティリティを別の方法で使用する別の実装が登場した場合はどうなりますか?実際、私はインターフェースをテストしていません。実装をテストしています。貧しい。
そもそもこのパターンを使用した理由は、IThinkNPC
実装コードをクリーンに保つためでした。
おそらく、清潔さはそれだけの価値はありません。
したがって、ISenseNPC
毎回必要なすべてのパラメータを取得する場合は、静的にすることができます。何か問題はありますか?
game-ai - ファイナルファンタジータクティクスのようなゲームのためのAI
私はファイナルファンタジーの戦術のラインで小さなグリッドベースのターンベースの戦略を実装しています。
ターゲットの選択、動き、スキルの選択プロセスにどのようにアプローチできるかについて何かアイデアはありますか?
私は決定を切り離すことを検討していますが、これら3つの決定はすべて大部分が結合しています。(たとえば、誰を攻撃するのか、どの範囲のスキルを使用するのかを知らない限り、どこに移動するのかを決めることはできません。逆に、何回転するのかを知らない限り、誰を攻撃するのかを決めることはできません。各ターゲットに到達するために私を連れて行きます)
統一されたシステムに移行したいのですが、Killzone 1 AIのような方法で使用される潜在的なフィールド調査から物事を試してみると、ローカルの最大値にとらわれてしまいます。
===アップデート1
私は現在、潜在的なフィールド/影響マップを使用して、決定を下すデータを生成しようとしています。
多くのスキルや、ダメージを与えるのではなく、バフ/デバフまたは世界を変えるスキルをどのように扱うかがわかりません。
他の誰かが、現在Goゲームで使用されているモンテカルロ木探索の使用を提案しました。
ゲーム内の多くの動きは、攻撃して世界に影響を与えることができる位置にはならないため、俳優が使用するスペースは適切ではないと思います(私はファイナルファンタジーの戦術よりも大きな世界にいます)
ファイナルファンタジーの戦術では、それはうまく適用されるかもしれませんが、分岐係数は9x9 Goのそれよりもはるかに大きいです(私が理解していることから)
===
よろしくお願いします、Xtapodi。
ps.1-問題は、敵がどれだけ離れているかを正確に知るために、敵が近くにいるにもかかわらず、通行できない崖が私たちを隔てている可能性があるため、敵にパスファインドする必要があることです。さらに悪いことに、ユニットが橋のように道を塞いでいるので、実際には彼に到達する方法がありません。
algorithm - フライトゲームのAIアルゴリズム?
皆さん、こんにちは。
私は趣味のプロジェクトの 1 つの設計段階にあります。3D 空中戦ゲームを開発する予定です。(HAWX に触発されました)。しかし、敵のクラフトに対して AI がどのように機能するのか気になります。FPS ゲームのようにパス (グラフ上のパス検索) に沿って移動することはないと思います。敵機の移動にはどのようなアルゴリズムを使用できますか? これに使用できる AI ライブラリはありますか?
注: 開発環境として Irrricht エンジン、C++ を使用しています。
frame-rate - 一人称シューティングゲームでFSMの代わりに隠れマルコフモデル
私は、FSMを使用して、ゲームのトップ2Dビューを表示し、ボット、プレーヤー、サークルを使用してFPSを実装するコースプロジェクトに取り組んでいます。ボットの動作は決定論的でした。たとえば、ボットのヘルスがしきい値を下回り、プレーヤーが表示されている場合、ボットは逃げます。それ以外の場合、ボットはヘルスパックを探します。
ただし、この場合、ボットが行う決定のほとんどは、すでに私たちが決定したルールに基づいているため、ボットはあまりインテリジェンスを示していないと感じました。
ボットに実際のインテリジェンスを実装するのに役立つ、他にどのような手法を使用できますか?私はHMMを見てきましたが、HMMはボットの不確実性を高めるのに役立つ可能性があり、ボットは事前に定義されたルールに依存するよりも自律的に意思決定を行うようになる可能性があります。
皆さんはどう思いますか?何かアドバイスをいただければ幸いです。
artificial-intelligence - 4 をニューラル ネットワークに接続: ドラフトの評価 + さらなるステップ
ANN に興味があるという理由だけで、人工ニューラル ネットワークを使用して動作する Connect 4 エンジンを構築したいと考えています。
ANN 構造の次のドラフトが作成されます。それはうまくいくでしょうか?そして、これらの接続は正しいですか (交差したものでも)?
この ANN の UML クラス図を作成するのを手伝ってくれませんか?
ボードの表現を ANN の入力として提供したいと考えています。そして、アウトプットは選択した動きでなければなりません。
後で強化学習を使用して学習を行い、シグモイド関数を適用する必要があります。エンジンは人間のプレイヤーと対戦します。そして、ゲームの結果に応じて、重みを調整する必要があります。
私が探しているもの...
... 主にコーディングの問題です。抽象的思考からコーディングに移行すればするほど、より良いものになります。
algorithm - 2D ディスクリート ゲームでの建物の配置
私はグリッド ユニバースで作業しています。オブジェクトは 2 次元マトリックスの整数位置にのみ存在します。
いくつかの用語:
正方形 - 個別の場所。各正方形には int x 座標と int y 座標があり、x と y のペアが同じ 2 つの正方形はありません。
隣接: 正方形 X は、x 座標または y 座標のいずれかの差の大きさが 1 以下の場合、別の正方形 Y に隣接しています。 、W、および NW 方向が隣接しています。
問題:
次の一般的な状況を考えます。
ビルダーが 4 つの建物の 1 つに隣接している場合、既存の 4 つの建物の少なくとも 1 つにも隣接する共通の隣接する正方形を共有するように 2 つの建物を建設したいと考えています。この共通の隣接する正方形はブロックされていません。 .
基本的な有効なソリューション:
現在、4 つの建物に隣接するすべての通過可能な正方形を反復処理し、隣接する 3 つの通過可能な正方形を持つ正方形を探しますが、これにより次のような状況が発生することがあります。
アルゴリズムを改良する方法について何か考えはありますか?
編集:別の失敗したケースを追加しました。
編集:これらの条件が満たされる可能性のある構成がないかどうかも知りたいです。実行可能な解決策が保証されているわけではありません。これを成功させる方法がない場合は試したくないです。
artificial-intelligence - PrologでのConnect6ゲームの表現とヒューリスティック
ゲームのconnect6wikiを表現したいと思います(おそらく述語stone(P、X、Y)、ここでPはプレーヤー、X、Yは座標です)。また、問題を解決するために(対戦相手を作るために)優れたヒューリスティックを使用したいと思います。PrologのゲームAIに関する記事のヒントを教えてください。ありがとう
algorithm - 「RaceTrack」ゲームの AI アルゴリズム
RaceTrackの鉛筆と紙のゲームの AI に適したアルゴリズムを知っている (または提案できる) 人はいますか?
各ステップには 9 つの可能な選択肢があり、適切な戦略を決定するには少なくとも 6 ~ 10 ステップ先を見る必要があるため、ブルートフォースは、境界との交差のためにいくつかの選択肢を除外できたとしても、非常にコストがかかります。
現在、どの選択肢を除外するかを決定するために、各選択肢に何らかの品質値を割り当てようとしていますが、そのような品質値を割り当てる方法に関する適切なルールはまだわかりません.