
11月7日、 ロシアのAi Cup 2017ベータテストウィークが正式に開始されました。 チャンピオンシップは毎年行われ、今年は参加者にCodeWarsと呼ばれるプロジェクトを提供することにしました。これは、参加者自身が「RTSのプレイヤーシミュレーター」と呼ぶゲーム用プログラミングボットのコンテストです。 ベータテストが終了し、チャンピオンシップが正式に開始されました。現在、提供できるものについて報告し、ニュースを共有したいと考えています。 もちろん、これを欠かさずにすべての人を参加に招待してください。
チャンピオンシップの概要

念のために、知らない人のための競争について簡単に-自由形式での小さなルール。 毎年、特定のジャンルのゲームを作成し、このゲームのボットを作成したい人全員に特定の行動戦略を与え、このボットをサンドボックスで実行します。 ゲームのルールは徐々に複雑になっており、最良の戦略を選択した後、各ラウンドごとに一連のラウンドが開催されます。 その結果、最もクールな賞品(2つのMacbook、スマートウォッチ、iPad、それだけです)。 最もクールなものではなく、Tシャツ、私たちのシンボルのあるスウェットシャツ、名誉と尊敬-かなり多くのニシュタクも手に入ります。 バトル自体は、ウェブサイトで直接見るか、当社が提供するローカルビジュアライザーのデバッグモードで起動できます。
さて、今年はRTSに似ています。 最終的なサイズのマップがあります。このマップの各コーナーには、さまざまなタイプの機器500台がミラーリングされています。
- 戦車および歩兵戦闘車 -地上ユニット、最初は地上に対して効果的であり、2番目は空襲に対して有効です。
- ヘリコプターと戦闘機 -航空ユニット、地面を砲撃するための最初のもの、空中戦のための2番目。
- BREM-修理チーム。 つまり、「医師」。

もちろん、ユニットは、速度、攻撃範囲、偵察範囲、攻撃、防御など、多くのパラメーターが大きく異なります。 マップは、とりわけ、さまざまな種類の地形と天気によってマークされます(地形は、移動速度と地上での視界、空中の天気に影響します)。 一見タスクは非常に簡単です-敵のすべてのユニットを破壊し、自分自身を生き残るために。 ここでの管理と従来のRTSの違いは、実際にはマイクロ管理がないことです。
- ユニットは接近すると自動的にお互いを攻撃し、それぞれが自分のターゲットを選択します。 攻撃対象を個々のユニットに手動で割り当てることはできません。
- プレーヤーの戦略には、Nティックごとにユニットのグループに注文を与える機能があります(合計で、ゲームは20,000ティック続きます)。 残りの時間、軍隊は以前の命令でデータを実行します。 したがって、単一のユニットを選択して、複雑なパスに沿ってどこかに送信するのはかなり無駄です。
これらの制限はすべて、一連のマイクロバトルではなく、軍事戦略計画を明確にするために特に導入されました。 一般に、それは後でうまくいきました。
テスト結果、または今できること

伝統的に、ロシアのAIカップは常にベータテスト週から始まります。参加者は、私たちが提供するAPIで何かを成し遂げ、ゲームの両方のメカニズムを賞賛またはscろうとします。これがAPIそのものです。 もちろん、私たちはしばしば自分の伝統を批判します-「以前は良くなった」、「今ではまあまあです」、「すべてが複雑すぎる」。
次に、見つかったバグを急いで謝罪し、修正し、バランスが本当に面白くなるように変更し、サポートする新しいプログラミング言語を追加します。 さらに、多くの場合、この段階で、バランス調整とともに、ゲームの仕組みに多くの新機能を追加します。 今年も例外ではありませんでした。
1秒あたりのアクションを増やす
最初から、参加者に許可されているCPSの量をオーバーシュートしました。 ベータテストの開始時に、1秒間に6つのアクション(最初は3つのタイプのアクションがありました。グループの選択、ベクトルに沿った移動、または特定のポイントの周りの回転)でした。 これは、攻撃または防御のためのリテラシー戦略を構築するには完全に不十分であることが判明しました。 最初のショットの前に参加者がする時間は、戦闘機を攻撃に送るか、ストライキを見込んで悲しげに絞るしかありませんでした。 その結果、クールダウンが半分に短縮され、戦闘機の速度がわずかに弱まり、はるかに良くなりました。 少なくとも、意味のある構成が登場しました。
4番目のタイプのアクションはSCALEです
ユニットにはパスの検索の独自の実装がなかったため、開拓者が異なるタイプのユニットの混合チームを構築することは完全に不可能であり、単にお互いに休み、先に進もうとはしませんでした。 新しいタイプのアクションSCALEを導入することで、この問題を解決しました。 大まかに言えば、ユニットの分離を行い、それらを与えられた係数で「スケールアウト」するように命令します-ランクを閉じる、またはその逆のいずれかでそれらを開きます。 したがって、参加者は任意の2つの分遣隊を奪取し、それぞれを「少しずつ分散」し、1つの混合師団(タンク+ヘリコプター、歩兵戦闘車+戦闘機など)を構成する機会を得ました。
分離から生じた参加者はすぐに「サンドイッチ」と呼ばれました。
AOE-核攻撃!

