ヘビAIの設計


9

私はこのgamedev stackechangeを初めて使用しましたが、以前に数学およびcsサイトを使用しました。

だから、私は5ラウンドで他の4つのヘビと競合するヘビのAIを作成するコンテストに参加しています。ルールは、5つのヘビがあり、ボードが30x30であり、フィールド上の小さな障害の数。

ノキアのゲームのように、果物に到達するとヘビが成長し、自分にぶつかった場合、別のヘビまたは壁が死にます。ゲームは移動と移動の間に30ミリ秒の遅延で実行され、サーバーは50ミリ秒ごとに新しいゲームの状態を送信します。

勝者は、ゲームのどの時点でも最長のヘビです。タイブレーカーはキルによって決定されます。

これまでのところ、私のヘビがリンゴに最も近いかどうかを判断するために、各ヘビからのA *グラフ検索が実装されています。それ以外の場合は、次のリンゴを予測するために、ヘビが使用するボードの最も空いている領域を特定するために、きちんとした小さなアルゴリズムを作成しました。

これ以外にも、蛇が抜けないトラップに足を踏み入れていないことを確認するために、いくつかの生存可能性チェックを行っています。引っかかった場合は、抜ける可能性を高めるための何かを用意しています。

...

とにかく、私はテストサーバーでヘビをテストしましたが、非常にうまくいきます。一般的に、リンゴが確実な場合にのみ行き、そうでない場合にスペースを見つけるという私の戦略は、他のどのヘビよりも速く成長します(一部のヘビは同じようなことをしますが、多くの場合、真ん中または隅に行くだけです)。これらのトライアルゲームですが、生存率に優れているように思われる同じヘビに打ち負かされることがよくあります(私のヘビはより速く成長しますが、その後なんとか死に、この他のヘビはゆっくりと増殖し、一貫性に勝ちます。

だから私は誰かが私のヘビを改良しようと試みなければならないアイデアについて疑問に思っていました。それとも、新しいアプローチのアイデアかもしれません。私の関数とクラスは優れているので、劇的に見えるかもしれない変更も悪くないはずです。私はすべてのアイデアを奨励します。

何かご意見は?

回答:


5

良い防御戦略は、完璧なを作ることです(したがって、頭と裏側は常に1スペース離れており、完全な正方形または任意の長さで形成できるものをすべて作成します)。これにより、かなりの効果が得られます。閉じ込められた領域にヘビが入ることができず、自分に出くわすことはないので不滅です(なんとか口の中でリンゴが産まれない限り、スペースがないと不可能だと思います)。

これは、リンゴが実際に囲まれた領域に表示される場合、それを求めないようにプログラムすることができ、他のヘビがおそらくそれを得ようとして死ぬことになるので、しばらくすると、遷移するような方法でそれを得ることができます可能な限りあなたの形に戻します(少しトリッキーなアルゴリズムかもしれませんが、実行可能なようです)

リンゴをどこに置くかは、どれだけ離れているかに依存します。多分あなたが良いマージンで最も近い場合、あなたはそれのために行くことができますが、それ以外の場合は保守的であり、試行錯誤に基づいておそらくそれを微調整する必要があるでしょう、しかし私はそれは良い戦略になると思います。


1
つまり、基本的に、彼の「ヘビ」は「カメ」になるはずです。xD +1良い考え。
サイファー2012

いいね。しかし、ボードには障害があります。したがって、他のヘビプログラマーは、障害物(壁を囲んでいるか、リンゴを囲んでいる他のヘビか)がないかどうかを確認するために、ヘビを作成している必要があります。彼らは来なくて、ただ死ぬかもしれません。この問題を回避するためにできることの1つは、頭と尾の間にかなりの間隔を空けることです。
Shashwat 2012

面白いアイデアです。次のリンゴがスポーンするのを待って蛇がぶらぶらしているときに、このようなものを実装できると思います。ハハ、口の中でリンゴがスポーンするのが少し心配です。死とこれらのゲームはしばしば1つの早すぎる死によって決定されます
Rawb

@Ronald実際にあなたの口の中に産卵したリンゴを検出した場合、内側と外側に戻って続行することができます。AIは完全な反射を持っているので、実際にそれを実装する方法に基づいて簡単に修正できます(それ自体を修正することもできます)。
Kevin DiTraglia 2012

0

ヘビはその戦略を現在の長さに合わせる必要があります。

非常に長いヘビは、その体を使って敵を囲うことができます。つまり、壁でシールする必要があります。

ヘビが東に移動し、リンゴが北東にある場合、北に曲がる前に壁まで移動する必要があるため、他のヘビの可能なルートは厳しく制限されます。

  0123456789
a ··········
b ··········
c ········A·
d ··········
e ooooooC···
f o·········
g o·········
h oooooooo··
i ··········
j ··········

頭がCのこのヘビは、e8ではなくe9で北を向く必要があります。これにより、その下の敵は捕らえられ、「e」ラインより上にスポーンするリンゴを食べることができなくなります。

切り取れる領域が広く、保持できる時間が長いほど、優れています。

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