モリカトロン株式会社運営「エンターテインメント×AI」の最新情報をお届けするサイトです。

TAG LIST
CGCGへの扉安藤幸央機械学習ディープラーニング月刊エンタメAIニュース河合律子GANOpenAI音楽NVIDIA吉本幸記ニューラルネットワーク強化学習Google生成系AI三宅陽一郎QA人工知能学会GPT-3Stable Diffusion自然言語処理グーグルDeepMindFacebook森川幸人シナリオ大内孝子マイクロソフトChatGPT敵対的生成ネットワークルールベースアート映画キャラクターAIスクウェア・エニックスモリカトロンAIラボインタビューAIと倫理SIGGRAPHゲームプレイAI大規模言語モデル倫理デバッグNFTDALL-E2StyleGANプロシージャル遺伝的アルゴリズムモリカトロン著作権画像生成自動生成テストプレイメタAI画像生成AINPCテキスト画像生成ロボット深層学習ファッションCEDEC2019ディープフェイクVFXMidjourneyデジタルツインボードゲームDALL-ECLIPビヘイビア・ツリーCEDEC2021LLMCEDEC2020ゲームAIメタバース不完全情報ゲームVRナビゲーションAI畳み込みニューラルネットワークGDC 2021マンガJSAI2022AdobeNVIDIA OmniverseGDC 2019マルチエージェントCEDEC2022AIアート小説Stability AI懐ゲーから辿るゲームAI技術史toioジェネレーティブAIスポーツCNNBERT作曲MicrosoftUnityMinecraftアニメーションOmniverseメタJSAI2023鴫原盛之HTN階層型タスクネットワークソニー栗原聡手塚治虫汎用人工知能JSAI2020GTC2023TensorFlowインタビューバーチャルヒューマンイベントレポート対話型エージェントAmazonロボティクスDQNMeta水野勇太アバター3DCGUbisoftGenvid TechnologiesガイスターStyleGAN2デジタルヒューマンGTC2022教育音楽生成AIJSAI2021研究シムピープルMCS-AI動的連携モデルモーションキャプチャーElectronic ArtsNeRFマーケティングメタデータGDC SummerブロックチェーンCMMicrosoft Azureアストロノーカキャリア模倣学習eスポーツスタンフォード大学アーケードゲームテニスサイバーエージェントトレーディングカード音声認識メディアアートeSportsBLUE PROTOCOLシーマンaibo合成音声チャットボットAWS徳井直生斎藤由多加AlphaZeroTransformerGPT-2rinnaAIりんなカメラ環世界中島秀之PaLM哲学ベリサーブPlayable!理化学研究所SIGGRAPH ASIASFNetflix東京大学はこだて未来大学現代アートエージェントDARPAドローンシムシティImagenZorkバイアスプロンプトGPT-4ASBSアドベンチャーゲームTEZUKA2020CEDEC2023AI美空ひばりテキスト生成マルチモーダルバンダイナムコ研究所スパーシャルAI3DLEFT 4 DEADイーロン・マスク通しプレイOpenAI FiveStable Diffusion XL本間翔太CygamesAudio2Faceピクサープラチナエッグイーサリアムボエダ・ゴティエビッグデータ中嶋謙互Amadeus Codeデータ分析MILEナラティブNVIDIA RivaOmniverse ReplicatorWCCFレコメンドシステムNVIDIA DRIVE SimWORLD CLUB Champion FootballNVIDIA Isaac Simセガ柏田知大軍事田邊雅彦トレカMax CooperGPT類家利直PyTorchChatGPT4眞鍋和子バンダイナムコスタジオ大澤博隆SFプロトタイピング齊藤陽介マインクラフトお知らせMagic Leap OneTencentバスケットボールサルでもわかる人工知能text-to-3DVAEDreamFusionブラック・ジャックリップシンキングUbisoft La Forge自動運転車ワークショップ知識表現ウォッチドッグス レギオンIGDA秋期GTC2022市場分析どうぶつしょうぎEpic GamesRobloxジェイ・コウガミ音楽ストリーミングMITAIロボ「迷キュー」に挑戦野々下裕子マシンラーニング5GMuZeroRival Peakpixivクラウド対話エンジン3Dスキャンリトル・コンピュータ・ピープルCodexシーマン人工知能研究所コンピューティショナル・フォトグラフィーPreferred Networksゴブレット・ゴブラーズ絵画ARMicrosoft DesignerイラストシミュレーションSoul Machines柿沼太一完全情報ゲームELSI坂本洋典釜屋憲彦ウェイポイントパス検索対談藤澤仁生物学GTC 2022画像認識GPT-3.5ハリウッドSiemensストライキStyleCLIPDeNA長谷洋平クラウドコンピューティングmasumi toyotaIBM宮路洋一OpenSeaGDC 2022SNSGen-1TextWorldEarth-2BingMagenta音声生成AIELYZA PencilScenarioSIGGRAPH2023テキスト画像生成AI松尾豊AIピカソGTC2021AI素材.comCycleGANテンセントAIQVE ONEデータマイニングNetHackBardキャラクターモーションControlNetNBAフェイクニュースRPG法律SIGGRAPH 2022世界モデルレベルデザインAIボイスアクターNVIDIA CanvasGPUALife人工生命オルタナティヴ・マシンサウンドスケープLaMDATRPGマジック:ザ・ギャザリングAI Dungeonぱいどん手塚眞不気味の谷ナビゲーションメッシュインディーゲーム高橋ミレイ深層強化学習松原仁松井俊浩武田英明ELYZAフルコトNEDOELYZA DIGEST建築音声合成広告西成活裕Apex LegendsELIZA群衆マネジメントライブポートレイトNinjaコンピュータRPGライブビジネスWonder Studioアップルタウン物語新型コロナ土木KELDIC周済涛BIMメロディ言語清田陽司インフラゲームTENTUPLAYサイバネティックスMARVEL Future FightAstro人工知能史Amazon BedrockタイムラプスEgo4DAI哲学マップバスキア星新一X.AI日経イノベーション・ラボStyleGAN-XLX Corp.敵対的強化学習StyleGAN3Twitter階層型強化学習GOSU Data LabGANimatorXホールディングスWANNGOSU Voice AssistantVoLux-GANMagi竹内将SenpAI.GGProjected GANMobalyticsSelf-Distilled StyleGANSDXL馬淵浩希ニューラルレンダリングRTFKT岡島学AWS SagemakerPLATONIKE映像セリア・ホデント形態素解析frame.ioClone XUXAWS LambdaFoodly村上隆誤字検出森山和道認知科学中川友紀子Digital MarkゲームデザインSentencePieceアールティSnapchatLUMINOUS ENGINEクリエイターコミュニティLuminous ProductionsBlenderBot 3バーチャルペットパターン・ランゲージ竹村也哉Meta AINVIDIA NeMo Serviceちょまどマーク・ザッカーバーグヴァネッサ・ローザGOAPWACULVanessa A RosaAdobe MAX 2021陶芸自動翻訳Play.ht音声AIAIライティングLiDAROmniverse AvatarAIのべりすとPolycamFPSQuillBotdeforumマルコフ決定過程NVIDIA MegatronCopysmith動画生成AINVIDIA MerlinJasperハーベストNVIDIA MetropolisForGamesパラメータ設計ゲームマーケットバランス調整岡野翔太協調フィルタリング郡山喜彦人狼知能テキサス大学ジェフリー・ヒントンGoogle I/O 2023AlphaDogfight TrialsAI Messenger VoicebotGoogle I/OエージェントシミュレーションOpenAI Codex武蔵野美術大学StarCraft IIHyperStyleBingAIFuture of Life InstituteRendering with StyleIntelDisneyFireflyLAIKADisneyリサーチヴィトゲンシュタインPhotoshopRotomationGauGAN論理哲学論考LightroomGauGAN2京都芸術大学Canvaドラゴンクエストライバルズ画像言語表現モデル不確定ゲームSIGGRAPH ASIA 2021PromptBaseBOOTHDota 2モンテカルロ木探索ディズニーリサーチpixivFANBOXMitsuba2バンダイナムコネクサス虎の穴ソーシャルゲームEmbeddingワイツマン科学研究所ユーザーレビューFantiaGTC2020CG衣装mimicとらのあなNVIDIA MAXINEVRファッションBaidu集英社淡路滋ビデオ会議ArtflowERNIE-ViLG少年ジャンプ+グリムノーツEponym古文書ComicCopilotゴティエ・ボエダ音声クローニング凸版印刷コミコパGautier Boeda階層的クラスタリングGopherAI-OCRゲームマスター画像判定Inowrld AIJuliusSIE鑑定ラベル付けMODTPRGOxia PalusGhostwriterバーチャル・ヒューマン・エージェントtoio SDK for UnityArt RecognitionSkyrimクーガー田中章愛実況パワフルサッカースカイリム石井敦銭起揚NHC 2021桃太郎電鉄RPGツクールMZ茂谷保伯池田利夫桃鉄ChatGPT_APIMZGDMC新刊案内パワサカダンジョンズ&ドラゴンズマーベル・シネマティック・ユニバースコナミデジタルエンタテインメントOracle RPG成沢理恵MITメディアラボMCU岩倉宏介深津貴之アベンジャーズPPOxVASynthマジック・リープDigital DomainMachine Learning Project CanvasLaser-NVMagendaMasquerade2.0国立情報学研究所ノンファンジブルトークンDDSPフェイシャルキャプチャー石川冬樹MERFサッカーモリカトロン開発者インタビュースパコンAlibaba里井大輝Kaggle宮本茂則スーパーコンピュータVQRF山田暉松岡 聡nvdiffrecAssassin’s Creed OriginsAI会話ジェネレーターTSUBAME 1.0NeRFMeshingSea of ThievesTSUBAME 2.0LERFGEMS COMPANYmonoAI technologyLSTMABCIマスタリングモリカトロンAIソリューション富岳TikTok初音ミクOculusコード生成AISociety 5.0リアム・ギャラガー転移学習テストAlphaCode夏の電脳甲子園グライムスBaldur's Gate 3Codeforces座談会BoomyCandy Crush Saga自己増強型AItext-to-imageジョン・レジェンドSIGGRAPH ASIA 2020COLMAPザ・ウィークエンドADOPNVIDIA GET3DドレイクデバッギングBigGANGANverse3DTEZUKA2023MaterialGANRNNグランツーリスモSPORTAI絵師エッジワークスReBeLグランツーリスモ・ソフィーUGC日本音楽作家団体協議会GTソフィーPGCFCAVolvoFIAグランツーリスモチャンピオンシップVoiceboxNovelAIさくらインターネットRival PrakDGX A100NovelAI DiffusionVTuberぷよぷよユービーアイソフトWebcam VTuberモーションデータ立教大学星新一賞大阪公立大学北尾まどかHALOポーズ推定TCG将棋メタルギアソリッドVフォートナイトメッシュ生成KLabFSMメルセデス・ベンツQRコードMagic Leap囲碁ナップサック問題Live NationEpyllionデンソー汎用言語モデルWeb3.0マシュー・ボールデンソーウェーブAIOpsムーアの法則原昌宏Spotifyスマートコントラクト日本機械学会Replica Studioロボティクス・メカトロニクス講演会amuseChitrakarQosmoAdobe MAX 2022トヨタ自動車巡回セールスマン問題Adobe MAXかんばん方式ジョルダン曲線メディアAdobe Research村井源政治Galacticaプロット生成クラウドゲーミングがんばれ森川君2号オムロン サイニックエックス和田洋一リアリティ番組映像解析FastGANStadiaジョンソン裕子セキュリティ4コママンガMILEsNightCafe東芝デジタルソリューションズ電気通信大学インタラクティブ・ストリーミングLuis RuizSATLYS 映像解析AI稲葉通将インタラクティブ・メディアポケモン橋本敦史PFN 3D ScanElevenLabs東京工業大学HeyGenLudo博報堂After EffectsラップPFN 4D Scan絵本SIGGRAPH 2019ArtEmisZ世代DreamUp出版AIラッパーシステムDeviantArtAmmaar ReshiWaifu DiffusionStoriesGROVERプラスリンクス ~キミと繋がる想い~元素法典StoryBirdFAIRSTCNovel AIVersedチート検出Style Transfer ConversationOpen AIProlificDreamerオンラインカジノRCPUnity SentisアップルRealFlowRinna Character PlatformUnity MuseiPhoneCALACaleb WardDeep Fluids宮田龍MeInGameAmelia清河幸子AIGraphブレイン・コンピュータ・インタフェースバーチャルキャラクター西中美和BCIGateboxアフォーダンス安野貴博Learning from VideoANIMAKPaLM-SayCan斧田小夜予期知能逢妻ヒカリ宮本道人セコムGitHub CopilotLLaMA 2ユクスキュルバーチャル警備システムCode as PoliciesLLaMAカント損保ジャパンCaPHugging FaceCM3leon上原利之Stable DoodleドラゴンクエストエージェントアーキテクチャアッパーグラウンドコリジョンチェックT2I-AdapterPAIROCTOPATH TRAVELERxAI西木康智OCTOPATH TRAVELER 大陸の覇者山口情報芸術センター[YCAM]アルスエレクトロニカ2019品質保証YCAM日本マネジメント総合研究所StyleRigAutodeskアンラーニング・ランゲージVoyager逆転オセロニアBentley Systemsカイル・マクドナルドLily Hughes-Robinsonワールドシミュレーターローレン・リー・マッカーシーColossal Cave Adventure奥村エルネスト純いただきストリートH100鎖国[Walled Garden]​​プロジェクトAdventureGPT齋藤精一大森田不可止COBOLSIGGRAPH ASIA 2022リリー・ヒューズ=ロビンソン高橋智隆DGX H100VToonifyBabyAGIロボユニザナックDGX SuperPODControlVAEGPT-3.5 Turbo泉幸典仁井谷正充変分オートエンコーダーカーリングロボコレ2019Instant NeRFフォトグラメトリウィンブルドンartonomous回帰型ニューラルネットワークbitGANsDeepJoin戦術分析ぎゅわんぶらあ自己中心派Azure Machine LearningAzure OpenAI Serviceパフォーマンス測定意思決定モデル脱出ゲームDeepLIoTHybrid Reward Architectureコミュニティ管理DeepL WriteProFitXウロチョロスSuper PhoenixWatsonxProject MalmoオンラインゲームAthletica気候変動コーチングProject Paidiaシンギュラリティ北見工業大学Project Lookoutマックス・プランク気象研究所レイ・カーツワイル北見カーリングホールWatch Forビョルン・スティーブンスヴァーナー・ヴィンジ画像解析気象モデルRunway ResearchじりつくんLEFT ALIVE気象シミュレーションMake-A-VideoNTT Sportict長谷川誠ジミ・ヘンドリックス環境問題PhenakiAIカメラBaby Xカート・コバーンエコロジーDreamixSTADIUM TUBEロバート・ダウニー・Jr.エイミー・ワインハウスSDGsText-to-ImageモデルPixelllot S3ソフトバンクYouTubeダフト・パンクメモリスタAIスマートコーチGlenn MarshallThe Age of A.I.Story2Hallucination音声変換LatitudeレコメンデーションJukeboxDreamboothVeap Japanヤン・ルカンEAPneoAIPerfusionSIFT福井千春DreamIconニューラル物理学DCGAN医療mign毛髪MOBADANNCEメンタルケアstudiffuse荒牧英治人事ハーバード大学Edgar HandyAndreessen Horowitz中ザワヒデキ研修デューク大学大屋雄裕QA Tech Night中川裕志mynet.aiローグライクゲーム松木晋祐Adreeseen Horowitz東京理科大学下田純也NVIDIA Avatar Cloud Engine人工音声NeurIPS 2021産業技術総合研究所桑野範久Replica StudiosリザバーコンピューティングSmart NPCsプレイ動画ヒップホップ対話型AIモデルRoblox StudioソニーマーケティングPromethean AIサイレント映画もじぱnote音源分離環境音暗号通貨note AIアシスタントMusiioFUZZLEKetchupEndelAlterationAI Newsユニバーサルミュージック粒子群最適化法Art Selfie進化差分法オープンワールドArt TransferSonar群知能下川大樹AIFAPet PortraitsSonar+Dウィル・ライト高津芳希P2EBlob OperaWeb3大石真史クリムトDolby AtmosBEiTStyleGAN-NADASonar Music FestivalDETRゲームエンジンDreamerV3ライゾマティクスSporeUnreal Engineクリティックネットワーク真鍋大度デノイズ南カリフォルニア大学Unity for Industryアクターネットワーク花井裕也画像処理DMLabRitchie HawtinSentropyGLIDEControl SuiteErica SynthCPUDiscordAvatarCLIPAtari 100kUfuk Barış MutluSynthetic DataAtari 200MJapanese InstructBLIP AlphaCALMYann LeCun日本新聞協会プログラミングサム・アルトマン鈴木雅大AIいらすとやソースコード生成コンセプトアートAI PicassoGMAIシチズンデベロッパーSonanticColie WertzEmposyGitHubCohereリドリー・スコットAIタレントウィザードリィMCN-AI連携モデル絵コンテAIタレントエージェンシーUrzas.aiストーリーボードmodi.ai介護大阪大学BitSummit西川善司並木幸介KikiBlenderBitSummit Let’s Go!!サムライスピリッツ森寅嘉Zoetic AIRed RamゼビウスSIGGRAPH 2021ペットマーダーミステリーストリートファイター半導体Digital Dream LabsPaLM APIデジタルレプリカTopaz Video Enhance AICozmoMakerSuiteGOT7DLSSタカラトミーSkebsynthesia山野辺一記NetEaseLOVOTDreambooth-Stable-DiffusionHumanRF大里飛鳥DynamixyzMOFLINゲーム背景Actors-HQRomiGoogle EarthSAG-AFTRAU-NetミクシィGEPPETTO AIWGA13フェイズ構造ユニロボットStable Diffusion web UIチャーリー・ブルッカーADVユニボPoint-EXLandGatoアパレル岡野原大輔AGIAI model自己教師あり学習DEATH STRANDINGAI ModelsIn-Context Learning(ICL)Eric Johnson汎用強化学習AIZMO.AILoRAデザインMOBBY’SファインチューニングOculus Questコジマプロダクションロンドン芸術大学モビーディックグランツーリスモ生体情報デシマエンジンGoogle Brainダイビング量子コンピュータSound Controlアウトドアqubit写真SYNTH SUPERAIスキャニングIBM Quantum System 2照明Maxim PeterKarl Sims自動採寸北野宏明Joshua RomoffArtnome3DLOOKダリオ・ヒルハイパースケープICONATESizerジェン・スン・フアン山崎陽斗ワコールHuggingFace立木創太スニーカーStable Audio浜中雅俊UNSTREET宗教ミライ小町Newelse仏教テスラ福井健策CheckGoodsコカ・コーラGameGAN二次流通食品パックマンTesla Bot中古市場Coca‑Cola Y3000 Zero SugarTesla AI DayWikipediaDupe KillerCopilot Copyright Commitmentソサエティ5.0Sphere偽ブランドテラバースSIGGRAPH 2020バズグラフXaver 1000配信京都大学ニュースタンテキ養蜂立福寛東芝Beewiseソニー・ピクチャーズ アニメーション音声解析DIB-R倉田宜典フィンテック感情分析投資Fosters+Partners韻律射影MILIZEZaha Hadid Architects韻律転移三菱UFJ信託銀行