将来の戦闘を計画するとき、一連のゲームTotal War、StarCraft、C&Cなどのゲームのようなものを想像しました-秩序ある装備のランクのスマートな戦術的な戦い、退却、攻撃などのゲームの美しさです。 ベータテストの最初の段階での現実は、私たちを少し中断させました。トップ戦略は、プレーヤーが持っているものすべてを(MOVEとROTATEの小さな組み合わせから)1つの大きな山に単純に混ぜ合わせ、結果の「com」を送信して到達したすべてのものをダウンさせることになりました 正直なところ、私たちも最初の参加者もこれに完全に満足していませんでした-美しいAIとさまざまな戦術が欲しかったのです。 その結果、 核攻撃が発生しました-ユニットの1つをミサイル攻撃の砲手として割り当て、このユニットが生きている間に、そこから視界内のエリアを攻撃することができます。
もちろん、このアクションにはかなり大きなクールダウンがあり、それほど大きなダメージは与えません。 しかし、それでも、ハードコードされた多数のユニットで敵を圧倒することはもはや不可能です-AIの新しいテクニックを教える必要があります-偵察、射手の発砲、および危険な場合の配布。 要するに、それははるかに楽しくなり、戦いはより面白くなり、参加者の戦略はより多様になりました。
戦略の進化
彼らがここで何をどのように書くかについて多かれ少なかれ明確な考えを持っているために、ここで彼らがその戦略を教えることに成功したものの小さな選択があります。 ほぼ年代順に。
ただ走って
これは、いわば最初に書かれたもので、いわばコントロールの習得です(まあ、私たちが提供するテスト戦略を送信します)。

ご覧のとおり、特別な意味はありません。
激怒
ある時点で、追加の種類のアクションが導入され、合計数が増加する前でも、参加者は初期ユニットをランダムに数回回転させ、互いに接近させ、そのようなミニトルネードを形成することが可能であることに気付きました:

核攻撃の導入前に、彼はよくタクシーをしました。 いくつかのバリエーション(よりスマートな構造と動き)では、現在舵取りをしています。
サンドイッチ
SCALEは、さまざまな種類の部隊が互いに混ざり合って、より賢明な師団の建設を可能にしました。 たとえば、次のとおりです。

すべての味と色に対して多くの建物オプションがあります。 もちろん、そのような部分の有効性を考慮する必要があります。 多くの場合、それ(効果)は、敵が何を構築したかに直接依存します。

ところで、ここで、2つの側面からはさみにヒープを持ち込む、ヒープに対する適切に配置されたシステムの成功した戦い。
核攻撃
それはかなり印象的です:

戦略の1つが構築されている間、2番目はすでに「砲手」の分遣隊を形成しており、わずか数秒で最初の戦闘機が到着し、建設中の「核攻撃」隊形を指しています。 ここでの防衛戦術は、迎撃からいくつかのフォーメーションへの即時分割まで、非常に異なる場合があります。
これは、1人の戦闘機が徐々に敵の形成全体に耐える戦闘です。
ロイ
非常に美しいタイプの戦術、申し訳ありませんが、このような構造の美しさを十分に伝えることはできません。

