Open7

Screeps Strategy

みつよしみつよし

6/21

  • OSの機能を運用する
    • 旧ロジックで制御されないRoomを確保する
      • 旧ロジックが新規のRoom, Spawn等に手を出さないような制限を加える
      • 部屋を確保する
        • claim, Spawn建設, Controller維持までを行うプロセスを実装する
        • W52S28
          • 旧ロジックで供給されるremote harvesterのclaimerとharvesterを手動で割り当てる
            • コンソールからのコマンド入出力を可能にする基幹プロセスを実装する
みつよしみつよし

6/24

  • 目的志向の意思決定の仕組みを実装する
  • 大目標をひとつ実装する: 周囲をsignしてまわる
    • scout creepが必要
みつよしみつよし

6/25

  • とりあえずRCL3にあげる
  • creep-tasksを参考にGameObjectにタスク指向メソッドを実装する
    • targetをメモリに格納し、target選定の時点で計算したあとはキャッシュに従う

  • E37N35

  • W27S26
  • W27N25
  • E15N28
  • E3N25
  • W25N27
みつよしみつよし

7/1

  • CPU使用率の計測
  • construction siteにscoutを置いておいたらどうか
みつよしみつよし

7/5

  • v4系と同等の機能を実装する
    • Tower
    • Repair
    • Build
    • Maintain roads
    • Automatically creates construction sites
    • Build first spawn
  • Creep task assignに優先順位をつける
  • targeted by

  • Objectiveに必要な情報は
    • child objectives
    • task runners
    • problems
    • その他の処理は共通化する
みつよしみつよし

7/6

  • Creep.taskに永続的なタスクを設定することは可能
    • 状況に変化があった場合はTaskRunnerが徴収する
  • TaskRunnerが直接CreepInsuficiencyProblemにアクセスできない問題