【CEDEC2021】NPCとのインタラクティブな対話を実現するGOAPと感情生成パイプライン

2021.11.12ゲーム

【CEDEC2021】NPCとのインタラクティブな対話を実現するGOAPと感情生成パイプライン

スクウェア・エニックスのボエダ・ゴティエ氏がキャラクターAIに関する2つのセッション「キャラクターAIを成長させるためのGOAP意思決定システム」と「NPCもプランナーも開発者にも心がある!感情システムをゲーム制作に!」に登壇しました。いずれのセッションでも、プレイヤーとキャラクターAIの相互的なコミュニケーションを実現し、新たなゲームデザインの鍵となる技術が紹介されました。

GOAPをキャラクターAIに活用する

キャラクターAIの行動を制御するものとしてプランニング技術があります。目的を達成するためにアクションリストを作成し、リスト(候補)から状況に応じて選択することでキャラクターをゴールに導くというものです。そのひとつに、GOAP(Goal Oriented Action Planning)があります。特徴として、ゴールから開始しそれを達成するまでの計画を立てる、バックワードプランニングという手法を採ります。これは主にエネミーAIの戦闘時の行動制御によく使われている技術です。

スクウェア・エニックスのAIチームでは、このGOAPをアバターAI、コンパニオンAIといったキャラクターAIに活用することで、キャラクターの内面の変化を表現したり、物語の語り部として動かすことができないかというチャレンジを行っています。このセッションでは、技術デモとして進めている「WONDER」プロジェクトを通して、GOAPを活用したキャラクターの育成について、その可能性が示されました。

