畅想游戏网:提供及时新鲜的手游资讯和手游攻略!
首页 > 资讯攻略 > 游戏资讯 正文

《黑魂》真正的勇士敢于直面困难!如何做好游戏AI研发

发布时间:2022-03-28 14:43:53 来源:畅想游戏网 作者:小编若怡

在游戏开发者大会CEDEC2020的第三天(9月4日),FromSoftware将发表题为“我要研究游戏AI!不合格的研发部门在已经发布的作品中建立实验场”的演讲。本次演讲由 FromSoftware Inc. 研发部门的 Hen Jean-Philip 为您带来。此次演讲揭示了游戏开发研发部(R&D)在开发游戏AI时必须克服的困难。克服这些挑战的人工智能研究方法、例子和发展前景。

image.png

亨·让·菲利普

研发部门在游戏AI研究中面临的困境

研发通常不直接参与游戏开发。他们的主要任务是开发程序库和工具。在对所用技术进行研究之后进行技术研究。而FromSoftware的研发特别关注这些技术是如何导入到游戏中的。

当然,这些研究也包括对游戏AI的研究。游戏内 AI 的职责包括控制 NPC 操作和调试、游戏的整体控制、自动调整和环境分析。 AI包括脚本、运动树、状态机等经典模型,以及近年来备受关注的强化学习、机器学习等模型。

在研发中进行人工智能研究,“人工智能实验场”是必不可少的。原因是人工智能的研究需要不断的试错,而一个可以试验很多方法的环境是必不可少的。

如果研发想搭建一个用于研究目的的实验环境,最简单的方法就是创建一个“实验环境”或者“类小游戏环境”。这个环境易于操作,有时似乎一切正常,但在实际将游戏 AI 导入游戏时仍然存在问题。

image.png

这意味着人工智能只会在对研究友好的环境中进行测试,当转移到游戏等复杂、受限的环境中时,会发生意想不到的事情。问题。在这种情况下,AI将不得不支付大量资金来导入游戏。另外,这点在游戏开发网站上是明确的,所以不能随意尝试。

具体做法是用一个中间层代替原来“ACVD”的AI关联。这个中间层继续保留原始实现的功能,并通过它连接到外部 AI。如您所见,在游戏环境中,操作与之前的 AI 相同,但在现实中,您可以执行通用接口和操作。

中间层不仅连接到AI,还连接到游戏机的控制器。这是一种考虑调试的方法,但现在人类可以扮演以前由 AI 直接控制的角色。

通过这样做,(R&D)意识到游戏环境和AI都不是可以轻松处理的数据。例如,角色位置的坐标在游戏环境中更好地被视为“世界坐标”来指示角色在游戏世界中的位置,而 AI 是相对于该位置的“本地坐标”,它将被处理更合适。

image.png

因此,只要中间层可以将这种差异相互转换,就不需要在游戏环境和 AI 之间进行转换。

中间层还具有日志功能(将操作结果可视化并集中数据进行分析)和回放功能。

研究示例

来自 AI 的 Hen Jean-Philip 在正在进行的实验场验证中,选择并介绍了两个运行 NPC 的案例。第一个是一个经典 AI 模型(脚本、动作树、状态机)的示例,取自R&D内部举行的竞赛这是一款所有研发人员都使用编程语言“Lua”创建自己的AI,并用它们互相对战的游戏。为收集战斗信息而举办的游戏,将游戏结果和每场游戏的HP减少可视化。在强化学习示例中,我们首先需要说明强化学习中需要考虑的两个特征。第一个特点是强化学习是“具体来说,大型实现容易出现数学错误,除非经过专门优化,否则学习起来可能很耗时且难以调试。 第二个特点是“需要实时大量数据“。其他机器学习也是如此,但强化学习也需要在学习过程中收集数据。

image.png

采集时间可以控制在该范围内的适当时间。如何处理这些特征?第一种是使用已经实现的学习算法,只处理最先进的算法。编程语言“Python”。这是因为大多数主流的学习算法都在 Python 中,而且几乎所有的机器学习库都支持 Python。不过是一款C++编写的游戏,如何与Python的学习算法对接存在问题。这个问题通过在游戏和学习算法之间引入Python的强化学习工具箱“Gym”和网络通信库“gRPC”来解决。

相关资讯