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

TAG LIST
CG機械学習CGへの扉ディープラーニング安藤幸央GAN月刊エンタメAIニュース河合律子OpenAI音楽NVIDIAニューラルネットワーク強化学習三宅陽一郎吉本幸記Facebook人工知能学会自然言語処理大内孝子QA敵対的生成ネットワークGoogleGPT-3キャラクターAIスクウェア・エニックス森川幸人モリカトロンAIラボインタビュールールベースDeepMindシナリオAIと倫理グーグル映画倫理NFTDALL-E2StyleGAN自動生成デバッグゲームプレイAIメタAIロボット深層学習マイクロソフトCEDEC2019アートプロシージャルSIGGRAPH遺伝的アルゴリズムDALL-Eテキスト画像生成ビヘイビア・ツリーディープフェイクCEDEC2021CEDEC2020ゲームAIデジタルツインメタバース不完全情報ゲームVRナビゲーションAINPC畳み込みニューラルネットワークCLIPGDC 2021JSAI2022VFXGDC 2019マルチエージェントCEDEC2022ボードゲーム画像生成ファッション懐ゲーから辿るゲームAI技術史toioCNNAdobeテストプレイモリカトロンStable DiffusionUnity著作権AIアート小説鴫原盛之HTN階層型タスクネットワークJSAI2020TensorFlowBERTMicrosoftイベントレポート対話型エージェントロボティクス水野勇太アニメーションGenvid Technologiesガイスター画像生成AIStyleGAN2GTC2022教育ソニーJSAI2021スポーツ研究シムピープルマンガ汎用人工知能マーケティングGDC SummerインタビューバーチャルヒューマンブロックチェーンMidjourneyアストロノーカキャリアNVIDIA OmniverseeスポーツAmazoneSportsDQNBLUE PROTOCOLシーマンMinecraftアバターOmniverseUbisoftメタAlphaZeroTransformerGPT-2AIりんなカメラ環世界中島秀之哲学理化学研究所DARPAドローンシムシティImagenバイアスMCS-AI動的連携モデルモーションキャプチャーTEZUKA2020AI美空ひばり手塚治虫バンダイナムコ研究所スパーシャルAIElectronic ArtsメタデータLEFT 4 DEAD通しプレイOpenAI Five本間翔太CMピクサープラチナエッグイーサリアム作曲ボエダ・ゴティエビッグデータ中嶋謙互Amadeus Codeデータ分析Microsoft AzureMILEナラティブアーケードゲームOmniverse ReplicatorWCCFレコメンドシステムNVIDIA DRIVE SimWORLD CLUB Champion FootballNVIDIA Isaac Simセガ柏田知大軍事サイバーエージェント田邊雅彦トレーディングカードトレカ音声認識PyTorch眞鍋和子バンダイナムコスタジオaibo合成音声Meta齊藤陽介マインクラフトお知らせMagic Leap Oneチャットボットサルでもわかる人工知能VAE3DCGリップシンキングUbisoft La Forge自動運転車ワークショップ知識表現ウォッチドッグス レギオンIGDA秋期GTC2022どうぶつしょうぎEpic Gamesジェイ・コウガミ音楽ストリーミングMITAIロボ「迷キュー」に挑戦野々下裕子徳井直生マシンラーニング5GRival Peakクラウド対話エンジン斎藤由多加リトル・コンピュータ・ピープルコンピューティショナル・フォトグラフィーゴブレット・ゴブラーズ絵画rinnaシミュレーションデジタルヒューマン完全情報ゲーム坂本洋典釜屋憲彦ウェイポイントパス検索対談藤澤仁生物学GTC 2022画像認識SiemensStyleCLIPDeNA長谷洋平masumi toyota宮路洋一OpenSeaGDC 2022TextWorldSIGGRAPH ASIAEarth-2MagentaSFELYZA PencilGTC2021CycleGANデータマイニングNetHackはこだて未来大学キャラクターモーションフェイクニュースエージェントRPGSIGGRAPH 2022AIボイスアクターNVIDIA CanvasGPUALifeZork人工生命オルタナティヴ・マシンサウンドスケープASBS栗原聡ぱいどんテキスト生成不気味の谷ナビゲーションメッシュ松井俊浩ELYZAフルコトELYZA DIGEST3D音声合成西成活裕Apex LegendsELIZA群衆マネジメントNinjaコンピュータRPGライブビジネスアップルタウン物語新型コロナKELDIC周済涛メロディ言語清田陽司ゲームTENTUPLAYサイバネティックスMARVEL Future FightAstro人工知能史タイムラプスEgo4DAI哲学マップバスキア星新一日経イノベーション・ラボStyleGAN-XL敵対的強化学習StyleGAN3階層型強化学習GOSU Data LabGANimatorWANNGOSU Voice AssistantVoLux-GAN竹内将SenpAI.GGProjected GANMobalyticsSelf-Distilled StyleGAN馬淵浩希Cygamesニューラルレンダリング岡島学AWS SagemakerPLATO映像セリア・ホデント形態素解析frame.ioUXAWS LambdaFoodly誤字検出森山和道認知科学中川友紀子ゲームデザインSentencePieceアールティLUMINOUS ENGINELuminous ProductionsBlenderBot 3パターン・ランゲージ竹村也哉Meta AIちょまどマーク・ザッカーバーグGOAPWACULAdobe MAX 2021自動翻訳模倣学習AIライティングOmniverse AvatarAIのべりすとFPSNVIDIA RivaQuillBotマルコフ決定過程NVIDIA MegatronCopysmithNVIDIA MerlinJasperスタンフォード大学NVIDIA Metropolisパラメータ設計テニスバランス調整協調フィルタリング人狼知能テキサス大学AlphaDogfight TrialsAI Messenger VoicebotエージェントシミュレーションOpenAI CodexStarCraft IIHyperStyleMax CooperFuture of Life InstituteRendering with StyleメディアアートIntelDisney類家利直LAIKADisneyリサーチヴィトゲンシュタインRotomationGauGAN論理哲学論考GauGAN2京都芸術大学ドラゴンクエストライバルズ画像言語表現モデル不確定ゲームSIGGRAPH ASIA 2021PromptBaseDota 2モンテカルロ木探索ディズニーリサーチMitsuba2バンダイナムコネクサスソーシャルゲームEmbeddingワイツマン科学研究所ユーザーレビューGTC2020CG衣装mimicNVIDIA MAXINEVRファッションBaidu淡路滋ビデオ会議ArtflowERNIE-ViLGグリムノーツEponym古文書ゴティエ・ボエダ音声クローニング凸版印刷Gautier Boeda階層的クラスタリングGopherAI-OCR画像判定JuliusSIE鑑定ラベル付けTPRGOxia Palus大澤博隆バーチャル・ヒューマン・エージェントtoio SDK for UnityArt RecognitionSFプロトタイピングクーガー田中章愛実況パワフルサッカー石井敦銭起揚NHC 2021桃太郎電鉄茂谷保伯池田利夫桃鉄GDMC新刊案内パワサカマーベル・シネマティック・ユニバースコナミデジタルエンタテインメント成沢理恵MITメディアラボMCU岩倉宏介アベンジャーズPPOマジック・リープDigital DomainMachine Learning Project CanvasMagendaMasquerade2.0国立情報学研究所ノンファンジブルトークンDDSPフェイシャルキャプチャー石川冬樹サッカーモリカトロン開発者インタビュースパコン里井大輝Kaggle宮本茂則スーパーコンピュータバスケットボール山田暉松岡 聡Assassin’s Creed OriginsAI会話ジェネレーターTSUBAME 1.0Sea of ThievesTSUBAME 2.0GEMS COMPANYmonoAI technologyLSTMABCIモリカトロンAIソリューション富岳初音ミクOculusコード生成AISociety 5.0転移学習テストAlphaCode夏の電脳甲子園Baldur's Gate 3Codeforces座談会Candy Crush Saga自己増強型AItext-to-imageSIGGRAPH ASIA 2020COLMAPtext-to-3DADOPNVIDIA GET3DデバッギングBigGANGANverse3DDreamFusionMaterialGANRNNグランツーリスモSPORTAI絵師ReBeLグランツーリスモ・ソフィーUGCGTソフィーPGCVolvoFIAグランツーリスモチャンピオンシップStability AINovelAIRival PrakDGX A100NovelAI DiffusionVTuberユービーアイソフトWebcam VTuberモーションデータ星新一賞北尾まどかHALO市場分析ポーズ推定将棋メタルギアソリッドVフォートナイトメッシュ生成FSMメルセデス・ベンツRobloxMagic Leapナップサック問題Live NationEpyllion汎用言語モデルWeb3.0マシュー・ボールAIOpsムーアの法則SpotifyスマートコントラクトReplica StudioAWSamuseChitrakarQosmoAdobe MAX 2022巡回セールスマン問題Adobe MAXジョルダン曲線メディアAdobe ResearchMuZero政治Galacticaクラウドゲーミングがんばれ森川君2号pixiv和田洋一リアリティ番組映像解析Stadiaジョンソン裕子セキュリティMILEsNightCafe東芝デジタルソリューションズインタラクティブ・ストリーミングLuis RuizSATLYS 映像解析AIインタラクティブ・メディアポケモン3DスキャンCodexPFN 3D Scanシーマン人工知能研究所東京工業大学Ludo博報堂Preferred NetworksラップPFN 4D ScanSIGGRAPH 2019ArtEmisZ世代DreamUpAIラッパーシステムDeviantArtARWaifu DiffusionGROVERプラスリンクス ~キミと繋がる想い~元素法典FAIRSTCNovel AIチート検出Style Transfer ConversationOpen AIオンラインカジノRCPMicrosoft DesignerアップルRealFlowRinna Character PlatformイラストiPhoneCALADeep FluidsSoul Machines柿沼太一MeInGameAmeliaELSIAIGraphブレイン・コンピュータ・インタフェースバーチャルキャラクター大規模言語モデルBCIGateboxアフォーダンスLearning from VideoANIMAKPaLM-SayCan予期知能逢妻ヒカリPaLMセコムGitHub Copilotユクスキュルバーチャル警備システムCode as Policiesカント損保ジャパンCaP上原利之ドラゴンクエストエージェントアーキテクチャアッパーグラウンドPAIROCTOPATH TRAVELER西木康智OCTOPATH TRAVELER 大陸の覇者アルスエレクトロニカ2019品質保証StyleRigAutodesk逆転オセロニアBentley Systemsワールドシミュレーター奥村エルネスト純いただきストリートH100齋藤精一大森田不可止COBOL高橋智隆DGX H100ロボユニザナックDGX SuperPOD泉幸典仁井谷正充クラウドコンピューティングロボコレ2019Instant NeRFartonomousbitGANsぎゅわんぶらあ自己中心派Azure Machine Learning意思決定モデル脱出ゲームHybrid Reward Architectureコミュニティ管理ウロチョロスSuper PhoenixSNSProject Malmoオンラインゲーム気候変動Project PaidiaProject Lookoutマックス・プランク気象研究所Watch Forビョルン・スティーブンスBing気象モデルLEFT ALIVE気象シミュレーション長谷川誠ジミ・ヘンドリックス環境問題Baby Xカート・コバーンエコロジーロバート・ダウニー・Jr.エイミー・ワインハウスSDGsYouTubeダフト・パンクメモリスタGlenn MarshallThe Age of A.I.Story2Hallucination音声変換レコメンデーションJukebox松尾豊Veap JapanEAPテンセントSIFT福井千春DCGAN医療MOBADANNCEメンタルケア人事ハーバード大学Edgar Handy研修デューク大学Netflixmynet.aiローグライクゲーム東京大学東京理科大学人工音声NeurIPS 2021産業技術総合研究所リザバーコンピューティングプレイ動画ヒップホップソニーマーケティングサイレント映画もじぱNBA環境音暗号通貨現代アートFUZZLEAlteration粒子群最適化法進化差分法オープンワールド群知能下川大樹AIFAウィル・ライト高津芳希P2E大石真史BEiTStyleGAN-NADAレベルデザインDETRゲームエンジンSporeUnreal Engineデノイズ南カリフォルニア大学Unity for Industry画像処理SentropyGLIDECPUDiscordAvatarCLIPSynthetic DataCALMプログラミングサム・アルトマンソースコード生成LaMDAGMAIシチズンデベロッパーSonanticTRPGGitHubCohereウィザードリィMCN-AI連携モデルマジック:ザ・ギャザリングAI DungeonUrzas.ai介護西川善司並木幸介Kikiサムライスピリッツ森寅嘉Zoetic AIゼビウスSIGGRAPH 2021ペットストリートファイター半導体Digital Dream LabsTopaz Video Enhance AICozmoDLSSタカラトミー山野辺一記NetEaseLOVOT大里飛鳥DynamixyzMOFLINRomiU-Netミクシィ13フェイズ構造アドベンチャーゲームユニロボットADVユニボXLandGatoAGI手塚眞DEATH STRANDINGマルチモーダルEric Johnson汎用強化学習AIデザインOculus Questコジマプロダクションロンドン芸術大学生体情報デシマエンジンGoogle BrainインディーゲームSound Control写真高橋ミレイSYNTH SUPER照明Maxim PeterKarl SimsJoshua RomoffArtnomeハイパースケープICONATE山崎陽斗深層強化学習立木創太松原仁浜中雅俊ミライ小町武田英明テスラ福井健策GameGANパックマンTesla BotNEDOTesla AI DayWikipediaソサエティ5.0SphereSIGGRAPH 2020バズグラフXaver 1000ニュースタンテキ養蜂東芝BeewiseDIB-R倉田宜典フィンテック投資韻律射影MILIZE広告韻律転移三菱UFJ信託銀行