図1 WONDERではプレイヤーはガイド役として、キャラクターAIの成長を助ける

例えば「お腹がいっぱい」な状態になる目的を達成するために「プリンを食べる」、あるいは「りんごを食べる」という選択肢があり、それぞれ、プリンを食べるためには「プリンを作る」、プリンを作るために「レシピを読む」というプラン、りんごを食べるために「リンゴを取りに行く」というプランを立てます。

キャラクターAIは周囲の状況により自分で判断して行動するわけですが、プレイヤーはガイド役としてキャラクターAIのその選択が正しいか否か答えを与えて、育てていきます。WONDERでは、GOAPだけでなく次のような技術を実装し、キャラクターAIを成長させることを目指します。

  1. スマートオブジェクト:アイテムが持つ情報からアクションを生成する
  2. ラーニングコンポーネント(ユーティリティベース):キャラクターAIに行動を学習させる
  3. 知識の継承システム:意識モデルをさらに深める
図2 GOAPはバックワードプランニングでゴールからプランニングする

スマートオブジェクト

WONDERでは、キャラクターがアクションを選択するとき、キャラクターが目的を達成するためにフローを考えるとき、キャラクターが会話するために話題を探すとき、キャラクターが未知のアイテムと出会うときに、スマートオブジェクトが使われています。

