イベント
[CEDEC 2010]三國志や信長シリーズの開発者が語る,コーエー流歴史モノAI設計ノウハウ
コーエーの歴史シミュレーションといえば,「信長の野望」シリーズと「三國志」シリーズが最もよく知られているが,概要を述べれば「内政,合戦,外交などを駆使して,自勢力を天下統一へと導く」という内容である。つまり単純に合戦に強いAIではなく,さまざまな要素をこなしていくAIが求められるわけだ。また,シングルプレイが中心になるため,ゲームを面白くするためには,AIが強すぎても,逆に弱すぎてもダメである。
これらの要求を満たすため,どのようにしていくべきかという,いうならば,コーエー流の歴史モノAI設計のノウハウがこのセッションで語られたのである。
AI設計の本題へと入る前に,「このジャンルには,一つの問題がつきまとっている」と入江氏は語る。コーエーゲームの経験者なら思い当たる節もあるかもしれないが,順調に自勢力を拡大していくうち,あるタイミングで対抗できる勢力がいなくなってしまうことがある。そうなったプレイヤーは,だらだらと消化試合を進めるしかなく,ゲームを継続するためのモチベーションが急激に低下することになる。
それが実現できれば,プレイヤーと同じようなスピードでAIが勢力を築き上げ,勢力図が刻一刻と変化し,ゲーム展開の多様性と緊張感が維持できるはずだ。
続いて入江氏は,自らがメインプランナーを担当した「信長の野望・革新」(以下,革新)を例に,賢いAIを設計する際に重視するポイントを大きく二つに分けて紹介した。
【その1】攻略スピードを重視
革新の特徴として,技術研究には長時間を要するうえ,複数の研究を平行して行えない。さらに学舎の建築には1か月以上かかるといった具合に,技術の獲得に時間のかかるシステムなので,まずは,これらを適切に判断できるAIが求められる。これによって,攻略のスピードを高めているのだ。
建てるべき施設の中で最優先すべきは金銭系で,ほとんどのコマンドで金銭を要するため,これが底を突いてしまうと戦略のすべてがストップしてしまう。もちろん,技術研究にも多額な金銭を要するのだ。そのため,金銭を保ち,時間のかかる研究を維持しつつ,なおかつほかの戦略を行わせていくというバランスが要求される。
【その2】総合的な判断を重視
そのため,敗色濃厚な戦いでは将兵を無駄死にさせることなく,さっさと退却してしまう場合もある。このようなAIは,相手にする側にとってかなりやりにくい相手となるだろう。
こういったプロセスを経て,賢いAIが出来上がる。しかし,いくら強くても敵がすべて同じAIでは,言うまでもなくゲームとして物足りない。したがって,次のステップとして,さまざまな微調整を加えていくことになる。
微調整には,例えば武田家なら騎馬,織田家なら鉄砲を重視といったような勢力の個性化がある。「○○家ならこういうことをしそうだ」といった感じのAIに仕上げるのは,歴史ファンにとって没入度を高めるために重要だ。
また,大名の能力に応じてAIの効率を変化させ,非効率(=弱い)なAIを混ぜることでゲームが面白くなると同時に,勢力の淘汰を促進させる効果も期待できる。
ゲーム開始時,AIに制限を設けることも意外と重要だ。初心者がプレイした場合,ゲーム開始後にいきなり攻め込まれてしまうと,そこで萎えてしまう人は多いはず。そこで,ちょっと手加減してあげる必要があるという。
具体的には,最も難度の低い「初級」の場合,AIはプレイヤーの勢力を逐次チェックしたうえで,拠点数や兵力数にキャップを設ける。逆に,プレイヤーがAIを攻める際は,援軍などを行わないようにしている。このような接待プレイを実現することで,初心者プレイヤーでもそこそこの手応えを感じつつ,ゲームを楽しめるというわけだ。
最後に入江氏は,優れたAIを実現させるための自論を二つ展開し,セッションを締めくくった。
【その1】システムを決める際は,AIを念頭に
【その2】ゲームにうまくなる
どんなにAIを煮詰めても,現状では開発者が考えるベストなAIの,7割程度しか実現できない。しかもゲームの仕様はタイトルごとに異なるため,普遍的なアルゴリズムは存在しない。
では,優れたAIを実現するにはどうするか? それは,開発者がゲームに精通して,普段から攻略法を見極めるための観察眼を養うことが大切だ。
数多くの勢力が登場することでAI処理も複雑になるが,プログラムで工夫している。アルゴリズムごとに判定する頻度を調整し,トータルでの負荷を抑えているのだ |
AIが複雑化することでデバック作業も大変になるが,その作業にも工夫が見られる。仮にトラブルが発生しても,直ちに問題を見極めるための体制が確立されている |
- 関連タイトル:
信長の野望・革新
- この記事のURL:
(C)2005 KOEI Co., Ltd.