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

TAG LIST
CGCGへの扉機械学習安藤幸央ディープラーニング月刊エンタメAIニュースGAN河合律子OpenAINVIDIA音楽吉本幸記ニューラルネットワーク三宅陽一郎強化学習GoogleQAグーグルDeepMindGPT-3Facebook自然言語処理人工知能学会大内孝子森川幸人敵対的生成ネットワークシナリオキャラクターAIスクウェア・エニックスモリカトロンAIラボインタビューマイクロソフトルールベースStable DiffusionAIと倫理アート映画デバッグNFTDALL-E2StyleGAN倫理ゲームプレイAI自動生成SIGGRAPHモリカトロンメタAIテキスト画像生成ロボット深層学習ファッションCEDEC2019プロシージャルVFXデジタルツイン遺伝的アルゴリズムテストプレイNPCDALL-ECLIP画像生成大規模言語モデルChatGPTビヘイビア・ツリーディープフェイクCEDEC2021CEDEC2020ゲームAIメタバース不完全情報ゲームVRナビゲーションAI画像生成AIボードゲーム畳み込みニューラルネットワークGDC 2021JSAI2022生成系AIAdobeGDC 2019マルチエージェントCEDEC2022著作権AIアート懐ゲーから辿るゲームAI技術史toioジェネレーティブAICNNMicrosoftNVIDIA OmniverseUnity小説アニメーション鴫原盛之HTN階層型タスクネットワークマンガ汎用人工知能JSAI2020GTC2023TensorFlowインタビューバーチャルヒューマンBERTMidjourneyイベントレポート対話型エージェントAmazonロボティクスMetaMinecraft水野勇太アバターOmniverse3DCGUbisoftGenvid TechnologiesガイスターStyleGAN2GTC2022教育ソニーJSAI2021スポーツ研究シムピープルMCS-AI動的連携モデルマーケティングGDC SummerLLMブロックチェーン作曲アストロノーカキャリアeスポーツスタンフォード大学サイバーエージェント音声認識eSportsDQNBLUE PROTOCOLシーマンStability AIメタAlphaZeroTransformerGPT-2rinnaAIりんなデジタルヒューマンカメラ環世界中島秀之PaLM哲学ベリサーブPlayable!理化学研究所SIGGRAPH ASIANetflix東京大学DARPAドローンシムシティImagenZorkバイアスモーションキャプチャーTEZUKA2020AI美空ひばり手塚治虫テキスト生成バンダイナムコ研究所スパーシャルAIElectronic Arts3DメタデータLEFT 4 DEAD通しプレイOpenAI Five本間翔太CMAudio2Faceピクサープラチナエッグイーサリアムボエダ・ゴティエビッグデータ中嶋謙互Amadeus Codeデータ分析Microsoft AzureMILE模倣学習ナラティブNVIDIA RivaアーケードゲームOmniverse ReplicatorWCCFレコメンドシステムNVIDIA DRIVE SimWORLD CLUB Champion FootballNVIDIA Isaac Simセガ柏田知大軍事田邊雅彦トレーディングカードトレカメディアアートGPTPyTorch眞鍋和子バンダイナムコスタジオaibo合成音声齊藤陽介マインクラフトお知らせMagic Leap Oneチャットボットサルでもわかる人工知能VAEDreamFusionリップシンキングUbisoft La Forge自動運転車ワークショップ知識表現ウォッチドッグス レギオンIGDA秋期GTC2022市場分析どうぶつしょうぎEpic Gamesジェイ・コウガミ音楽ストリーミングMITAIロボ「迷キュー」に挑戦AWS野々下裕子徳井直生マシンラーニング5GMuZeroRival Peakpixivクラウド対話エンジン斎藤由多加リトル・コンピュータ・ピープルCodexコンピューティショナル・フォトグラフィーゴブレット・ゴブラーズ絵画ARMicrosoft Designerイラストシミュレーション完全情報ゲーム坂本洋典釜屋憲彦ウェイポイントパス検索対談藤澤仁生物学GTC 2022画像認識GPT-3.5SiemensStyleCLIPDeNA長谷洋平masumi toyota宮路洋一OpenSeaGDC 2022Gen-1TextWorldEarth-2BingMagenta音楽生成AISFELYZA Pencil松尾豊GTC2021CycleGANテンセントデータマイニングNetHackはこだて未来大学Bardキャラクターモーションフェイクニュース現代アートエージェントRPGSIGGRAPH 2022レベルデザインAIボイスアクターNVIDIA CanvasGPUALife人工生命オルタナティヴ・マシンサウンドスケープLaMDATRPGAI DungeonプロンプトASBS栗原聡ぱいどんアドベンチャーゲーム不気味の谷ナビゲーションメッシュ松井俊浩ELYZAフルコトELYZA DIGEST建築音声合成NeRF西成活裕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 GANStable Diffusion XLMobalyticsSelf-Distilled StyleGANSDXL馬淵浩希Cygamesニューラルレンダリング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 IIHyperStyleMax CooperBingAIFuture of Life InstituteRendering with StyleIntelDisney類家利直FireflyLAIKADisneyリサーチヴィトゲンシュタインPhotoshopRotomationGauGAN論理哲学論考LightroomGauGAN2京都芸術大学Canvaドラゴンクエストライバルズ画像言語表現モデルChatGPT4不確定ゲームSIGGRAPH ASIA 2021PromptBaseBOOTHDota 2モンテカルロ木探索ディズニーリサーチpixivFANBOXMitsuba2バンダイナムコネクサス虎の穴ソーシャルゲームEmbeddingワイツマン科学研究所ユーザーレビューFantiaGTC2020CG衣装mimicとらのあなNVIDIA MAXINEVRファッションBaidu集英社淡路滋ビデオ会議ArtflowERNIE-ViLG少年ジャンプ+グリムノーツEponym古文書ComicCopilotゴティエ・ボエダ音声クローニング凸版印刷コミコパGautier Boeda階層的クラスタリングGopherAI-OCRゲームマスター画像判定Inowrld AIJuliusSIE鑑定ラベル付けMODTPRGOxia Palus大澤博隆Ghostwriterバーチャル・ヒューマン・エージェントtoio SDK for UnityArt RecognitionSFプロトタイピングSkyrimクーガー田中章愛実況パワフルサッカースカイリム石井敦銭起揚NHC 2021桃太郎電鉄RPGツクールMZ茂谷保伯池田利夫桃鉄ChatGPT_APIMZGDMC新刊案内パワサカダンジョンズ&ドラゴンズマーベル・シネマティック・ユニバースコナミデジタルエンタテインメントOracle RPG成沢理恵MITメディアラボMCU岩倉宏介深津貴之アベンジャーズPPOxVASynthマジック・リープDigital DomainMachine Learning Project CanvasLaser-NVMagendaMasquerade2.0国立情報学研究所Tencentノンファンジブルトークン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 2020COLMAPtext-to-3Dザ・ウィークエンドADOPNVIDIA GET3DドレイクデバッギングBigGANGANverse3DMaterialGANRNNグランツーリスモSPORTAI絵師ReBeLグランツーリスモ・ソフィーUGCGTソフィーPGCVolvoFIAグランツーリスモチャンピオンシップNovelAIRival PrakDGX A100NovelAI DiffusionVTuberユービーアイソフトWebcam VTuberモーションデータ星新一賞北尾まどかHALOポーズ推定将棋メタルギアソリッドVフォートナイトメッシュ生成FSMメルセデス・ベンツRobloxMagic Leapナップサック問題Live NationEpyllion汎用言語モデルWeb3.0マシュー・ボールAIOpsムーアの法則SpotifyスマートコントラクトReplica StudioamuseChitrakarQosmoAdobe MAX 2022巡回セールスマン問題Adobe MAXジョルダン曲線メディアAdobe Research政治Galacticaクラウドゲーミングがんばれ森川君2号和田洋一リアリティ番組映像解析Stadiaジョンソン裕子セキュリティMILEsNightCafe東芝デジタルソリューションズインタラクティブ・ストリーミングLuis RuizSATLYS 映像解析AIインタラクティブ・メディアポケモン3DスキャンPFN 3D Scanシーマン人工知能研究所東京工業大学Ludo博報堂Preferred NetworksラップPFN 4D ScanSIGGRAPH 2019ArtEmisZ世代DreamUpAIラッパーシステムDeviantArtWaifu DiffusionGROVERプラスリンクス ~キミと繋がる想い~元素法典FAIRSTCNovel AIチート検出Style Transfer ConversationOpen AIオンラインカジノRCPアップル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オンラインゲーム気候変動Project PaidiaシンギュラリティProject Lookoutマックス・プランク気象研究所レイ・カーツワイルWatch Forビョルン・スティーブンスヴァーナー・ヴィンジ気象モデルRunway ResearchLEFT ALIVE気象シミュレーションMake-A-Video長谷川誠ジミ・ヘンドリックス環境問題PhenakiBaby Xカート・コバーンエコロジーDreamixロバート・ダウニー・Jr.エイミー・ワインハウスSDGsText-to-ImageモデルYouTubeダフト・パンクメモリスタ音声生成AIGlenn MarshallScenarioThe Age of A.I.Story2Hallucination音声変換LatitudeレコメンデーションJukeboxAIピカソVeap JapanAI素材.comEAPneoAISIFT福井千春DreamIconDCGAN医療mignMOBADANNCEメンタルケアstudiffuse人事ハーバード大学Edgar HandyAndreessen Horowitz研修デューク大学AIQVE ONEQA Tech Nightmynet.aiローグライクゲーム松木晋祐東京理科大学下田純也人工音声NeurIPS 2021産業技術総合研究所桑野範久リザバーコンピューティングプレイ動画ヒップホップ対話型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 WertzGitHubCohereリドリー・スコットウィザードリィMCN-AI連携モデルマジック:ザ・ギャザリング絵コンテUrzas.aiストーリーボード介護大阪大学西川善司並木幸介KikiBlenderサムライスピリッツ森寅嘉Zoetic AIゼビウスSIGGRAPH 2021ペットGPT-4ストリートファイター半導体Digital Dream LabsPaLM APITopaz Video Enhance AICozmoMakerSuiteDLSSタカラトミーSkeb山野辺一記NetEaseLOVOTDreambooth-Stable-Diffusion大里飛鳥DynamixyzMOFLINゲーム背景RomiGoogle EarthU-NetミクシィGEPPETTO AI13フェイズ構造ユニロボットStable Diffusion web UIADVユニボPoint-EXLandGatoアパレルAGIAI model手塚眞DEATH STRANDINGマルチモーダルAI ModelsEric Johnson汎用強化学習AIZMO.AIデザインMOBBY’SOculus Questコジマプロダクションロンドン芸術大学モビーディック生体情報デシマエンジンGoogle BrainダイビングインディーゲームSound Controlアウトドア写真高橋ミレイSYNTH SUPERAIスキャニング照明Maxim PeterKarl Sims自動採寸Joshua RomoffArtnome3DLOOKハイパースケープICONATESizer山崎陽斗深層強化学習ワコール立木創太松原仁スニーカー浜中雅俊UNSTREETミライ小町武田英明Newelseテスラ福井健策CheckGoodsGameGAN二次流通パックマンTesla BotNEDO中古市場Tesla AI DayWikipediaDupe Killerソサエティ5.0Sphere偽ブランドSIGGRAPH 2020バズグラフXaver 1000配信ニュースタンテキ養蜂東芝Beewiseソニー・ピクチャーズ アニメーションDIB-R倉田宜典フィンテック投資Fosters+Partners韻律射影MILIZEZaha Hadid Architects広告韻律転移三菱UFJ信託銀行