スマートオブジェクトに対して、サイズ、耐久度、重さ、形、持ち方、回復値、タグ情報などのパラメーターを持たせ、それぞれの値により、その状態で実行可能なアクションリストを生成します。例えば、図3では「リンゴ」に対して「食べる」「踏む」「投げる」「持ち上げる」「蹴る」というアクションが生成されました。

図3 スマートオブジェクト(リンゴのアクションリスト)

ラーニング

プレイヤーはキャラクターAIの行動を褒めたり叱ったりすることによって、アイテムをどのように使うかをキャラクターAIに伝えます。キャラクターAIはそれを自分の記憶領域に記憶することで学習します。学習の結果、それ以降の行動が変化します。

キャラクターAIはどのようにアイテムを使えばいいか知りません。知識(経験)によってアクションを選択(推測)しますが、それが正しいアクションとは限りません。例えば、図4では「ゴムボール」のアクションとして「蹴る」が一番高い確率となっています。ところがキャラクターAIが「投げる」を選択し、プレイヤーから褒められると、投げるを選択する確率が高くなります。このように学習をしていきます。

図4 キャラクターAIは経験によって行動を学習する

プレイヤーの評価と確率の関係は、実行したアクションが褒められた場合に+20%、叱られた場合に-20%、どちらでもない場合は特に変更なし、となります。最終的に正規化を行い、アクションリストに反映します。