【CEDEC2020】メタAIを発展させるパターン・ランゲージからデザインパターンへの応用

2020.9.18ゲーム

【CEDEC2020】メタAIを発展させるパターン・ランゲージからデザインパターンへの応用

スクウェア・エニックス テクノロジー推進部の水野勇太氏は、AIテクニカルゲームデザイナーとして、メタAIを専門に研究を続けています。CEDEC2020のセッション「ゲームデザインにおけるAI活用のための「メタAIデザインパターン」―基本15パターン―」ではメタAIのさまざまなデザインパターンを示し、研究を発展させる礎となるビジョンを示しました。これはメタAIの実装例がまだ少なく作り方が明確ではないという課題を解決するための試みです。

メタAIとは何か

メタAIはゲームAIの一種で、プレイヤーの状況を踏まえて最適な状態にゲームを変化させる役割を果たすためのものです。古くは『パックマン』(1980年、ナムコ)や『ゼビウス』(1983年、ナムコ)でプレイヤーの反応やスキルに応じて敵キャラクターの動きやゲームの難易度を変える仕組みからスタートしており、スクウェア・エニックスのAI研究チームが関連研究を進めているAI分野のひとつです。

3つのゲームAI。キャラクターAI=キャラクターの頭の中、ナビゲーションAI=移動をアシストする、メタAI=ゲームの世界を最適な状態にする

