モリカトロン株式会社運営「エンターテインメント×AI」の最新情報をお届けするサイトです。
- TAG LIST
- CGCGへの扉機械学習安藤幸央ディープラーニング月刊エンタメAIニュースGAN河合律子OpenAI音楽ニューラルネットワークNVIDIA三宅陽一郎強化学習吉本幸記QAGoogleFacebook人工知能学会GPT-3自然言語処理グーグルDeepMind大内孝子森川幸人敵対的生成ネットワークキャラクターAIスクウェア・エニックスモリカトロンAIラボインタビューマイクロソフトルールベースシナリオAIと倫理映画デバッグアートDALL-E2StyleGAN倫理ゲームプレイAINFT自動生成SIGGRAPHメタAIテキスト画像生成ロボット深層学習CEDEC2019プロシージャル遺伝的アルゴリズムテストプレイモリカトロンStable DiffusionDALL-Eビヘイビア・ツリーディープフェイクCEDEC2021CEDEC2020ゲームAIVFXデジタルツインメタバース不完全情報ゲームVRナビゲーションAINPC畳み込みニューラルネットワークCLIP画像生成GDC 2021JSAI2022GDC 2019マルチエージェントCEDEC2022AIアート画像生成AIボードゲームファッション懐ゲーから辿るゲームAI技術史toioCNNAdobeUnity著作権小説アニメーション鴫原盛之HTN階層型タスクネットワーク汎用人工知能JSAI2020TensorFlowインタビューBERTMicrosoftイベントレポート対話型エージェントロボティクスMetaMinecraft水野勇太Genvid TechnologiesガイスターStyleGAN2GTC2022教育ソニーJSAI2021スポーツ研究シムピープルMCS-AI動的連携モデルマンガマーケティングGDC SummerバーチャルヒューマンブロックチェーンMidjourneyアストロノーカキャリアNVIDIA OmniverseeスポーツAmazoneSportsDQNBLUE PROTOCOLシーマンアバターOmniverseUbisoftメタAlphaZeroTransformerGPT-2AIりんなカメラ環世界中島秀之哲学ベリサーブPlayable!ChatGPT理化学研究所SIGGRAPH ASIADARPAドローンシムシティImagenZorkバイアスモーションキャプチャーTEZUKA2020AI美空ひばり手塚治虫バンダイナムコ研究所スパーシャルAIElectronic Arts3DメタデータLEFT 4 DEAD通しプレイOpenAI Five本間翔太CMピクサープラチナエッグイーサリアム作曲ボエダ・ゴティエビッグデータ中嶋謙互Amadeus Codeデータ分析Microsoft AzureMILE模倣学習ナラティブスタンフォード大学アーケードゲームOmniverse ReplicatorWCCFレコメンドシステムNVIDIA DRIVE SimWORLD CLUB Champion FootballNVIDIA Isaac Simセガ柏田知大軍事サイバーエージェント田邊雅彦トレーディングカードトレカ音声認識メディアアートPyTorch眞鍋和子バンダイナムコスタジオaibo合成音声齊藤陽介マインクラフトお知らせMagic Leap Oneチャットボットサルでもわかる人工知能VAE3DCGリップシンキングUbisoft La Forge自動運転車ワークショップ知識表現ウォッチドッグス レギオンIGDA秋期GTC2022どうぶつしょうぎEpic Gamesジェイ・コウガミ音楽ストリーミングMITAIロボ「迷キュー」に挑戦野々下裕子徳井直生マシンラーニング5GMuZeroRival Peakクラウド対話エンジン斎藤由多加リトル・コンピュータ・ピープルCodexコンピューティショナル・フォトグラフィーゴブレット・ゴブラーズ絵画rinnaイラストシミュレーションデジタルヒューマン完全情報ゲーム坂本洋典PaLM釜屋憲彦ウェイポイントパス検索対談藤澤仁生物学GTC 2022画像認識GPT-3.5SiemensStyleCLIPDeNA長谷洋平masumi toyota宮路洋一OpenSeaGDC 2022TextWorldジェネレーティブAIEarth-2BingMagentaSFELYZA Pencil松尾豊GTC2021CycleGANデータマイニング東京大学NetHackはこだて未来大学キャラクターモーションフェイクニュースエージェントRPGSIGGRAPH 2022レベルデザインAIボイスアクターNVIDIA CanvasGPUALife人工生命オルタナティヴ・マシンサウンドスケープLaMDAAI DungeonASBS栗原聡ぱいどんテキスト生成不気味の谷ナビゲーションメッシュ松井俊浩ELYZAフルコトELYZA DIGEST音声合成西成活裕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 MerlinJasperNVIDIA Metropolisパラメータ設計テニスバランス調整協調フィルタリング人狼知能テキサス大学AlphaDogfight TrialsAI Messenger VoicebotエージェントシミュレーションOpenAI CodexStarCraft IIHyperStyleMax CooperFuture of Life InstituteRendering with StyleIntelDisney類家利直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 Research政治Galacticaクラウドゲーミングがんばれ森川君2号pixiv和田洋一リアリティ番組映像解析Stadiaジョンソン裕子セキュリティMILEsNightCafe東芝デジタルソリューションズインタラクティブ・ストリーミングLuis RuizSATLYS 映像解析AIインタラクティブ・メディアポケモン3DスキャンPFN 3D Scanシーマン人工知能研究所東京工業大学Ludo博報堂Preferred NetworksラップPFN 4D ScanSIGGRAPH 2019ArtEmisZ世代DreamUpAIラッパーシステムDeviantArtARWaifu DiffusionGROVERプラスリンクス ~キミと繋がる想い~元素法典FAIRSTCNovel AIチート検出Style Transfer ConversationOpen AIオンラインカジノRCPMicrosoft DesignerアップルRealFlowRinna Character PlatformiPhoneCALADeep FluidsSoul Machines柿沼太一MeInGameAmeliaELSIAIGraphブレイン・コンピュータ・インタフェースバーチャルキャラクター大規模言語モデルBCIGateboxアフォーダンスLearning from VideoANIMAKPaLM-SayCan予期知能逢妻ヒカリセコムGitHub Copilotユクスキュルバーチャル警備システムCode as Policiesカント損保ジャパンCaP上原利之ドラゴンクエストエージェントアーキテクチャアッパーグラウンドコリジョンチェックPAIROCTOPATH TRAVELER西木康智OCTOPATH TRAVELER 大陸の覇者山口情報芸術センター[YCAM]アルスエレクトロニカ2019品質保証YCAMStyleRigAutodeskアンラーニング・ランゲージ逆転オセロニアBentley Systemsカイル・マクドナルドワールドシミュレーターローレン・リー・マッカーシー奥村エルネスト純いただきストリートH100鎖国[Walled Garden]プロジェクト齋藤精一大森田不可止COBOLSIGGRAPH ASIA 2022高橋智隆DGX H100VToonifyロボユニザナックDGX SuperPODControlVAE泉幸典仁井谷正充クラウドコンピューティング変分オートエンコーダーロボコレ2019Instant NeRFフォトグラメトリartonomous回帰型ニューラルネットワークbitGANsDeepJoinぎゅわんぶらあ自己中心派Azure Machine LearningAzure OpenAI Service意思決定モデル脱出ゲームDeepLHybrid Reward Architectureコミュニティ管理DeepL WriteウロチョロスSuper PhoenixSNSProject MalmoオンラインゲームGen-1気候変動Project PaidiaシンギュラリティProject Lookoutマックス・プランク気象研究所レイ・カーツワイルWatch Forビョルン・スティーブンスヴァーナー・ヴィンジ気象モデルRunway ResearchLEFT ALIVE気象シミュレーションMake-A-Video長谷川誠ジミ・ヘンドリックス環境問題PhenakiBaby Xカート・コバーンエコロジーDreamixロバート・ダウニー・Jr.エイミー・ワインハウスSDGsText-to-Imageモデル音楽生成AIYouTubeダフト・パンクメモリスタ音声生成AIGlenn MarshallScenarioThe Age of A.I.Story2Hallucination音声変換LatitudeレコメンデーションJukeboxAIピカソVeap JapanAI素材.comEAPneoAIテンセントSIFT福井千春DreamIconDCGAN医療mignMOBADANNCEメンタルケアstudiffuse人事ハーバード大学Edgar HandyAndreessen Horowitz研修デューク大学NetflixAIQVE ONEQA Tech Nightmynet.aiローグライクゲーム松木晋祐東京理科大学下田純也人工音声NeurIPS 2021産業技術総合研究所桑野範久リザバーコンピューティングBardプレイ動画ヒップホップ対話型AIモデル詩ソニーマーケティングControlNetサイレント映画もじぱnoteNBA環境音暗号通貨note AIアシスタント現代アートFUZZLEKetchupAlterationAI News粒子群最適化法Art Selfie進化差分法オープンワールドArt Transfer群知能下川大樹AIFAPet Portraitsウィル・ライト高津芳希P2EBlob Opera大石真史クリムトBEiTStyleGAN-NADA世界モデルDETRゲームエンジンDreamerV3SporeUnreal Engineクリティックネットワークデノイズ南カリフォルニア大学Unity for Industryアクターネットワーク画像処理DMLabSentropyGLIDEControl SuiteCPUDiscordAvatarCLIPAtari 100kSynthetic DataAtari 200MCALMYann LeCunプログラミングサム・アルトマン鈴木雅大ソースコード生成コンセプトアートGMAIシチズンデベロッパーSonanticColie WertzTRPGGitHubCohereリドリー・スコットウィザードリィMCN-AI連携モデルマジック:ザ・ギャザリング絵コンテUrzas.aiストーリーボード介護大阪大学西川善司並木幸介KikiBlenderサムライスピリッツ森寅嘉Zoetic AIプロンプトゼビウスSIGGRAPH 2021ペットGPT-4ストリートファイター半導体Digital Dream LabsPaLM APITopaz Video Enhance AICozmoMakerSuiteDLSSタカラトミーSkeb山野辺一記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を発展させるパターン・ランゲージからデザインパターンへの応用
スクウェア・エニックス テクノロジー推進部の水野勇太氏は、AIテクニカルゲームデザイナーとして、メタAIを専門に研究を続けています。CEDEC2020のセッション「ゲームデザインにおけるAI活用のための「メタAIデザインパターン」―基本15パターン―」ではメタAIのさまざまなデザインパターンを示し、研究を発展させる礎となるビジョンを示しました。これはメタAIの実装例がまだ少なく作り方が明確ではないという課題を解決するための試みです。
メタAIとは何か
メタAIはゲームAIの一種で、プレイヤーの状況を踏まえて最適な状態にゲームを変化させる役割を果たすためのものです。古くは『パックマン』(1980年、ナムコ)や『ゼビウス』(1983年、ナムコ)でプレイヤーの反応やスキルに応じて敵キャラクターの動きやゲームの難易度を変える仕組みからスタートしており、スクウェア・エニックスのAI研究チームが関連研究を進めているAI分野のひとつです。

