游戏葡萄|现在放那儿自己跑就行了,网易的黑科技:以前策划写三四周AI( 二 )


强化学习可以解决这个问题 。 强化学习是一种自学习的技术 , 不需要你去写规则 。 包括我们现在落地下来一些感觉:很多场景 , 以前可能策划需要写两周 , 三四周的AI , 强化学习交给它 , 策划不用管这个事情 , 让这个机器跑着就好了 。 强化学习有这个能力 , 但是它也会有很多的问题 。
游戏葡萄|现在放那儿自己跑就行了,网易的黑科技:以前策划写三四周AI
文章图片
强化学习技术门槛也有点高 , 我们想的是:
第一点 , 怎么降低强化学习的接入和使用的门槛 , 让更多的游戏开发者能使用上这个技术?
第二点 , 因为强化学习技术本身发展在日新月异 , 学术圈非常火爆 , 基本每年都会大量的文章出来 , 新技术、新发展 。 研究人员可能想在我们的游戏环境中 , 实验一下新想法、新算法 , 怎么能让AI研究人员更好地理解游戏的需求?因为游戏环境还是挺复杂的 , 需要很多的专业背景 。
第三点 , 我们已经有很多的传统AI技术 , 怎么结合传统AI技术与强化学习 , 这个也是比较重要的问题 。
第四点 , 我们在想这个问题 , 如何将强化学习这个东西应用到更广泛的游戏领域 , 提升玩家体验 。

下一步就是介绍的我们这边做的RLEase框架 , 这个本质上是为了解决一些问题 。 我们网易有一套自己的工具 , 传统的开发AI的工具 , 我们这边叫流程图 。 其实就是我们写代码的时候会破坏一些示意图 , 我们有这样的工具来开发游戏AI , 比如说用锁开门这样的AI 。
左边是示例 , 这里面这个东西跟行为树很像 。 它里面每个节点有状态 , 有颜色代表不同的转移 , 跟行为树整体上比较类似 。 支持一些异步的模式 , 这个是我们现在网易这边开发游戏很常用的一套工具 。
游戏葡萄|现在放那儿自己跑就行了,网易的黑科技:以前策划写三四周AI
文章图片
第一个问题 , 他们开发好了很多AI , 我们怎么能把强化学习结合进去 , 它也有很多其他逻辑在里面 , 不可能从头用强化学习 。 我们的想法是 , 把强化学习的技术跟我们流程图工具结合起来 , 强化学习里加上两种新的节点 , 叫SendState和SendReward 。
这是一个真实游戏里的流程图 , 我们截出来 , 结合强化学习来跑 。 这是游戏很复杂的时候——大型的吃鸡游戏 , 可能有很多AI , AI怎么跑毒 , 碰到人怎么打 , 里面有很多逻辑 , 强化学习跟它怎么结合呢?
因为强化学习技术本身并没有那么神奇 , 好像什么场景都能解决 , 它对计算量要求很高 , 跟它的结合点 , 是让它解决一些强化学习比较适合解决的问题 , 或者传统AI不太好做的问题 。 比如说碰到对手怎么跟它打 , 这个事情AI不太好写——游戏比较复杂 , 技能比较多 , 打起来套路很多 , 你就不知道怎么应对对手的套路 。
针对这个我们把一部分功能替换成了强化学习的函数 , 对它来说调了一个接口 。 我把当前的游戏信息发给你 , 你只要告诉我该放什么技能就行了 , 其他的我自己不管 。 相当于我写了一段跟战斗相关的AI , 但这个AI并不是他自己写的 , 而是交给我们强化学习训练出来的 。 剩下的跑毒也好 , 大地图里面捡东西也好 , 这种不去训练 。 因为这种逻辑很好写 , 没必要交给我们来做 。 我们是通过这样的方式 。 来结合传统的规则和强化学习的 。
另外 , 刚才讲了强化学习的技术门槛好像有点高 , 很多传统的写AI的不太懂 。 我们希望开发一套东西能让这个强化学习变得简单一点 , RLEase这套框架最重要的是简化环境的接入流程 , 能让游戏接入成本降低 , 降低强化学习的门槛 , 特别是让AI研究人员降低大规模强化学习的门槛 , 目前这些特性先不细讲了 。 对于AI研究员来说我们提供了标准的接口 , 这个技术在日新月异地发展 , 很多时候有新的算法和新的方法尝试 。 我们也是这套框架里面添加了标准的接口 , 这个框架本身是有很多特性 , 对于AI研究员来说只要新写一个算法 , 这些特性都已经集成好了 。


推荐阅读