游戏框架,框架游戏辅助器免root,框架游戏辅助器PUBG
笔者在国内一家最早且最资深的从事深度学习 AI 赋能游戏的公司里,从事游戏侧的接入开发工作。在这两年多的时间里,与 AI 侧的同事一同支持了国内外众多知名大型手游项目,并为其提供智能 AI 服务,由此得到了一些经验和总结。希望这些经验和总结能够让游戏行业的从业者,尤其是游戏程序开发人员,了解什么样的游戏框架适合 AI 训练。在解答之前,需要解释深度学习 AI 在游戏中框架里的角色。可以认为深度学习 AI 最终会是一个特殊的“AI 客户端”,它像传统客户端一样,通过协议与服务器通讯交互。它具体做的事类似于游戏里实现“托管离线玩家”所用的行为树(Tree)。它利用神经网络的预测结果,将其映射为调用游戏逻辑所提供的基础行为节点,然后在合适的时机做出合理的行为。
我们先来看传统游戏框架中最为基础的单机版游戏的框架设计情况,这样就能得到下面的结构。
上面的游戏框架会有以下几个部分:
用户输入可以汇总成:
等等行为。
状态可以汇总成:
等等状态。
https://img0.baidu.com/it/u=4075992281,2037168982&fm=253&fmt=JPEG&app=138&f=JPEG?w=500&h=1000
对于多人在线的游戏设计而言,主流的设计思路包含两种模式,分别是帧同步和状态同步。
帧同步的模式,以王者荣耀等MOBA游戏为代表。
与单机的那个设计相比。主要的改动在于把用户输入的部分,转变为由专门的帧同步服务器进行转发广播。通过这样的方式,就能够实现“多人游戏”(不过实际的实现过程并非如此简单)。
状态同步的模式,以魔兽世界等MMO游戏为代表。
服务器接收到用户输入后,会先在服务端处理部分核心逻辑,例如攻击判定、扣血多少等。然后直接将客户端需要的状态信息同步下去。然而,不可避免地,仍有一些操作,特别是依赖物理引擎的部分,会由客户端处理。在单机游戏中,核心逻辑分散在客户端和状态服务器两个部分。
而更适合AI训练的游戏框架。是如下图所示:
强调游戏的服务器端,需具备游戏全部的核心逻辑规则,并且还可能包括集成游戏内的物理引擎(这是可选的情况)。
支持玩家各种行为的后续结果以及反馈规则。例如,当玩家攻击了另一个玩家之后,应当如何进行扣血操作。
https://img1.baidu.com/it/u=2492199468,4275644818&fm=253&fmt=JPEG&app=138&f=JPEG?w=380&h=285
游戏基础逻辑本身。例如玩家包裹中的食物,在过了几天后会发生腐败的情况。
场景里会定期会刷新出现的道具。
等等,类似这些都是核心逻辑。但不用带上表现层的部分。
强调游戏的服务器端需要有游戏的全套核心逻辑,原因在于 AI 端即便在没有客户端的情况下,也需要发送一个用户的操作,而服务器必须能够处理所有后续逻辑。比如说 AI 端发出向前跳跃的指令,服务端就得检测 AI 端的跳跃行为是否合法,比如是否有足够体力,是否被禁锢等情况。同时,服务端还要在真实的物理层面去支持,判断跳跃过程中是否被障碍物阻挡,以及落点在何处(如果有可选落点的话)。这些因素都表明,适合 AI 训练的游戏框架会以这样的方式来处理相关事宜。
目前已知的符合这种设计的游戏引擎是。采用该引擎的项目,基本上能够原生支持上述要求。
以下是更详细的描述:在强化学习训练中,作为环境一部分的游戏服务器,会同时启动大量的单局同时训练,数量可达 1000 局以上。并且它能够支持不同的纬度,以便更好地适配 AI 训练。
监督学习的训练较为简单。主要需借助游戏服务器,将单局中用户的输入以及状态的改变,都保存为记录(录像),以此供监督学习平台进行训练。常见的一个问题是,传统服务器中并未包含全量的状态,例如在 fps 游戏里玩家摄像机的朝向,这会对训练效果产生影响。
上线后的阶段和AI在线决策服是一样的。
页:
[1]