忍者ブログ
ゲームを作ったり、ゲームを遊びまくったりしている せっき~の生き様。   まずは目次をご覧ください
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2010年8月31日 にあった、CEDECの講演についての記事です。


It’s a showtime!! -DISSIDIA FINAL FANTASYのAI設計-

ディシディア ファイナルファンタジーの 話です。


---------------------------------------------

●ディシディアのAIで 求められたもの

短いバトルで 個性を演出
アクションとして 手ごたえある強さ
多彩な キャラバリエーション

(キャラの例 すぐ目の前を攻撃したい奴、十分 力を溜めてから攻撃する奴
防御しながら攻撃、避けながら攻撃、罠を張るやつ などなど)

 

・忘れてはいけないこと

→ このゲームは FFである。
 (FFが好きな人が 買うゲーム)


→ 重要なのは キャラクターを魅力的に見せる事


 

・AIを作る上で 気をつける事

→ 伝えたい事が多すぎると、伝えたい事が伝わらない

→ 時間を区切り いつ、何を見せるか? はっきりさせた

 
---------------------------------------------

●分けて考える

ディシディアのAIでは 大きく”性格” と ”スキル”の2つに分けています。



・分けて考える以上 互いが影響を与えあってはいけない

ひとつの行動を 複数の理由から結びつけると
その結果が どうした理由でそうなったのか? わからなくなるため

 

・性格と スキル

性格  ・・・ どういった行動をするか?  (どこに移動するか?、どんな行動をするか?)
スキル ・・・ バトルの操作テクニック   (その行動を どう行動するか?)


具体的には

性格  ・・・ 様子見するかどうか?
        残りHPによる、行動の変化
        状況に応じて、どんな攻撃をするか?

      → 例) ピンチになると 「ボタン連打」「けん制攻撃をし続ける」「回避し続ける」


スキル ・・・ 回避、ガード を、どれくらいするか?
        どの距離で、攻撃するか?
        相手のスキに対して、攻撃するか?
        苦手な距離に敵がいる場合?

      → 例) 「正確な距離で攻撃する」「スキをわざと見せる」

 

キャラクター性は 性格・スキル に影響を及ぼさないようにする

AIで弱いキャラクターを演じる場合、「強い攻撃を出さないようにする」と言う設定を わざわざ作らない
→ ディシディアでは、技の装備を変える事ができるので 弱いキャラの場合 そもそも強い技を装備させない
→ AIは、今 装備している技の中で 戦う

 

・AIとは 揺らぐものです。

なので、作り的に 何で揺らいでいるのか? を明確にしないと 良く分からないものになってしまう。

 

 

---------------------------------------------

●データ と プログラム

・データ化する利点

新しいキャラクターを作る際 AIを作りやすくするため
(プログラマが作業をしない)

トライ & エラー が簡単

 

・4つのパラメーターのみ

得意な距離
攻撃射程
どう回避するか?
状況に対する行動

 


・プログラムで組んだ方が良い場所

どう移動するか?

→ 移動は ナビゲーションメッシュ による経路探索

 目的地に 一直線に移動するのではなく 周りこみながら移動している

 


---------------------------------------------

●データ の実例

・攻撃の設定

        有効距離(min/max)  有効高度(min/max)   その攻撃の有効な対処法
ファイガ   16 , 30                 -10 , 3            横に避ける
プチメテオ  10 , 100                -10 , 10           ガード

 

・状況によって 攻撃的/通常/守備的 の指針

      100%   85%   35%
100%  守備的  守備的  守備的
85%   攻撃的  通常   通常
35%   攻撃的  攻撃的  攻撃的

(横軸 自分のHP 、 縦軸 敵のHP


(実際の ディシディアでは ブレイブ値 と言うのも考慮の対象になるが
本講演では 割愛)

 

・指針による攻撃選定確率

       蹴り    ファイガ   旋風剣  プチメテオ
攻撃的   20%   30%     40%   10%
通常     40%   10%     30%   20%
守備的   10%   70%     10%   10%

 

・行動セット

細かい行動 を組み合わせる事で ワンセットにしたAI行動
行動が決定すると、この行動が 実行される。


例) HIT&AWAY 行動

  離脱  →  けん制待機  →  接近  →  攻撃

→ この行動 全体で 5~6秒

 


・基本的には

移動して 攻撃する物である。

→ しかし、例外として 割り込み と言う概念がある

 

・割り込み

自分のやりたかった行動が なんらかの事情で実行できなかった
より大きなチャンスが生じた
大きなリスクを感じた

→ その際、割り込みが発生し 別の行動を行う

 

・ツマらないAI?

攻撃頻度が低い敵は ツマらない

→ 待機行動は 控え目に

 

・防御アルゴリズム

反射型で作成

→ 相手の行動を見てから 判断


ディシディアのゲーム性として 出の遅い攻撃、必殺技は 見てから避けられる ため

また、技が多すぎて 「この攻撃に対して こう対処すれば良い」と言う事を 汎用的システムでカバーする事ができなかった


→ 問題点  技ごとに 対応を用意する事になるため バグが多い
        (例 エクスデスのガード攻撃に ちょっとしたバグがあった
         結果、かなりのユーザーが エクスデスを相手に経験値稼ぎ が横行した)


       超反応 と言われた。

 

---------------------------------------------

●AIのバージョンアップ

海外版 「ディシディアファイナルファンタジー ユニバーサルチューニング
にて 改良をしました。


・反射型アルゴリズム の反応を遅くした

→ 当然、AIが弱くなった

→ 学習型アルゴリズム を実装

 (その学習は その試合のみ
 戦闘が終了すると その学習は リセットさせた)

 

攻撃の前に 先だし回避、ガードを行うようにした

→ 回避なのか? ガードなにか? は、これまでのプレイヤーの行動を分析して決定

→ その回避、ガード が失敗したなら 次第に その選択をやらせないようにした


→ ちょっとした改造ではあったが、AIの質が 劇的に上がりました

 


---------------------------------------------

●質疑応答

・AIについては 何を参考にしたか?

→ AIの資料が 全然なかったので とても苦労した


  スマブラを参考にした。
 
→ スマブラで CPU同士が対戦している姿を永遠と眺め AIの動きを読み取った

 


拍手[0回]

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
プロフィール
HN:
せっき~
性別:
男性
職業:
ゲームプログラマ
自己紹介:
古いパソゲー、ボードゲーム、カードゲームを熱狂的に遊んでいます。


ついったー
http://twitter.com/seki_seki_seki

連絡先は
sekisekiseki(あっと)gmail.com
最新コメント
[06/24 www.linux.ca]
[06/23 linux.org]
[06/23 blackmarket-matches.com]
[06/23 Ucuz Davetiye]
[06/22 ロレックス デイトナ 8pダイヤ]
カウンター
ついったー

Copyright © [ せっき~のゲーム屋さん ] All rights reserved.
Special Template : 忍者ブログ de テンプレート and ブログアクセスアップ
Special Thanks : 忍者ブログ
Commercial message : [PR]