また暫定世界1位になったので、
その過程をまとめてみようと思います
素材はCodinGameのNight Of War
プログラムとかAIの勉強をするのに、CodinGameのサイトは有用です
作りの外側は作ってくれているので、AIのロジックに専念できます
ルール把握
英語だとgoogle翻訳だのみです
抜けがあると、あとで大修正につながります
誤字脱字のように大抵どこか抜けます
状況出力
どういった情報が渡されるのか
これまでのゲームから「こう」といった、勝手読みを減らせます
データ設計
プログラムの出来に大きく作用します
今回は少し失敗している感じです
関数設計
こんな感じで組むというイメージでコメントだけ最初書いて
コーディングできそうなレベルまで書き込んだら開始しています
初期コーディング
とにかくルールにそって動けばOK
基本ルールが把握できていないと歩くこともままなりません
スコア化
スコア化するものは、距離、位置、数といった所です
アクションをおこした後の状況を正確に作れれば作れるほど
ザ・ワールドのスタンド使いのようになれます(不思議になことに勝手に成長します)
未来を多く計算できるものが世界を制します
デバッグ
怪しい所に状況開示を求め、ひとつずつつぶしていきます
今回は読んでいませんが未来を読んでいると
その状況がどこで発生しているのかみつけるのも大変です
今回はゲーム提供側のデータ型と、こちらが作りたいデータ型との差があって
一度大きく作り直していて、その時に起こる障害にはまりました
こりすぎるとはまりやすくなります
まだ参加者2人でかつ、もう1人はロジック入れていないので実力は未知数です
ゲームのAI作成って、かなり面白いのですが、まだあまり認知されてないようです