【GDC2021】『DEATH STRANDING』のNPCがプレイヤーを追跡する仕組み

2021.9.06ゲーム

【GDC2021】『DEATH STRANDING』のNPCがプレイヤーを追跡する仕組み

3Dビデオゲームの広大な世界をNPC(ノンプレイヤーキャラクター)が自由に動き回るには、ナビゲーションというゲームAIの仕組みが欠かせません。ナビゲーションはその名が示すとおり、ゲーム世界の地形(Terrain)データに基づいて、エージェントが目標地点まで移動するための最短ルートをリアルタイムで探索するためのシステムです。オープンワールドゲームのような広大かつ複雑な環境では、目的に応じたエージェントの現実的な動作とインタラクションを定義するために必要不可欠な存在です。

7月19日から7月24日までオンラインで開催された「Game Developers Conference」(GDC 2021)にて、コジマプロダクションのAIプログラマー、Eric Johnson氏による「’Death Stranding’: An AI Postmortem(DEATH STRANDINGにおけるAIの事後検証)」というセッションを取材しました。

このセッションでは、雄大な自然環境をオープンワールドで表現したアクションゲーム『DEATH STRANDING』に使われているナビゲーションシステムが紹介されました。同作は、プレイヤーが運び屋としてロープやハシゴを駆使しながら目標地点を目指したり、道路や橋を整備することで物流ルートを確保したりと、地形そのものと向き合う環境トラバーサルに重点を置いたゲーム性が特徴です。