ゲームの世界を飛び出したプロジェクトも生まれています。2019年にはスクウェア・エニックスとオムロンによる共同研究で、卓球ロボット「フォルフェウス」(第6世代)へメタAI機能を搭載し、さまざまなバイタルデータをもとにプレイヤーのモチベーションを高めるフィードバックが行われました。
メタAIを実装することによって、プレイヤーの行動を分析して最適なゲーム展開を考え、ゲームを変化させるなど個々のプレイヤーに対する個別の対応が可能となります。いわばゲームデザイナーあるいはゲームマスターをゲームの中に実装するようなもので、ビデオゲームのオープンワールド化が進むなか今後さらなる発展が期待されています。
では、メタAIはゲーム世界とどのような情報のやり取りをするのでしょうか。水野氏らが提示するメタAIの汎用アーキテクチャは次のとおりです。

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

例えばキャラクターAIは剣を持っている時に敵が近ければ持っている剣で敵を攻撃しようと考えて、その運動を生成します。一方、メタAIはワールドアナライザーがどのようなゲーム状況かを分析し、ゲームをどう変化させるかを考えてパラメータを変化させます。ワールドアナライザーはキャラクターAIでいう「認識の形成」、ゲームメーカーは「意思決定」、パラメータージェネレーターは「運動の構成」に相当します。
水野氏は、メタAIとゲームデザインとの兼ね合いを次のように考察します。
挑戦による能力の評価に主眼が置かれているゲームの場合は、メタAIが入るとその基準がブレることになるため好ましくないかもしれません。一方、能力の評価に主眼が置かれない娯楽として楽しむゲームの場合は、メタAIが最適な体験を提供してくれるので好ましいと言えるでしょう。つまり、そのゲームをどのようにプレイするのかによってメタAI導入の向き不向きが変わるということです。(水野勇太氏)
メタAIは必ずしもすべてのゲームに有効とは限りません。こうした理解をエンジニアとゲームデザイナー双方が共有し、自分たちが作ろうとしているゲームのどこにメタAIが有効なのかを見極めることが重要です。そのためには、ゲームデザインという観点からゲームにどのような機能が何のために入っているかを分析する必要があります。
メタAIとゲームデザイン
水野氏は、さまざまなゲームにおいて、それぞれのゲーム機能が何のために入っているのかを分析しました。

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