ゲームの世界を飛び出したプロジェクトも生まれています。2019年にはスクウェア・エニックスとオムロンによる共同研究で、卓球ロボット「フォルフェウス」(第6世代)へメタAI機能を搭載し、さまざまなバイタルデータをもとにプレイヤーのモチベーションを高めるフィードバックが行われました。

メタAIを実装することによって、プレイヤーの行動を分析して最適なゲーム展開を考え、ゲームを変化させるなど個々のプレイヤーに対する個別の対応が可能となります。いわばゲームデザイナーあるいはゲームマスターをゲームの中に実装するようなもので、ビデオゲームのオープンワールド化が進むなか今後さらなる発展が期待されています。

では、メタAIはゲーム世界とどのような情報のやり取りをするのでしょうか。水野氏らが提示するメタAIの汎用アーキテクチャは次のとおりです。

メタAIの汎用アーキテクチャ

ゲームワールドからメタAIがセンサーでゲームの情報を取り、その情報をワールドアナライザーで分析します。その分析結果をもとにどのようにゲームを変えるかをゲームメーカーで考え、具体的にどのパラメーターをどれくらい変化させるかをパラメータージェネレーターが計算するという流れです。ここで計算されたパラメーターをエフェクターを通してゲームワールドの変化可能な場所、インタラクションスペースにフィードバックさせます。ここでポイントとなるのは「ゲームワールドの中にプレイヤーもふくまれている」ということです。