知識の継承

今回の肝と言えるのが、この知識の継承システムです。これは未知のアイテムをどのように使用すればいいのかを記憶にある使用済みアイテムから推測するというものです。使用済みアイテムと未知アイテムについて「形状」「持ち手」「持つ場所」を比較し、スコアを出します。既存のアイテムのうち一番スコアが高いものが未知のアイテムと最も似ていることになり、そのアクション選択確率を未知のアイテムに継承します。

例えば図5では、未知のアイテムに対し、緑の瓶が100%ですので、緑の瓶のアクション選択確率を継承します。未知のアイテムのアクション確率にそれぞれ緑の瓶のアクション確率を加えて正規化して、継承は完了です。

図5(1/2)最も似ているアイテムのアクション確率を未知のアイテムに継承する
図5(2/2)最も似ているアイテムのアクション確率を未知のアイテムに継承する

また、上記の技術に加え、物語の中でキャラクターAIが自然に振る舞えるよう、WONDERではGOAPが拡張されています。

GOAPの拡張

キャラクターAIの振る舞いをより自然に見せるために、GOAPを拡張し、複数の事前条件、動的な編集処理に対応できるようにします。例えば、「お腹がいっぱい」という目的を達成するために「リンゴを食べる」というプランがあります。この時に「リンゴを食べる」というアクションの事後条件を「お腹がいっぱい」とすると、事前条件は「リンゴを持つ」になります。同時に、「リンゴを持つ」は次のアクション(=リンゴを取りに行く)の事後条件となります。そして「リンゴを取りに行く」の事前条件は「リンゴがある」です。