何を分析するのかという分析対象がアナライザーに、、なぜその機能が必要なのかという目的がゲームメーカーに、実際に何を変えるかという調整の対象がパラメータジェネレーターに入っていることが分かります。つまり、それぞれのゲームは目的を達成するためにアナライザーの項目を分析し、パラメータージェネレーターの項目を変化させるというメタAIを実装していると言えます。
このように分解して考えてみることで、メタAI導入の検討がより具体的になります。さらに、水野氏がそこで提案するのがパターン・ランゲージです。なぜならビデオゲームへのAIの実装においては、AI側のエンジニアだけではなくゲームの開発エンジニアやゲームデザイナーとのコミュニケーションも重要になってくるからです。
パターン・ランゲージはもともと建築の概念で、建築家であるクリストファー・アレグザンダーが1970年代に提案したものです。現実のさまざまな状況(質)をとらえ、その普遍性を共有して活用するために、暗黙知や実践によるノウハウを共有する仕組みとして、建築以外にも組織マネジメント、あるいはソフトウェア開発などにも取り入れられています。
つまり、ここで水野氏が提唱しているのは「エンジニアとゲームデザイナーの共通言語としてメタAIのためのパターン・ランゲージを考えてみよう」ということです。
パターン・ランゲージとデザインパターン
建築において、なぜパターン・ランゲージが生まれたのか。その理由を水野氏は、1970年代当時の建築が固定的な開発計画に従う形でなされ、基本的な課題を解決できない状態に陥っていたからだと解説します。有機的な秩序、全体性を創造するためにアレグザンダー等は253種のパターンを提示し、パターン・ランゲージによる課題解決を目指したのです。
例えば「手にし得る緑」(手近な緑)と名付けられたパターンは、人々が開放的な緑地を必要とするという前提に基づいています。しかし人がいる場所から3分以上離れていると距離が必要性を圧倒する、つまり3分以上離れた緑地ではダメであるという問題に対して、すべての家や職場から徒歩3分(750フィート≒229メートル)以内に開放的な緑地を作ること、少なくとも面積60,000平方フィート(≒5575平方メートル)、最も狭い部分で幅員150フィート(≒46メートル)の緑地を作ることが解決策となります。
こうしたフレームで考えることは、あらゆる街に適用できる普遍性を持ちます。どの街、どの地域であっても、この解決法を使って「人にとって快適な緑を提供する」ことができるというわけです。例えば、街よりも規模が小さな大学、大型のショッピングモールにも適用できるでしょう。
パターン・ランゲージは、利用者自身が「何が必要か」を一番知っているにもかかわらず、当時の固定された開発計画による建築ではそれが置いてきぼりにされている状況に対し、利用者自身が参加する計画を作り上げるべきだという思想から始まっています。ここで大切なのは利用者が参加しているという点です。(水野勇太氏)

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


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