キャラクターAIとメタAI

例えばキャラクターAIは剣を持っている時に敵が近ければ持っている剣で敵を攻撃しようと考えて、その運動を生成します。一方、メタAIはワールドアナライザーがどのようなゲーム状況かを分析し、ゲームをどう変化させるかを考えてパラメータを変化させます。ワールドアナライザーはキャラクターAIでいう「認識の形成」、ゲームメーカーは「意思決定」、パラメータージェネレーターは「運動の構成」に相当します。

水野氏は、メタAIとゲームデザインとの兼ね合いを次のように考察します。

挑戦による能力の評価に主眼が置かれているゲームの場合は、メタAIが入るとその基準がブレることになるため好ましくないかもしれません。一方、能力の評価に主眼が置かれない娯楽として楽しむゲームの場合は、メタAIが最適な体験を提供してくれるので好ましいと言えるでしょう。つまり、そのゲームをどのようにプレイするのかによってメタAI導入の向き不向きが変わるということです。(水野勇太氏)

メタAIは必ずしもすべてのゲームに有効とは限りません。こうした理解をエンジニアとゲームデザイナー双方が共有し、自分たちが作ろうとしているゲームのどこにメタAIが有効なのかを見極めることが重要です。そのためには、ゲームデザインという観点からゲームにどのような機能が何のために入っているかを分析する必要があります。