過酷な地形の数々はプレイヤーだけでなく、NPCにとっても行動を著しく制限する高い障壁となります。それに対してNPCがいかに現実的な挙動でアプローチできるかが、ナビゲーションを構築する上での大きな課題です。たとえば、『DEATH STRANDING』に登場する「ミュール」というプレイヤーの追跡と荷物の強奪に特化した敵NPCは、プレイヤーが進入できるすべての地形にアクセス可能で、どんな地形でもプレイヤーの荷物を拾えるという条件を満たすようにデザインされています。

ナビゲーションメッシュをランク付けする仕組み

『DEATH STRANDING』のゲームワールドは、開発チームが2016年8月にアイスランドの溶岩地帯や河川、山の谷間、峡谷、クレバス、洞窟、間欠泉などを実際に調査した地形データをもとに構築されています。こうした地形をゲーム内で再現するにあたって、エージェントが進入および移動可能な領域を定義しているのが、ナビゲーションメッシュ(Navmesh)というデータ構造です。

一般的にナビゲーションメッシュは、ゲームマップを分割するタイル領域と地形オブジェクトの頂点を直線で結んだ2次元ポリゴンの集合として生成されます。これらポリゴンの接点をつなげたグラフが、エージェントの移動経路(以下、パス)として扱われます。その際、目的地(以下、ウェイポイント)までの最短ルートを探すパス検索には、グラフ理論におけるダイクストラ法や、その改良版であるA*探索アルゴリズムが使われています。

