- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《supernauts》 动态环境中的高级实时路径查找
《Supernauts》
动态环境中的
高级实时路径查找
Harri Hatinen
主程序员,Grand Cru
问题(1/2)
• A*算法是最佳的路径搜索算法
• 提高性能的方法:
• 更好的试探法
• 更小的数据结构
问题(2/2)
• 导航网格是是现代游戏的一项标准
• 但是,用户生成内容和不断变化的环境并没有一
个很好的标准。
Grand Cru公司
• 20名员工
• 芬兰赫尔辛基
Harri Hatinen
• 联合创始人
• 主程序员
• harri.hatinen@
《Supernauts》
• 一切都是用户生成的
《Supernauts》
• 一切都是用立方体构建的
《Supernauts》
• 路径查找用于:
• 运动控制
• 人工智能(AI)
• [演示视频]
解决问题
• 步骤1:实验
• 步骤2 :研究
• 步骤3 :创新
步骤1:实验
• 我们是否还需要昂贵的高级路径搜索算法?
• 不要把努力浪费在错误的功能上
• 简单和快速的实现
- 迅速找出要求和限制
线性网格中的A*算法
• 从当前节点,将路径扩展到附近的
节点。
• 选择最佳路径的节点
• 重复
A B
线性网格中的A*算法
• 我们如何得知最佳路径?
路径 X • X路径长度 = Y路径长度
• 哪一个更好?
• 通过试探法
A B
• 分值 = 路径 + 试探法
路径Y • 分值更小 = 更好
线性网格中的A*算法
最佳路径可能是这样子的。
A B
实验:结果
• 1到2小时用于实现
• 事实证明需要一种寻路算法。
• 不过,我们很快就发现这种方法太慢。
步骤2 :研究
• 现在我们知道
• 1)我们需要一种路径搜索算法
• 2)简单的实现是不够的
- 找出和这一主题有关的所有既有知识
研究
• A*算法是最优的空间搜索算法
• 优化的重点是改善数据结构
• 导航网格是现代电子游戏实际运用的标准
什么是导航网格? 3
11
1
1 2 4
5
3
74个节点 5个节点
文档评论(0)