メタAIとゲームデザイン

水野氏は、さまざまなゲームにおいて、それぞれのゲーム機能が何のために入っているのかを分析しました。

何のための機能なのか

難易度を調整するための機能や難易度の”波”を作るための機能であったり、あるいは体験の濃淡をコントロールすることでプレイヤーの飽きを防止するといった機能は、「○○のために○○に基づいて、○○を調整する」という形に変換できます。これにより前項で見たメタAIのアーキテクチャのワールドアナライザーとゲームメーカー、パラメータジェネレーターに対応させることが可能です。例えば、「不満感軽減のためにプレイヤースキルに基づいて難度を調整する」「没入感向上のためにNPCの行動に基づいてゲーム環境を調整する」といったように。「何のための機能なのか」はゲームメーカーのプランの中身、「何に基づくのか」はアナライザーの実際に調査する項目、そして「何を調整するのか」がパラメータジェネレーターの具体的な数字データになります。

一方、水野氏は過去のゲームタイトルにおけるメタAI的な機能についても分析しています。次の図は、各ゲームタイトルごとにワールドアナライザーが何を分析しているのか、ゲームメーカーが何を変化させようとしているのか、パラメータジェネレーターが実際に何を変化させているのかを示したものです。

各ゲームのメタAI要素

何を分析するのかという分析対象がアナライザーに、、なぜその機能が必要なのかという目的がゲームメーカーに、実際に何を変えるかという調整の対象がパラメータジェネレーターに入っていることが分かります。つまり、それぞれのゲームは目的を達成するためにアナライザーの項目を分析し、パラメータージェネレーターの項目を変化させるというメタAIを実装していると言えます。

このように分解して考えてみることで、メタAI導入の検討がより具体的になります。さらに、水野氏がそこで提案するのがパターン・ランゲージです。なぜならビデオゲームへのAIの実装においては、AI側のエンジニアだけではなくゲームの開発エンジニアやゲームデザイナーとのコミュニケーションも重要になってくるからです。