たとえナビゲーションメッシュが存在する進入可能な地形であっても、その種類や状態によって異なる移動コストを生じさせるのが一般的なゲームデザインです。『DEATH STRANDING』では、膝までの高さの岩であれば乗り越えられますが、走り抜けようとすると一定の確率でつまづいて転びます。また、河川や湖の水中に進入した際は、移動速度が著しく低下するばかりか、プレイヤーならスタミナゲージを消費します。

ここでプレイヤーは地形や路面状況がおよぼす影響を直感的に判断して最適なルートを決定できますが、エージェントが地形の特性をパス検索の考慮に入れるためには、それぞれの地形に応じてナビゲーションメッシュを改良する必要があります。

『DEATH STRANDING』に使われているデシマエンジンには「Procedural Placement System」(自動配置システム)というナビゲーションメッシュを自動生成する機能があり、すべてのナビゲーションメッシュに移動コストの情報を書き加えています。このプロセスを「Placement Painting」といいます。エージェントはレイキャスト(光線の反射からオブジェクト情報を取得する判定手段)によって、これらの情報を読み取ります。これにより、エージェントは可能な限り足場の悪い地形を避けながら最適なパスを検索できるようになります。

的確なタイミングでパス検索を実行するには

パス検索の計算コストは、ナビゲーションメッシュがきめ細かくなるほど増加していきます。そこで『DEATH STRANDING』では、エージェントを中心に展開したナビゲーションメッシュバブルの範囲内でのみパス検索を実行し、さらに1度のパス検索で検出するノード数(ナビゲーションメッシュポリゴンの数)を500個に制限しているということです。エージェントが移動するたびにナビゲーションメッシュバブル内の情報は更新され、新たなナビゲーションメッシュが生成されるという仕組みです。