ミニマップは、この戦略が散在する部隊の大群をうまく管理し、従来の攻撃と核攻撃の両方で唯一の敵フォーメーションを混乱させ、使い果たすことを明確に示しています。 既存の制限の下でこのような数の個別のユニットを管理するには、適切なアルゴリズムのトレーニングが必要です。 しかし、そのような戦術の可能性は非常に良いようです。
パルチザンバトル
SCALEの非常に機知に富んだ使用法-マップ全体を「パルチザン」の単一ユニット(ミニマップに表示)であふれさせ、それぞれが核攻撃の砲手になることができます。

敵の師団の動きは地雷原を歩くことに変わり、対応する結果が得られます。 しかし、これは最も単純な偵察によって容易に中断されるべきであるようです-単一のユニットはほとんど即座に死にます。
実際、より多くの異なる攻撃および防御戦略がありますが、それらの大半はgifで適切に表示できません(そして、投稿はすでにかなり重いです)。 ここでトップのゲームを閲覧できます 。
ベータ版は終了しました-そして今は何ですか?
そして今、すべてが深刻です!
チャンピオンシップのベータテストは非常に成功し、サンドボックスの評価はリセットされました。参加者はそれぞれにAIを作成し、先に進んで次のラウンドに参加できるようになります。
ラウンド1
9日後、1080の最高の戦略が選択され、最初のラウンドに参加します。 ラウンドの勝者は、ラウンド2とファイナルに参加する機会があります。 ちなみに、サンドボックスに残っているベスト60はまだ第2ラウンドに該当します。常にチャンスがあるはずです。
最初のラウンドの後、建物がゲームに表示されます。 それらをキャプチャして、プレイヤーが選択したテクニックを作成するか、ゲームで使用できるアクションの数を増やすことができます。
ラウンド2
この一連の戦いは12月9〜10日に行われ、最初のラウンドで最高の300の戦略と、サンドボックスで最高の60の戦略が行われます。 戦いは決勝戦へのチャンスです。 2回戦を辞めない人は、サンドボックスで最初の10か所を獲得すればチャンスがあります。
第2ラウンドのすべての参加者には、シンボルの入ったTシャツが贈られます。 2回目のラウンドの後、戦争の霧がゲームに現れます。 偵察やスパイのトラップなどのAIアクションを学習する必要があります。
ファイナル
12月16〜17日に、ラウンド2のベスト50とサンドボックスのベスト10が最終賞を競います-MacBook Pro、MacBook Air、Apple iPad、Samsung Gear s3、WD My Cloud 6TB、WD My Passport Ultra 4TB。 ちなみに、ファイナルに勝てなかったTOP-6サンドボックスは、WD My Passport Ultra 2TBを受け取ります。 さらに、決勝のすべての参加者には、シンボルの入ったパーカーが贈られます。

サポートされている言語について
私たちは、私たちが手を差し伸べるすべてのもの(および参加者自身が私たちに送るすべてのもの)を含めようとします。 このセットから始めました: C# 、 C ++ 、 Java 、 Python2 、 Python3 、 Pascal 、 Ruby 。
追加されたベータテスト中: D.
さらに追加: Kotlin 、 Scala 。
次の行: Swift 、 Go 、 Rust 、 Nim 。
リストが更新されるようです。 さらに、今日は別の言語である英語をサポートする予定です。 ルールはほとんど翻訳されており、すぐに英語版でサイトに掲載されるという意味で。
まだ参加する時間はありますか?
さて、なぜこれをすべてここに書くのでしょうか? チャンピオンシップの公式部分は始まったばかりで、12月中旬まで続き、どの段階でも参加できます。 ここで登録できます。基本ルール、ガイド、開始戦略、フォーラム、言語パックなどがあります。
チャンピオンシップは非常に活発です.Telegramでは、参加者自身が主催する公式チャット 、 公式チャンネル 、非公式チャンネルを見つけることができます(ちなみに、彼らからは、非公式のビジュアライザーと他のツールがたくさんあります。 VKにはすべての選手権のグループがあります 。
つまり、ここで私たちにとって興味深いことです。 あなたはサポートなしで放置されることはありません-あなたはいつでもコンペティションの主催者として個人的に私に尋ねることができます-すべての公式および非公式チャット/グループ/どこでもsat2707。
PSコミュニティのサポートと支援(およびこの投稿の多くの写真)にコミュニティに感謝を表明しないのは間違っています。 みんな、発射して、続けて!