在游戏开发中,关卡设计是至关重要的一部分。一个好的关卡设计可以让游戏更加有趣、具有挑战性,甚至可以吸引更多的玩家。然而,设计一个好的关卡并不是一件容易的事情,需要设计师有丰富的经验和技能。
为了解决这个问题,我们设计并验证了一套基于强化学习的辅助关卡迭代流程。这个流程可以帮助设计师快速设计出更好的关卡,并提供实时的反馈,以便设计师可以及时调整关卡设计。
流程提供了一个合理的设计—验证—反馈循环。设计师可以与工具进行自然交互,将自己的需求和关卡必要知识传递给智能体,无需过多的工具学习成本和机器学习前置知识积累。通过智能体行为部分感知真实玩家在当前场景下的实际体验,设计师可以实时获取关于关卡的反馈。
训练的过程也是可交互的,设计师能自然的在关卡设计-关卡验证-反馈获取循环中切换。这个流程有较高的泛化能力,能在各种不同类型的游戏中辅助验证。
设计理念:
- 为关卡设计提供一个合理的 设计—验证—反馈 循环。
- 设计师能与工具自然交互,将自己的需求和关卡必要知识传递给智能体,无需过多的工具学习成本和机器学习前置知识积累。
- 设计师能实时获取关于关卡的反馈,通过智能体行为感知真实玩家在当前关卡下的实际体验。
- 训练过程是可交互的,设计师能自然的在 关卡设计-关卡验证-反馈获取 循环中切换。
- 有较高泛化能力,能在各种不同类型的游戏中辅助验证。
HIIL理论
Human-In-the-Loop Learning(HILL)人在循环中的机器学习专注于将人类的知识和经验整合到机器学习过程中。它旨在通过融入人类专业知识来训练准确的预测模型,并以最小的成本实现。在机器学习的背景下,人在循环中涉及人类在各个阶段的积极参与,如数据处理、模型训练和推断,以及系统设计和应用。融合人类知识可以提高机器学习模型的性能,并解决机器学习所面临的挑战。人在循环中的机器学习是一个跨学科领域,涉及计算机科学、认知科学和心理学的交叉。近年来,它越来越受到重视,并在过去十年中得到广泛研究。人在循环中的研究目标是设计有效的解决方案,利用人类专业知识,以增强机器学习的自动化能力。
从人类反馈中进行强化学习(Reinforcement Learning from Human Feedback,简称RLHF)是一种将人类数据标签整合到基于强化学习的优化过程中的方法。它的动机是为了解决建模人类偏好的挑战。
本文的思路与RLHF正好相反,基于RL算法在关卡中的实际反馈,设计师可以动态的调整关卡设置,使其向更符合自己预定的游戏体验目标逼近。
Human-in-the-loop refers to a research area that focuses on integrating human knowledge and experience into the machine learning process. It aims to train accurate prediction models with minimum cost by incorporating human expertise. In the context of machine learning, human-in-the-loop involves the active participation of humans in various stages, such as data processing, model training and inference, and system design and application. The integration of human knowledge can improve the performance of machine learning models and address the challenges posed by machine learning. Human-in-the-loop is an interdisciplinary field that intersects computer science, cognitive science, and psychology. It has gained increasing importance in recent years and has been extensively studied in the past decade. The goal of human-in-the-loop research is to design effective solutions that leverage human expertise to enhance the automation of machine learning.
RL辅助关卡设计的可行性分析
强化学习智能体在游戏关卡中展现了出色的策略涌现能力[Emergent tool use from multi-agent interaction],经过一定的迭代轮次后,它能够发现许多设计师尚未预料到的游戏策略,从而在设计过程中辅助设计师进行优化和调整关卡策略设计。以OpenAI的Hide and Seek案例为例,智能体发现了一种影响游戏平衡的踩箱滑行策略,这是在常规的设计和测试阶段难以发现的问题。若在上线后被玩家发现,将对游戏平衡产生不利影响。
(后面再补充)
RL辅助关卡迭代的初版流程示例
基于近期个人开发过程中的实际流程,依据本文理论将其总结如下:
设计:下图是模仿吃鸡游戏的城镇决赛圈场景设计的一个多智能体作战环境。游戏的体验目标类似于吃鸡,鼓励玩家多对枪,尽量避免出现避战苟鸡的情况,整个流程控制在10~30秒之间。在初版中,每个玩家拥有四发弹药,地图三个区域范围内在游戏开始时会随机位置刷新一批橙色小球,捡到地上的橙色小球就可以补充一发弹药,玩家被击中两次会被淘汰。
验证:在使用强化学习算法训练一定步骤后,Agent采取了以下策略:2~3个队友不断拾取自己附近的弹药并射击以快速清空地上的弹药资源,随后在墙角苟住等对面过来,其余的队友尝试绕后前往靠近对方的弹药刷新点清空弹药资源,双方都在尽力清空环境中的资源使得对手在用完自己能存储的四枚弹药之后就丧失战斗力。前期的缩在墙角清空弹药的行为使得整个流程超过一分钟,常常出现双方都没有弹药只能互相对视的情况。
反馈: 当前的资源刷新设计和玩家弹药容量不符合游戏体验目标,玩家在当前情况下射击过于谨慎,此外垃圾时间太多。
设计: 基于以上反馈,重新设置弹药刷新规则和玩家弹药数量。弹药:玩家拥有四个弹匣,每个弹匣25发弹药,打完需要时间换弹。空投:游戏开始后每10s随机在三个区域投放一轮,拾取后补充两个弹匣,地图中心区域会刷新特殊空投让拾取玩家伤害加一,鼓励玩家向地图中心聚集,同时调整两侧建筑物位置方便玩家绕后。
验证:相同架构的模型在训练一致的步长后,Agent采取的策略明显激进许多。涌现出几种不同的对战策略:1:同时前往中路对枪,占领中心区域后配合架住四个方向。2:两人架住中路,一人绕后一人防绕后。3:四人分两队从两侧交叉火力进攻中路。部分情况下还会有藏角落建筑物后蹲守对方绕后玩家的情况出现。相比第一版地图这些改动较大影响了策略和玩法。不过当前地图在出现4v1的残局时最后一个玩家会躲藏在墙角架枪,导致敌方四个玩家花费10秒以上才能将其找出击败。
反馈:当前地图在占据中路后很难拿到卡四在角落的对手信息,而主动前往搜寻又容易被提前架好的对手击败,因此常常出现残局一人躲角落四人站中路等待的情况。
设计:调整掩体区域的联通情况,降低躲在拐角的安全度。
验证:修改后游戏步长有了较为明显的下降,在同算法参数的情况下也能稳定在一个更短的时间范围内。
反馈:修改后的地图能较大增加对战的激烈程度,同时仍保留各类策略战术的涌现。