このためエージェントは、最終的なウェイポイントに到達するまでパスの再検索を繰り返す必要があります。問題は再検索のタイミングをどうやって判断するかです。一定間隔で常にパス検索を実行すると計算コストが膨れ上がってしまうだけでなく、エージェントの移動中にそれまでとはまったく異なる検索結果が出た際に、極めて不自然な挙動に陥ってしまう可能性もあります。パス検索における最短ルートは開始地点に大きく依存しているからです。そのため、パス検索の再試行は必要最低限の回数に留めることが重要になってきます。

『DEATH STRANDING』のNPCがパス検索を再試行するのは、外的要因や自らの慣性によりNPCが移動中のパスからはみ出した場合、外的要因によりウェイポイントが当初のナビゲーションメッシュポリゴンの外へ移動した場合、オブジェクトの追加や除去によってナビゲーションメッシュが書き換えられてパスを構成するポリゴンの一部が無効になった場合、パス検索で検出するノード数の制限範囲に到達した場合などに限定されています。エージェントはパスの情報を保持したまま再検索の条件を継続的に判定しています。これを「Event-Based Repathing」(イベントに基づいたパス検索)といいます。

挙動不審なNPCや迷子のNPCを出さないために

前述した「Placement Painting」によってナビゲーションメッシュごとの移動コストを定義したからこそ起こりうる問題もあります。NPCが高コストの地形に進入した際、突如として直進を諦めて来た道を戻るという奇妙な挙動を見せる場合があります。これはエージェントが高コストの地形に入った瞬間にパス検索を再試行した時に起こりえます。高コストの地形を避けつつ、やむを得ず進入した場合も最短ルートを維持するためには、移動コストに加えて地形に応じた進入コストの概念を導入する必要があるということです。

たとえば、岩場における移動コストを平地と同等に設定する一方で、進入コストは遥かに高く設定します。こうすることでNPCは岩場の外側からは高コストの地形と認識して可能な限り最短ルートから除外しますが、ほかに選択肢がなく仕方なく岩場の内側に進入した場合は、岩場を平地と同じ移動コストのナビゲーションメッシュとして扱ってくれるというわけです。

パス検索範囲内の大部分が進入不可の地形や障害物に阻まれているようなケースでは、ウェイポイントへ向かう最短ルートの再検索が無限ループに陥るような問題も起こりえます。NPCが障壁に近づくにつれて更新されるナビゲーションメッシュバブルには、障壁の向こう側のナビゲーションメッシュもふくまれるからです。もしNPCが再検索により迂回ルートへ移動した際に、再び障壁の向こう側がふくまれていないナビゲーションメッシュバブルへ更新されてしまうと、NPCは最短ルートとして障壁側へ逆戻りしてしまうというわけです。あとは延々と同じことの繰り返しです。

こうした挙動は、広く深い岩の裂け目が大地を分断しているような地形で、裂け目の内部や反対側にいるプレイヤーを追跡するNPCにとって死活問題となり得ます。たとえ迂回ルートを見つけ出してNPCが上手く裂け目内へ入れたとしても、内部のナビゲーションメッシュがバブル範囲内に完全に収まってしまうような狭い空間だった場合、ナビゲーションメッシュバブルを更新できなくなったNPCは永久に閉じ込められてしまうでしょう。結果、プレイヤーの追跡中に迷子になって本拠地へ帰還できなくなるNPCが続出します。

この問題を解決するために、デシマエンジンには「AIロードネットワーク」という機能が搭載されています。これは文字通り、広大なマップにあらかじめ移動ルートの指標となるネットワークをパス検索のレイヤーとして用意しておくことで、ナビゲーションメッシュバブルの範囲より遥か遠くの座標を目指すNPCが、わざわざ道なき道を進まなくてもいいようにするという仕組みです。複数のエリアをつなぐ見えない幹線道路と考えれば分かりやすいでしょう。どんなに遠くへ赴く際も、とりあえず幹線道路にさえ沿って移動すれば、無限ループというAIの煉獄に囚われることはないというわけです。