パターン・ランゲージはもともと建築の概念で、建築家であるクリストファー・アレグザンダーが1970年代に提案したものです。現実のさまざまな状況(質)をとらえ、その普遍性を共有して活用するために、暗黙知や実践によるノウハウを共有する仕組みとして、建築以外にも組織マネジメント、あるいはソフトウェア開発などにも取り入れられています。

つまり、ここで水野氏が提唱しているのは「エンジニアとゲームデザイナーの共通言語としてメタAIのためのパターン・ランゲージを考えてみよう」ということです。

パターン・ランゲージとデザインパターン

建築において、なぜパターン・ランゲージが生まれたのか。その理由を水野氏は、1970年代当時の建築が固定的な開発計画に従う形でなされ、基本的な課題を解決できない状態に陥っていたからだと解説します。有機的な秩序、全体性を創造するためにアレグザンダー等は253種のパターンを提示し、パターン・ランゲージによる課題解決を目指したのです。

例えば「手にし得る緑」(手近な緑)と名付けられたパターンは、人々が開放的な緑地を必要とするという前提に基づいています。しかし人がいる場所から3分以上離れていると距離が必要性を圧倒する、つまり3分以上離れた緑地ではダメであるという問題に対して、すべての家や職場から徒歩3分(750フィート≒229メートル)以内に開放的な緑地を作ること、少なくとも面積60,000平方フィート(≒5575平方メートル)、​最も狭い部分で幅員150フィート(≒46メートル)の緑地を作ることが解決策となります。

こうしたフレームで考えることは、あらゆる街に適用できる普遍性を持ちます。どの街、どの地域であっても、この解決法を使って「人にとって快適な緑を提供する」ことができるというわけです。例えば、街よりも規模が小さな大学、大型のショッピングモールにも適用できるでしょう。

パターン・ランゲージは、利用者自身が「何が必要か」を一番知っているにもかかわらず、当時の固定された開発計画による建築ではそれが置いてきぼりにされている状況に対し、利用者自身が参加する計画を作り上げるべきだという思想から始まっています。ここで大切なのは利用者が参加しているという点です。(水野勇太氏)

パターン・ランゲージの3つの段階(抽出→作成→実践)。基本のパターンに基礎知識や原理があり、それが文章化されることでパターン・ランゲージ化され、実際の環境で活用​される

パターン・ランゲージはさまざまな場面で応用できます。例えばオブジェクト指向設計に適用したものが、GoF(Gang of Four)による書籍『オブジェクト指向における再利用のためのデザインパターン』で示された「デザインパターン」です。

パターン・ランゲージとGoFのデザインパターン。ある知見を現場の要求や状況と乖離することなくまとめ上げる手法であるパターン・ランゲージに対し、デザインパターンは設計に特化したパターン・ランゲージの一種と言える
パターン・ランゲージの応用。プロジェクトマネジメントに適用するとエキストリームプログラミングになる。その他にも学ぶこと自体のパターン化、認知症に対するパターン・ランゲージといったものも考えられている

一方、メタAIの実践に足りないものは「参加者」であるエンジニアやゲームデザイナーの意見です。つまり、エンジニアとゲームデザイナーの共有言語を作り上げ、双方の意見を過不足なく反映するための「メタAIのためのパターン・ランゲージ」が必要となります。

メタAIのためのパターン・ランゲージ

下記に水野氏が提案するメタAIのためのパターン・ランゲージの記述フォーマットとメタAIパターン・ランゲージの記述フォーマットを示します。

パターン・ランゲージの記述フォーマット
メタAIパターン・ランゲージの記述フォーマット

どのような状況に対するパターンなのか、そこに起こる問題はどういったものか、それに対しどのような解決策が考えられるのか、それにより、どのようなことが起こってしまうのか(フォース)、どのような結果が得られるのか、その具体例を記述するのがパターン・ランゲージの記述フォーマットです。メタAIのパターン・ランゲージ​ではそれら6つの項目に加え参考文献が挙げられています。

