「Crusader Kings II」開発日記#71――AIと最適化

CK2開発日記#71が公開されていましたので、その内容をご紹介。今回はAIと最適化について。

前回:開発日記#70――東方のアート


スポンサーリンク

概要

開発日記#71は、AIと最適化について。

最適化

  • 最適化はThe Reaper’s Dueのときほど焦点となっているわけではないが、チベット・タリム盆地・中東に多くのプロヴィンスを追加したため、ゲームが遅くならないようにしようと思っていた。そこで、開発にあたって私たちはゲームのどこの部分を早くできるのかを探り、開発している間はまったくなにもしないキャンペーンでゲームの平均速度にずっと目を光らせていた。
  • その結果、さまざまなシステムに約50の変更を加え、小さな最適化を積み重ねて大きな改善とした。残念ながら最大のものはJade Dragon開発初期のパフォーマンスの問題を修正したものだったが、結果として2.7よりも大きな改善となった。

変更点の例は省略します。

  • 本質的には、小さな変更の多くは並列化を行った。これに加えて、不必要なキャラクターの生成しないようにした。
    • プレイアブルキャラクターや傭兵でないキャラクターに対してのみ、キャラクターを生成するいくつかのイベントやディシジョンが起こるように制限した。
    • 宮廷の人口調整を改善し、よりよく評議員や妾をカウントすることで必要な数よりも多くのキャラクターを生成しないようにし、結婚したいと思っているAIキャラクターのみに結婚相手候補が生成されるようにした。
    • 隠遁中だったり投獄中のキャラクターは女性を妊娠させることがなくなり、女性が隠遁・投獄状態にある場合も妊娠しないようになる。(?)
    • AIの男爵の生成は、まず宮廷から適した人間を探す。これに失敗した場合のみ新たなキャラクターを生成する。
    • 軍船を持った傭兵についてのサブユニットの指揮官の生成を修正。
  • その結果、2.8ではプロヴィンス数が大きく増え、中国からのキャラクターもいるにもかかわらず、ゲームは2.7と同水準のキャラクター数となった。
  • 全体として、私たちのテストではこうした変更によってゲームの最初の10年が2.7よりも8-16%早くなった。これはPCにもよるが、私たちがテストしたすべてのマシンすべてで2.7よりも2.8のほうが早かった。
  • また、メモリ使用量も少しだけ減らすこともしたが、非常にわずかなRAMしかないマシンでない限りは気づかないだろう。

AI

  • CK2のAIはいくらかの特異性を持っている。ゲームがキャラクターベースであるため、他のゲームほどゲーム体験を損なうことがない。人間がバカなのは極めて普通のことだ。しかし、軍の移動のように、ある点ではこれを考慮したとしてもまだイライラさせられるし、AIが称号を扱うときに汚い国境となることに気を使うことはほぼない。

AIのチェンジログについては省略します。

  • このほか、AIは称号の取り扱いや封臣の移譲をよりよくできるようになった。称号の取り扱いについては、既にいる封臣を強くするようなことは避け、新たに封臣を作ることを好み、可能であれば領地の文化と宗教を維持しようとし、自分の家系を強化しようとする。封臣の移譲については隣り合った封臣を与えるようになり、陪臣が領地のあちこちにばらばらになるということはなくなる。相続によってこうしたことが起こることもあるが、これは史実にもあったことで、私たちは問題とは考えていない。
  • 多くの調整も行われたが、特にプレイヤーがうれしいだろうと思うこともある。すなわち、標的が非常に近くにいる場合、教皇がインドに対してランダムに十字軍を起こすことはなくなった。

次回:開発日記#72――王家の省察

『「Crusader Kings II」開発日記#71――AIと最適化』へのコメント

  1. 名前:匿名 投稿日:2017/10/17(火) 20:42:26 ID:39f2864e3

    最初の項目は「プレイ可能キャラクターにのみイベントが発生するようにした」
    という意味だと思います

  2. 名前:管理人 投稿日:2017/10/18(水) 14:50:08 ID:bd877a3fc

    ありがとうございます。restrictedの意味のとり方が変でしたね。修正しました。