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

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

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


「ゲームAIはプレイヤーを虜にできるか?
~アクションゲームにおいて、AIを使って華麗に誤魔化しつつ魅せる手法~」




テーマは
CPUパワーを使い高度なAIを構築するわけではなく、
処理は軽くそれらしいAI をいかに作るのか?


です。


・気がつかなければOK
・俺つえー感を演出
・ちょっとした工夫
・人間らしく見せるAI
・賢く見えるAI


について解説。



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

●気がつかなければOK

ユーザーは自分が動かしているキャラに集中していて
敵AIにはそれほど意識を向けていない と言う事を利用している。


画面外のキャラや 遮蔽物の向こうのキャラなど ユーザーの意識が向いていないAIこっそりズルをさせる

→ 次の目的地にワープさせたり、一瞬で方向転換したり



実用例) プレイヤー vs 大量の敵 なアクションゲーム (無双的なゲーム)

ユーザーの目の前に 大量の敵がいるので、ユーザーの目を盗みやすい
ユーザーは近くの敵に意識を集中しがち

→ 離れている敵が こっそり高速移動している、こっそり武器を持ち替えている

→→ あくまで さりげなくする事がポイント



実用例) 戦闘機で撃ち合うゲーム  (エースコンバット的な)

実は 弾が当たってから、避けている。

→ コツとしては、その時 派手な回避アクションをさせる。

→ そうすると、ユーザーは 「ギリギリでうまく避けたな あのAIやるな!」と感じる。
  (実際は命中しているのに、紙一重で避けてるように見える)


→→ 最大の利点は、AIが弾を避けるために 事前から予測して回避するよう移動する
  と言うアルゴリズムを作らずに済む



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

●俺つえー感を演出

ユーザーに より熱中してもらうように


・複数の敵AIの中から やられ役を決める

→ やられ役AIは、わざと やられるような位置取りを行う。

→ そのAIがやられたら 次のAIをやられ役にして 繰り返す。
→→ 敵を連続して倒していけるので、ユーザーは気持ちよくなってくれる

→→ そのまま やられるために来たのでは 手を抜いているように見えるので
  攻撃しにきたけど、うまくユーザーに 弾を当てれず そして撃たれた
  と言う風な動きにする

  そうすると、ユーザーは弾を華麗にかわしつつ 敵を倒したと感じ 更に気持ちいい



・状況によるAIの切り替え

ユーザーの腕を見て 難易度を裏でいじる

イージー強、イージー中、イージー弱
ノーマル強、ノーマル中、ノーマル弱
ハード強、 ハード中、 ハード弱


と、ユーザーには3段階に見せかけて 実は9段階用意していた

→ 適度な緊張感と手応え、クリアした時の気持ちよさをユーザーに与えた。




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

●ちょっとした工夫

普通のAIを より良いAIのように見せる手法
(ユーザーに対して印象付けをうまくする)


・初見を大切にする

登場シーンを ド派手でカッコよくする

→ そうするだけで、ユーザーは普通のAIなのに 一味違ったAIだと錯覚してくれる。


例) 同じAIなのだけど、パラメーターだけ若干強くした敵の場合
  登場時に なんらかの特別なポーズを取らせるだけで 特別感を感じさせられる



・動き始めを丁寧に

開始の部分だけ別なAIのように振舞う。
(そこから後は 普段通りのAI)


例) 登場の時だけ ジェットストリームアタックのように三位一体で現れた場合
  その後は いつもどおりのAIなのに、なんか うまく連携攻撃されているように錯覚させられる。

(プレイヤーは 自分の操作に集中しているので、案外気づかない)



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

●人間らしく見せる

ユーザーに あたかも人間が操作しているかのように感じさせたい

→ しかし、それを真っ当に作ろうとした場合 かなりの労力と時間がかかってしまう。
そこで


キーログによる 人間の操作テクニックを再現

ゲーム開発者が実際に操作して そのキーログを取る
そして、AIに ここだ と言うタイミングで、キーログを再生させる

→ 凄いテクニックを見せつけられ ユーザーは関心


この手法は そもそもAIでは無いけれども 有効


 
・パラメーターによる 操作テクニックを擬似再現

人間が操作をする場合、テクニックを要するような場面

例えば 向こう岸にジャンプで飛び越えて進む場所で
絶妙なタイミングで2段ジャンプして 越えられる。

→ AIに2段ジャンプのタイミングを判断させて 綺麗に飛び越えられるようにするアルゴリズムを用意するのは大変
 (しかも、失敗すると 河に落ちてしまう)

→→ この時、こっそりジャンプ力のパラメータをこの時だけ2倍にして 1回のジャンプで飛び越えられるようにする

→→ ユーザーは 「ちゃんと2段ジャンプで飛び越えているな 感心感心」と錯覚する




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

●賢く見えるAI

管理AI個別AIにわける

敵軍隊と 味方軍隊が戦い合うようなゲームにて

個別AI ・・・ 攻撃、防御、回避などのキャラの動き (キャラクター1人につき1個)
管理AI ・・・ 全体把握、状況判断、位置取り    (1つの軍に1個)


状況判断して あそこに攻撃しろ、
HPはヤバくなったので、あそこまで逃げて休め

と、管理AIが指示する。

個別AIは、管理AIからの指示を受けて その通りに行動する。



例)ステルス系アクションゲーム

個別AIが 隠れたプレイヤーを発見した場合、
その個別AIが管理AIに伝える。

その後、管理AIは 全体の個別AIに プレイヤーを追いつけるよう指示を送る


例) 残りタイムがあるアクションゲーム

残りタイムがわずかで、自分の軍が負けているような場合

管理AIが イチかバチかで、個別AI全部に 突撃の指示を送る



・管理AI同士で談合する。

無双系アクションゲームな、プレイヤーが所属する軍と 敵軍が戦うゲームにて

お互いの管理AIが談合して待ち伏せ や 先回り なんかを表現する。


例) 味方AI 「中央突破をするよー
   敵AI   「了解、じゃあ 中央の守りを固めます
   味方AI 「敵軍とぶつかったよ プレイヤーさん、頑張って!




●このようなAIを作る際のチェック項目

AI 対 AI を行い、様子をながめる


・正確にゲームが進行しているか?
・地形にハマっていないか?
・理不尽な展開になっていないか?
・人間同士が戦っているっぽくなっているか?
・敵味方 連携しているっぽいか?




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

●まとめ

これらの手法は いつでもどこでも使えるわけではない


・リプレイ機能があるゲーム
・フリーカメラにできるゲーム
・複数プレイヤーが参加するゲーム


では注意が必要!


ごまかしている事を ユーザーにバレてはいけない

どこをごまかして、どこを正直にするのか?
見極めが重要


→ 華麗にごまかしましょう


→ ユーザーに 「面白い」「白熱する」「楽しい」と感じさせれば成功


→ 魅せる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]