ここでは難度に対するプレイヤーのスコアを監視し、難度を調整できるパターンを例に挙げます。ビデオゲームはプレイヤーごとにスキルが異なるため、同じゲームでもある人には難しく感じられ、ある人には簡単すぎると感じられてしまいます。ここで起こっている問題は「プレイヤースキルに対し最適な難易度のゲーム体験を提供できないこと」です。つまり、簡単すぎたり難しすぎたりしてプレイヤーが離脱してしまう、プレイヤーのスキルやリソースに対し最適なゲームを展開できないということです。

それに対する解決策のひとつとしてスコアの変化を監視するという方法が考えられます。これにより最適な難度でゲームが提供され、難しすぎる/簡単すぎるという理由でプレイヤーが離脱することはなくなります。具体例としては、そのような機能を持つシューティングゲームが考えられます。

しかしその場合、次のような課題も生じます。

【運用可能性】
 ・スコアという形でプレイヤースキルが評価されるゲームにしか適用できない

【制約】
 ・すべてのプレイヤーにまったく同じゲーム展開を提供できない
 ・終了状態がプレイヤーによって異なる

【課題】
 ・スコアが変化するタイミングとプレイヤーの行動のタイミングの間にギャップが生じる

このように、メタAIの機能はパターン・ランゲージで記述できます。さらに水野氏は各ゲームに実装されている具体的なメタAIの機能を分析し6つの大分類に分け、さらにワールドアナライザーで「何を分析するか」で分類することで、22のパターンを抽出しました。

メタAIパターン・ランゲージ​のパターン一覧(1/2)
メタAIパターン・ランゲージ​のパターン一覧(2/2)

メタAIのためのデザインパターン

続いて、パターン・ランゲージ化できたパターンから、実装する際に指針となるデザインパターンへ落とし込んでいきます。記述フォーマットとして用いるのはGoFのデザインパターンのフォーマットです。

GoFのデザインパターンのフォーマット。プログラミングにおける設計のためのパターン・ランゲージとなっており、構造、協調関係といった、具体的なプログラミングにおいて重要となる項目やサンプルコード、使用例、実装といった項目が追加されている

今回はメタAIのデザインパターンもこのGoFと同じフォーマットに則って整理してみました。その際、メタAIの構造をしっかりと踏まえることが大切です。メタAIにはワールドアナライザー、ゲームメーカー、パラメータージェネレーターという3つの要素があります。すなわち「何のためのものなのか」「何に基づくメタAIなのか」、そして「具体的に何を調整するのか」。ゲームメーカーのプラニング、アナライザーの内容、そしてパラメータージェネレーターが生成するパラメーター、この3つを明確にしたデザインパターンにすることが大事です。(水野勇太氏)

水野氏が今回のセッションで提示したメタAIデザインパターンは次の6つです。

  1. スコアベース動的難度低減パターン
  2. 距離ベース緊張度の波生成パターン
  3. スコアベース対戦バランス最適化パターン
  4. プレイヤーの行動ベース評判変化パターン
  5. ゲーム状況ベースBGM変化パターン
  6. 多層セルベースシミュレーションパターン

ここではメタAIパターン・ランゲージ​の部分でも例に挙げた「スコアベース動的難度低減パターン」を説明します。スコアベース動的難度低減パターンは、プレイ状況を示すゲームスコアを監視するパターンで、スコアを記録して平均値と比較しその値に応じて難易度を上げたり下げたりします。同じゲームであってもその人の能力や所持しているアイテムなどリソースによって難易度が変わってしまう場合、このデザインパターンが使えるということになります。

ここで挙げている使用例はサンプルのシューティングゲームですが、実際のゲームでも、シューティングゲーム『バトルガレッガ』*1 がプレイ状況を示すランクを監視して難度をコントロールしています。これは、プレイヤーのさまざまな行動(ミスの数、ボム使用数、パワーアップ状況、無駄撃ちの回数など)に応じてランクを変化させ、そのランクに応じて敵の攻撃の激しさを変化させる仕組みです。

*1:このデザインパターンによって作られているということではなく、このデザインパターンを適用して作ることができる例として上げています。