図6 アクションにおける事前条件と事後条件

WONDERでは次のようにプランニングをしていきます。例えば次の図7では、キャラクターのお腹はペコペコです。リンゴを食べるにはどうすればいいかをキャラクターAIは考えます。シーンの中にはいくつかのアイテムがあるし、木までは行けるはずだし、色々な可能性があります。

目的(=お腹がいっぱい)を達成するために「リンゴを食べる」、その事前条件である「リンゴを持つ」を達成するためにリンゴを取りに行くアクションを選択します。しかし、リンゴは木の上にあり、「リンゴが地面の上にある」という条件を達成する必要があります。そこから連想して「リンゴが落ちる」という特別なアクションが生成されます。そして、「リンゴが落ちる」の事前条件(=木が揺れる)を達成するために「木を揺らす」アクションを行います。すると、「お腹がいっぱい」という目的を達成することができます。このように、GOAPの拡張により複雑な計画を立てることが可能です。

図7「お腹がいっぱい」というゴールに至るアクション

さらに、このGOAPの拡張によってもっと正確なゲームステートの定義ができるようになります。変数としてインタラクション、アイテム、キャラクターを用いて、プランニングを実行する前に現在のステートの定義を行います。アイテムでインタラクションをマスターしたプレイヤーがいて、お腹がいっぱい、性格は協調性、気分はルンルン気分、というように具体的に今のゲームステートを定義し、その情報をGOAPが利用するという形です。これは、GOAPの実行が遅くなるという欠点もありますが、多くの利点があります。