動的地形におけるナビゲーションメッシュ

『DEATH STRANDING』では、「キャッチャー」と呼ばれるプレイヤーの捕食を目的とした敵が出現した際に、建物や車両、コンクリート塊がタール状の地面から湧き出る「座礁」(Stranding)という同作の世界観特有の現象が起きます。この時、周辺のナビゲーションメッシュも座礁オブジェクトをふくめた状態へ自動的に書き換えられ、プレイヤーのみならず「キャッチャー」もオブジェクト上へ進入できるようになります。戦闘中に座礁オブジェクトが再び地面へ沈んだ際も同様です。

こうした動的ナビゲーションメッシュ(Dynamic Navmesh)の仕組みは、フェンスやバリケードといった破壊可能なオブジェクトに加えて、プレイヤーがフィールドに設置できるアイテムにも適用されています。たとえば、同作のハシゴはプレイヤーがあらゆる地形に任意の角度で設置できるようにデザインされています。この時、ハシゴを45度以上の角度で設置した場合は両手両足を使って登降する通常のハシゴとして、45度未満で設置した際は手放しで渡れる橋として機能するような仕様で実装されています。

プレイヤーが設置したハシゴをNPCも利用できるようにするためには、ハシゴの設置状態や接地面の地形に応じたナビゲーションメッシュとジャンプリンクを適宜生成する必要があります。ジャンプリンクとは、高低差によって直接隣接していないナビゲーションメッシュ同士を接続する仕組みです。ハシゴを橋として利用する場合は、ハシゴへ足を踏み入れるエントリーポイントと、ハシゴから飛び降りるジャンプポイントの候補が必然的に多くなるため、ナビゲーションメッシュの生成プロセスも複雑になります。

同作では、ハシゴ上に50センチメートル間隔でサンプルポイントを定義し、それぞれのポイントに隣接した進入あるいは脱出可能なナビゲーションメッシュを検出しているということでした。この時、接続先のナビゲーションメッシュが重複しているサンプルポイントは、ひとつのグループとして扱っています。グループ内のポイントごとにコリジョン判定を行い、接続先のナビゲーションメッシュが無効だった場合は候補から除外します。こうすることで進入可能なナビゲーションメッシュが存在する地形でのみ、ハシゴへ登ったりハシゴから降りたりできるようになるというわけです。

ちなみに、これら座礁オブジェクトとハシゴにおけるジャンプリンクは「Procedural Placement System」によって自動生成されていますが、2000箇所におよぶその他のジャンプリンクはすべて手動で設置したとのこと。しかし、ジャンプリンクは地形やアニメーションに変更が加えられるたびに調整が必要になるので、これらを自動生成できるシステムの構築が今後の課題だということでした。また、パス検索にA*探索アルゴリズムの代わりに双方向探索を採用する計画もあったとのことですが、ジャンプリンクによる一方通行箇所や進入コストの導入がボトルネックとなり、結果的に見送ったということです。

Writer:Ritsuko Kawai / 河合律子

RELATED ARTICLE関連記事

三宅陽一郎が語る、ウィル・ライトとシムシティの思想:懐ゲーから辿るゲームAI技術史vol.1

2020.3.06ゲーム

三宅陽一郎が語る、ウィル・ライトとシムシティの思想:懐ゲーから辿るゲームAI技術...

トレカの累計出荷数10億枚を超えた『WCCF』シリーズの選手AIはこのように進化した:懐ゲーから辿るゲームAI技術史vol.5<後編>

2022.8.31ゲーム

トレカの累計出荷数10億枚を超えた『WCCF』シリーズの選手AIはこのように進化...

2D画像だけで大丈夫。3D画像や3Dオブジェクトを自動生成するAIまとめ

2020.7.27ゲーム

2D画像だけで大丈夫。3D画像や3Dオブジェクトを自動生成するAIまとめ

RANKING注目の記事はこちら