適用可能性としては、スコアでプレイヤーのスキルが評価できるゲームに適用が可能です。ここで言うスコアはプレイヤーに非公開とすることもでき、敵の数や出現アイテムの種類などにより、難度をコントロールすることができるゲームに適用できます。

プログラムの構造は、上に示すのがワールドアナライザーとしてPlayerSkillAnalyzer、ゲームメーカーとしてDynamicDifficultyAdjuster、パラメータージェネレーターとしてSpawnEnemyNumControllerおよびSpawnEnemySpeedControllerです。下がゲームワールドになり、GameSystemが管理しているスコア、インタラクションスペースのSpawn Systemです。

プレイヤーのスコアをGameSystemが把握しており、そのスコアを分析してプレイヤーのスキルレベルをワールドアナライザーが判別します。そして、プレイヤーのスキルレベルに応じてゲームメーカーが実際に敵の数を増やすのかを決定し、パラメータージェネレーターがその数を算出して、それをゲームワールドのインタラクションスペース側のSpawn Sytemに伝えるという流れで、Spawnされる敵の数やスピードが変化するということになります。

サンプルコードはUnreal Engineのブループリントの形で掲載されました。なお、メタAIのワールドアナライザー、ゲームメーカー、パラメータージェネレーターの3つのパートはメタAI用のブループリントをひとつ作り、その中にワールドアナライザー、ゲームメーカー、パラメータージェネレーターを機能として実装しています。

こちらのデモが示すように、敵をあまり倒せないとスコアの平均値が下がって敵の出現量が少なくなります。一方で、すばやく敵を倒しているとスコアの平均値が上がり、敵の出現量が増えてきます。このようにスコアの平均値に応じて難度が調整されるのがスコアベース動的難度調整パターンです。ここでの紹介はひとつだけとしますので、他の5つについては後ほど公開が予定されている資料をご参照ください。

メタAI デザインパターンの今後の展望

このように、さまざまなメタAIデザインパターンを用いることで、より良い形でビデオゲームにメタAIを実装することができるはずです。とはいえ、パターン・ランゲージの3つの段階を図に示したものの、メタAIに関して今はまだ「抽出」から「作成」の段階です。より多くの事例を踏まえたパターンの追加​や現場での応用によるパターン・ランゲージのブラッシュアップが必要です。もちろん、その際に重要となるのは利用者となるゲームデザイナーやエンジニア自身の参加です。

パターン・ランゲージの実践は、

  1. その実践として利用者自身が参加すること
  2. 少しずつ調整や補修を繰り返してそのパターンランゲージを成長させること
  3. その上で、利用者がどこが活かされているか(いないか)を診断する
  4. そして、それを調整する

といったフローを辿ります。つまり、パターンランゲージを一緒に作り上げていくことでエンジニアとゲームデザイナーのコミュニケーションがスムーズになることが、さまざまな場面でメタAIの実装を推進することにつながるのです。

パターン・ランゲージの実践フロー

水野氏は今後も、誰もが参加可能なメタAIパターンランゲージグループを立ち上げ、新しいパターンやデモの追加、メタAIパターンランゲージの研究などを行っていく予定です。最新情報は下記より入手可能です。

Slack ゲームAIコミュニティ

・ハッシュタグ「#PLoMetaAI

Writer:大内孝子

RELATED ARTICLE関連記事

eSports世界チャンピオンを下したOpenAI FiveはゲームAIに何をもたらすか?

2019.4.17ゲーム

eSports世界チャンピオンを下したOpenAI FiveはゲームAIに何をも...

仁井谷正充氏に訊く『ザナック』にAIが導入された理由:懐ゲーから辿るゲームAI技術史vol.2

2020.5.27ゲーム

仁井谷正充氏に訊く『ザナック』にAIが導入された理由:懐ゲーから辿るゲームAI技...

AIとバーチャルアイドルが出会う時:齊藤陽介氏×森川幸人氏 対談

2019.5.27ゲーム

AIとバーチャルアイドルが出会う時:齊藤陽介氏×森川幸人氏 対談

RANKING注目の記事はこちら