1つにプランの選択です。GOAPを実行後、複数のプランが存在した場合に一番コストの低いプランを選択します。図8の例では、「プリンを食べる」「プリンを作る」「プリンのレシピを読む」というアクションのコストは「6」で2位と設定されています。それに対し、「リンゴを食べる」「リンゴを取りに行く」のコストは「5」で1位、より低いコストのプランが選択されるという具合です。

図8 低いコストのプランを選択

さらに、問題解決におけるキャラクターの心理状態を表すためにGOAPの各アクションは動的なコスト計算関数を持ちます。例えば、キャラクターは「プリンが好き」で「脚が痛い(疲れた)」状態であれば、「プリンを食べる」ほうが順位が上がります。疲れたからリンゴを取りに行くのはちょっと面倒なアクションになる、つまり、それによってコストが上がります。

図9 キャラクターの心理状態をコスト計算に加味する

このように拡張することでGOAPの技術をエネミーAI以外、他の多くのケースに広く使用することができるということになります。

感情生成パイプラインでNPCの感情を表現する

感情生成パイプラインはCEDEC2019でも、その成果が発表されています。感情生成パイプラインによって、NPCをより意識的に、表現的に、より生き生きと表現することが可能となります。CEDEC2021では、その感情生成パイプラインのWONDERプロジェクトへの導入事例が紹介されました。

WONDERの理念は「神は賽を振らない」こと。つまりAIを使ったゲームデザインは、すべての意思決定は可能な限り自然で、意味があり、エージェントの成長を可能にするものでなければならないということです。そのため、感情や気分を表現したり、個性を表現する感情パイプラインを持つことはプロジェクトにとって自然な選択だったのです。

まず、ここで用いる「感情」「気分」「性格」の定義は次のとおりです。それぞれ、セリフや表情、アニメーションの変化につながります。

  1. 感情:短期的な影響を受け、時間とともに急速に変化するもの[ex. 喜び、苦痛、恐怖]
  2. 気分:長期的な影響を受け、ゆっくりとスムーズに変化するもの[ex. 活力的であったり、落ち込んでいる、落胆的気分]
  3. 性格:時間経過で変化しない、エージェントの個性を定義するもの[ex. 好奇心、内気、怠惰]

感情モジュール「inspired OCCモデル」

感情生成パイプラインの感情モジュール(OCCモデル)では24の感情がサポートされていますが、WONDERで用いる「inspired OCCモデル」はそのうちの上部、10の感情をサポートするものです。

図10(1/2)OCCモデルとinspired OCCモデル
図10(2/2)OCCモデルとinspired OCCモデル

ゲームイベントを分析し、それがエージェントにとって良いものか良くないものかを判断します。例えばボールを当てられたら「消極的なイベント」、美味しいケーキを食べたら「積極的なイベント」というように判別し、それによって感情を生成していきます。「ボールが当たったせいで窓が割れた」や「雨のせいで服装が濡れた」といったイベントの結果から想起する感情(期待、恐れ、喜び、悲しみ)、イベントに対するエージェントのアクション(自己=自尊心、羞恥心、他のエージェント=称賛、非称賛)、オブジェクトの見た目に対する感情(好き、嫌い)など、最終的に10個の感情をサポートしています。

例えばプレイヤーがバットでボールを打った場合、それを見ているエージェントにとっては、プレイヤーが成功したのでうれしいという積極的なイベントとなり、プレイヤーに対して称賛という感情を生成します。あるいは、そのボールのせいで窓が割れた場合、消極的なイベントとなってしまい悲しみなどネガティブな感情を生成します。このように、イベントに応じて感情が生成されていくというわけです。

こうした感情を性格や気分とブレンドして、アニメーションや会話で表現します。このモデルの適用性は高く、作りたい体験にそれぞれ適用することが可能です。イベントから予想できるなら、期待や恐れという感情を生成することができます。未知のアイテムに対するフラグとして「慣れた見た目なのか不慣れな見た目なのか」を立てたり、プレイヤーや他のエージェントとのインタラクションに対する関連性を鍵にしたり、感情を追加することも可能です。

