buyoh.hateblo.jp

残念な競技プログラミング参加者による学習記録

codingame: Code of Kutulu 参加記録

問題概要

KutuluのMinionの攻撃を回避して最後の1人になることが目標.

sanity(SAN)の減少

  • 何もしなくても勝手に下がる.近くに味方が居ると下がりにくくなる.
  • Minionの攻撃を受けると-20.

手段

  • 敵を遠ざけるLight*1
  • 周囲の味方を回復するPlan
  • 一度だけ周囲の敵を騙すYell

戦績

今回は打ち込める時間があったためか,初Legendary.33/2092位.

前半,仕様が滅茶苦茶だったのでやり込む人少ないかなとは思いましたが,そんなことは無かった.

実装

6手先全探索で移動方向を決める. Wandererの実装はすべて自分の方へ移動*2,Slasherはその場を動かないとしてシミュレート. 攻撃を何回喰らった,回復マスを踏んだ等の情報を蓄積させて評価する.

LightPlanYellはルールベース(シミュレートして効果があるなら打つ).

リスクムーブ(Yellされる危険性の判断)に関する実装は無し.

評価関数を頑張る(いつもの)

感想

限界を感じた.

味方の動きは予測できないので,15ターン先を見ても殆ど意味がなく,逆に1手先だけを見る実装では孤立したりハマったりする.

全探索の高速化・情報を増やしていく事しか思いつかない…

ルルイエ

Call of Kutulu をもじったものらしい

関係ないですが,群馬RPGでは韋駄天の妖刀信綱レジェンダリー・伝説の群馬武神甲冑レジェンダリーは揃えてました.

*1:遠ざからないこともある.Lightは最短のプレイヤーを探すためのテーブルのみに影響がある.Minionは常に最短経路を移動する.

*2:自分のAIの一旦敵に近づく等の無駄な動きの原因は大抵これ