どのような状況に対するパターンなのか、そこに起こる問題はどういったものか、それに対しどのような解決策が考えられるのか、それにより、どのようなことが起こってしまうのか(フォース)、どのような結果が得られるのか、その具体例を記述するのがパターン・ランゲージの記述フォーマットです。メタAIのパターン・ランゲージではそれら6つの項目に加え参考文献が挙げられています。
ここでは難度に対するプレイヤーのスコアを監視し、難度を調整できるパターンを例に挙げます。ビデオゲームはプレイヤーごとにスキルが異なるため、同じゲームでもある人には難しく感じられ、ある人には簡単すぎると感じられてしまいます。ここで起こっている問題は「プレイヤースキルに対し最適な難易度のゲーム体験を提供できないこと」です。つまり、簡単すぎたり難しすぎたりしてプレイヤーが離脱してしまう、プレイヤーのスキルやリソースに対し最適なゲームを展開できないということです。
それに対する解決策のひとつとしてスコアの変化を監視するという方法が考えられます。これにより最適な難度でゲームが提供され、難しすぎる/簡単すぎるという理由でプレイヤーが離脱することはなくなります。具体例としては、そのような機能を持つシューティングゲームが考えられます。
しかしその場合、次のような課題も生じます。
【運用可能性】
・スコアという形でプレイヤースキルが評価されるゲームにしか適用できない
【制約】
・すべてのプレイヤーにまったく同じゲーム展開を提供できない
・終了状態がプレイヤーによって異なる
【課題】
・スコアが変化するタイミングとプレイヤーの行動のタイミングの間にギャップが生じる
このように、メタAIの機能はパターン・ランゲージで記述できます。さらに水野氏は各ゲームに実装されている具体的なメタAIの機能を分析し6つの大分類に分け、さらにワールドアナライザーで「何を分析するか」で分類することで、22のパターンを抽出しました。


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