具体的には、感情はゲームイベントによって、3つのパラメーター(種類、期間、強度)で定義されます。たとえば図11では、種類が「EAT_FOOD」(エージェントのアクション)で、強度の計算式は食べているアイテムの好き嫌いによって変わります。もし嫌いな食べ物だった場合などでネガティブな値になると消極的なイベントと判断されます。

図11 感情の定義

アイテムの「好き/嫌い」については、感情が最初に生成されるときに行われます。例えばエージェントがフェンスに触れて感電した場合に悲しみという感情が生成され、その際「フェンス」というアイテムにネガティブなアフェクトを追加されます。つまり、次にフェンスを見ると嫌な感情になるというわけです。ちなみに、アフェクトは「強度」と「記憶に残る時間」の2つのパラメーターを持ち、値によっては”時間が経つと悪い経験を忘れていく”といった表現も可能です。

気分モジュール「PAD」

気分モジュールとしてはPADモデルが使われています。P(Pleasure)は快、どれほど良い気持ちか、A(Arousal)は興奮、感情がどれほど激しいのか、D(Dominance)は自分の感情をどれだけコントロールできるかを3次元の空間で表します。

この空間の中に感情モジュールで定義された感情が配置されているというイメージです。赤で示すポイントがデフォルトの気分で、最初は真ん中にありますが、感情が生成されるときに移動しています。パラメーターには「感情」「強度」「時間」があり、強度の値が高いと移動するスピードが速くなります。

図12(1/2)PADモデル
図12(2/2)PADモデル

これは気分によって有効なゴールや可能なアクションが異なるなど、意思決定に影響を与えることができ、ベースとなるボディアニメーションのバリエーション変化も可能です。また、気分によって音声を変化させることも可能です。この部分はTsugi合同会社と協力して進めた部分で、PADの値によって音声が変化します。

図13 PADによる音声の調整

ただ、PADモデルは3次元空間のため膨大な表現のバリエーションがあることが利点ですが、デバッグとバランスが難しいという弱点もあり、WONDERではP(Pleasure)とD(Dominance)の2次元空間を採用しています。

図14 WONDERにおけるPAD

性格モジュール

性格モジュールはユーティリティパラメーター(怠惰、好奇心、正直、従順など)で構成される、非常にシンプルなモデルです。ベースとなるボディアニメーションやアクションなどのバリエーションを使ったり、話し方で表現します。気分と同様に、性格によって有効なゴールや可能なアクションを変えることができます。

重要なのは「どこに表現するか」「何に影響を与えるか」を設定することです。例えば、WONDERでは8つの性格パラメーター「明るさ」「自立心」「情熱」「プライド」「ロジカル」「モラル」「やさしさ」「協調性」を用いています。そして、性格はアニメーション、話し方、意思決定に影響を及ぼします。

ただ、アニメーションに関しては、8つの性格パラメーター×4つの気分+ベースで33のアニメーションを作成することになってしまうため、4つの性格(わんぱくこぞう、ワルガキ、おくびょうもの、マジメくん)を作り、×4つの気分+ベースで17のアニメーションを作成しています。

図15 性格モジュールのパラメーター

デバッグツールとして「気分ヒートマップ」や「性格履歴」「感情履歴」、あるいは「感情全体情報」を用いて、細かな調整も可能となっているとのことです。

これまでのプレイヤーとキャラクターのコミュニケーションは、プレイヤーからキャラクターへの一方向のものでしたが、今回ご紹介した技術が実装してキャラクターの内面を作り込むことで、プレイヤーとキャラクターの間の相互的なコミュニケーションが少しずつ実現されています。新たなゲーム性をもたらす鍵として注目の高まる分野です。

Writer:大内孝子

RELATED ARTICLE関連記事

「今日のメシどうする?」問題から学ぶ、階層型タスクネットワーク

2019.12.20ゲーム

「今日のメシどうする?」問題から学ぶ、階層型タスクネットワーク

【CEDEC2019】1キロ四方のマップを舞台に地形表現の工夫で新しいゲーム体験を作る

2019.9.26ゲーム

【CEDEC2019】1キロ四方のマップを舞台に地形表現の工夫で新しいゲーム体験...

AI時代の死生観とアイデンティティはどこへ向かうのか?:藤澤仁氏×森川幸人氏対談(後編)

2019.10.11ゲーム

AI時代の死生観とアイデンティティはどこへ向かうのか?:藤澤仁氏×森川幸人氏対談...

RANKING注目の記事はこちら