GDC2023 Picking a Good Spot: Naughty Dog's Post System 概括
流水账概括
https://www.gdcvault.com/play/1029277/Picking-a-Good-Spot-Naughty
原标题:Picking a Good Spot: Naughty Dog's Post System
顽皮狗的一个分享,关于AI的目标位置选取系统。
该系统和UE的EQS做的是类似的事情。理论大体是基于杂志《Game AI Pro》的一篇文章
Tactical Position Selection: An Architechture and Query Language - Matthew Jack(Game AI Pro, 2013)
http://www.gameaipro.com/GameAIPro/GameAIPro_Chapter26_Tactical_Position_Selection.pdf
顽皮狗内部使用的系统也是迭代了多次。基于通过工具生成的离线数据。
标记点生成大体来源于基于寻路网格生成以及手工摆放。
基本算法流程为通过一系列策略去为各个点评分选择最优点。
顽皮狗的使用的评分标准使用了大概四个维度:
*Linear/Euclidean disatance
*Path distance
*Visibility
*Time since last exposed
接下来就是一些优化策略,不展开了。有意思的是演示代码可能并非真实代码,有一个浮点数比较的bug。
顽皮狗为了缩小轮询的时长,采用了一系列策略去提前筛选候选标记点。将标记点和地图网格绑定。同时为了能够动态得划分标记点分组,用到了暴雪19年分享的动态BVH,
Math for Game Developers: Dynamic Bounding Volume Hierarchies - Erin Catto(GDC 2019)