今回はメタAIのデザインパターンもこのGoFと同じフォーマットに則って整理してみました。その際、メタAIの構造をしっかりと踏まえることが大切です。メタAIにはワールドアナライザー、ゲームメーカー、パラメータージェネレーターという3つの要素があります。すなわち「何のためのものなのか」「何に基づくメタAIなのか」、そして「具体的に何を調整するのか」。ゲームメーカーのプラニング、アナライザーの内容、そしてパラメータージェネレーターが生成するパラメーター、この3つを明確にしたデザインパターンにすることが大事です。(水野勇太氏)
水野氏が今回のセッションで提示したメタAIデザインパターンは次の6つです。
- スコアベース動的難度低減パターン
- 距離ベース緊張度の波生成パターン
- スコアベース対戦バランス最適化パターン
- プレイヤーの行動ベース評判変化パターン
- ゲーム状況ベースBGM変化パターン
- 多層セルベースシミュレーションパターン
ここではメタ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に関して今はまだ「抽出」から「作成」の段階です。より多くの事例を踏まえたパターンの追加や現場での応用によるパターン・ランゲージのブラッシュアップが必要です。もちろん、その際に重要となるのは利用者となるゲームデザイナーやエンジニア自身の参加です。
パターン・ランゲージの実践は、
- その実践として利用者自身が参加すること
- 少しずつ調整や補修を繰り返してそのパターンランゲージを成長させること
- その上で、利用者がどこが活かされているか(いないか)を診断する
- そして、それを調整する
といったフローを辿ります。つまり、パターンランゲージを一緒に作り上げていくことでエンジニアとゲームデザイナーのコミュニケーションがスムーズになることが、さまざまな場面でメタAIの実装を推進することにつながるのです。

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