CN109857567B - 一种ai状态信息的同步方法和装置 - Google Patents

一种ai状态信息的同步方法和装置 Download PDF

Info

Publication number
CN109857567B
CN109857567B CN201910093620.7A CN201910093620A CN109857567B CN 109857567 B CN109857567 B CN 109857567B CN 201910093620 A CN201910093620 A CN 201910093620A CN 109857567 B CN109857567 B CN 109857567B
Authority
CN
China
Prior art keywords
client
preset
information
proxy
agent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910093620.7A
Other languages
English (en)
Other versions
CN109857567A (zh
Inventor
尚乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201910093620.7A priority Critical patent/CN109857567B/zh
Publication of CN109857567A publication Critical patent/CN109857567A/zh
Application granted granted Critical
Publication of CN109857567B publication Critical patent/CN109857567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种AI状态信息的同步方法及装置,应用于服务器,通过获取针对预设AI的第一行为指令,从预设客户端中确定代理客户端,并将第一行为指令发送至代理客户端,以使代理客户端响应第一行为指令驱动预设AI执行相应的行为,接收代理客户端发送的同步信息,其中,同步信息包含预设AI的状态信息,将同步信息同步于除代理客户端之外的其他预设客户端,通过服务器对AI的行为进行决策,并选择代理服务器以使代理客户端响应相应的行为指令并驱动AI执行相应的行为,并同步到其他客户端,从而实现了将AI物理运动同步到不同的客户端,减少了服务器的开销,并保证了各个客户端AI的行为状态的一致性。

Description

一种AI状态信息的同步方法和装置
技术领域
本发明涉及游戏技术领域,特别是涉及一种AI状态信息的同步方法和一种AI状态信息的同步装置。
背景技术
物理系统是3D游戏设计中重要的一环,简单说就是创建一种虚拟环境模拟真实物理世界的规律,在这个虚拟环境中的物体,具有质量、体积、密度,速度、加速度、摩擦系数、弹性系数等自然世界中场景的物理属性,物体之间碰撞产生的相互作用和施加到它们身上的重力等,物理系统都可以在虚拟环境内模拟牛顿物理学并处理这些力的相互作用,物理系统可以让游戏的表现更加真实,着实给游戏填色不少。
AI(Artificial Intelligence,人工智能)在游戏开发中特指具有一定思维和决策功能的非玩家控制的机器人(Non-Player Character,NPC),通过引入AI能够让游戏更富交互性和挑战性,好的AI使游戏变得更加逼真更加接近现实。当前在3D游戏中AI行为动作状态的同步包括以下3种方式:
1、服务器模拟物理。所有的AI行为动作状态决策等都在服务器计算,服务器要模拟真实物理系统就必须实现一套和客户端一致的物理引擎,每帧根据逻辑玩法和物理模拟计算AI的位置朝向动作表现等并广播同步到所有客户端。
2、客户端模拟物理。AI表现都是在各个客户端独立模拟计算,服务器只需要发送表现指令,例如移动到某个坐标、跳跃、转向等,服务器没有模拟中间过程,是离散的状态,中间过程交给每个客户端独立模拟表现。
3、纯客户端运行AI。所有AI的行为和决策都在客户端计算,各个客户端运行相同的AI决策逻辑并独立表现,服务器不需要参与AI决策,该方案适合单机游戏,对于联机游戏很少采用。
然而,上述AI行为动作状态的同步方式均存在缺陷,仅仅通过服务器模拟物理会增加服务端CPU开销,给服务器性能带来一定压力,同时会耦合很多客户端模型、表现、状态、动作等逻辑,扩展性不高,在弱网情况下客户端表现容易出现卡顿,而仅仅通过客户端模拟物理则会出现一致性问题,由于是各个客户端独立模拟,客户端和服务器之间以及不同客户端之间也会出现同步不一致,当出现滚雪球时,这种差异会越来越大,最终会导致各种表现异常。对于纯客户端AI虽然表现上比较流畅,但容易有外挂,而且服务器没有记录AI状态,对于顶号和重新登陆的情况不易恢复现场。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种AI状态信息的同步方法和相应的一种AI状态信息的同步装置。
为了解决上述问题,本发明实施例公开了一种AI状态信息的同步方法,应用于服务器,所述方法包括:
获取针对预设AI的第一行为指令;
从预设客户端中确定代理客户端,并将所述第一行为指令发送至所述代理客户端,以使所述代理客户端响应所述第一行为指令驱动所述预设AI执行相应的行为;
接收所述代理客户端发送的同步信息,其中,所述同步信息包含所述预设AI的状态信息;
将所述同步信息同步于除所述代理客户端之外的其他所述预设客户端。
优选地,所述从预设客户端中确定代理客户端,包括:
判断所述预设AI的交互区域内是否存在玩家;
当所述预设AI交互区域内存在所述玩家时,获取与所述玩家的客户端的配置信息,所述配置信息包括与所述客户端适配的用户终端的硬件信息以及所述客户端的代理信息,所述代理信息包括所述客户端代理的所述预设AI数量;
采用所述硬件信息以及所述代理信息,确定所述代理客户端。
优选地,所述方法还包括:
当所述预设AI交互区域内不存在所述玩家时,获取针对所述预设AI的第二行为指令,以使所述预设AI响应所述第二行为指令执行相应的行为。
优选地,所述将所述同步信息同步于除所述代理客户端之外的其他所述预设客户端,包括:
获取所述代理客户端的身份标识,所述身份标识为所述预设客户端代理所述预设AI的标识;
判断所述身份标识是否记录于所述服务器中;
当所述身份标识记录于所述服务器中时,将所述同步信息同步于适配所述预设AI的客户端。
优选地,所述方法还包括:
当所述身份标识未记录于所述服务器中时,丢弃所述同步信息,并取消所述代理客户端的代理权限。
优选地,所述方法还包括:
通过心跳机制校验所述代理客户端,当所述代理客户端无效时,取消所述代理客户端的代理权限。
优选地,所述将所述同步信息同步于除所述代理客户端之外的其他所述预设客户端,包括:
通过广播信息将所述同步信息发送至除所述代理客户端之外的其他所述预设客户端,以使其他所述预设客户端展示所述预设AI的行为。
本发明实施例公开了一种AI状态信息的同步装置,应用于服务器,所述装置包括:
第一指令获取模块,用于获取针对预设AI的第一行为指令;
客户端确定模块,用于从预设客户端中确定代理客户端,并将所述第一行为指令发送至所述代理客户端,以使所述代理客户端响应所述第一行为指令驱动所述预设AI执行相应的行为;
同步信息接收模块,用于接收所述代理客户端发送的同步信息,其中,所述同步信息包含所述预设AI的状态信息;
同步信息同步模块,用于将所述同步信息同步于除所述代理客户端之外的其他所述预设客户端。
本发明实施例公开了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如上所述的一个或多个的AI状态信息的同步方法。
本发明实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上所述的一个或多个的AI状态信息的同步方法。
本发明实施例包括以下优点:
在本发明实施例中,应用于服务器,通过获取针对预设AI的第一行为指令,从预设客户端中确定代理客户端,并将第一行为指令发送至代理客户端,以使代理客户端响应第一行为指令驱动预设AI执行相应的行为,接收代理客户端发送的同步信息,其中,同步信息包含预设AI的状态信息,将同步信息同步于除代理客户端之外的其他预设客户端,通过服务器对AI的行为进行决策,并选择代理服务器以使代理客户端响应相应的行为指令并驱动AI执行相应的行为,并同步到其他客户端,从而实现了将AI物理运动同步到不同的客户端,减少了服务器的开销,并保证了各个客户端AI的行为状态的一致性。
并且,服务器可以根据客户端配置信息和代理信息实时动态调控代理客户端,提高服务器选择代理客户端的灵活性和合理性。此外,当进行AI行为状态的同步时,通过服务器对代理客户端的合法性进行判断,可以有效地防止外挂行为。
附图说明
图1是本发明的一种AI状态信息的同步方法一实施例的步骤流程图;
图2是本发明的一种AI状态信息的同步方法另一实施例的步骤流程图;
图3是本发明的一种AI状态信息的同步装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种AI状态信息的同步方法一实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取针对预设AI的第一行为指令;
在游戏开发中,AI可以是具有一定思维和决策功能的非玩家控制的机器人(Non-Player Character,NPC),通过这些拥有丰富的行为和思维的AI,可以是的玩家在游戏体验中能充分感受到游戏乐趣。例如,在服务器中,可以存储用于决策AI的行为树,在行为树中记录AI的各种行为指令,如AI何时该往何处移动,执行什么行为等等。在游戏场景中,AI与玩家之间的交互均可以通过AI行为决策树完成。其中,每次执行AI时,服务器可以从根节点遍历整个行为树,父节点执行子节点,子节点执行完后将结果返回父节点,然后父节点根据子节点的结果来决定接下来怎么做。
在本发明实施例中,第一行为指令为由物理引擎驱动的连续的行为指令,如移动、跳跃、追击玩家以及攻击玩家等行为指令。由于服务器中存储了一整套复杂的行为树以决策AI的行为,则可以获取预设的针对游戏场景中的AI的第一行为指令,以使AI执行相应的行为。
步骤102,从预设客户端中确定代理客户端,并将第一行为指令发送至代理客户端,以使代理客户端响应第一行为指令驱动预设AI执行相应的行为;
在具体实现中,游戏用户(本发明实施例中称为玩家)为了参与游戏,可以注册游戏账户,并在游戏客户端进行登录,从而可以参与到其注册的游戏中。其中,游戏客户端可以为手机游戏客户端,也可以为网络游戏客户端,还可以是网页游戏在线页面等。
在本发明实施例中,玩家需要通过用户终端中的软件应用(即游戏客户端)进入游戏,其中,一个用户终端可以包括多个不同的游戏客户端,如一个用户终端中可以包括MMORPG类的游戏客户端、MOBA(Multiplayer Online Battle Arena,多人在线战术竞技游戏)类的游戏客户端以及RTS(Real-Time Strategy Game,即时战略游戏)类的游戏客户端等,为了方便理解以及说明,本发明实施例以MMORPG类游戏进行示例性说明,本发明的原理也可以适用于其他游戏客户端,本发明实施例对此不作限制。
需要说明的是,本发明实施例可以应用在各种用户终端中,例如,移动终端、平板电脑、个人数字助理等等。该用户终端的操作系统可以包括Android(安卓)、IOS、WindowsPhone、Windows等等,通常可以支持运行游戏客户端。
在本发明实施例中,多个玩家同时登录游戏客户端进入游戏,服务器可以与多个客户端进行数据的交互,并从客户端中确定代理客户端,接着将针对AI的第一行为指令发送至代理客户端,由代理客户端调用物理引擎响应第一行为指令,并驱动游戏场景中的AI执行相应的行为。
在具体实现中,服务器确定代理客户端后,可以增加心跳机制定时校验代理客户端,当发现代理客户端无效时,则取消代理客户端的代理权限,并重新确定新的代理客户端,从而保证代理客户端的有效性,避免了当代理客户端失效时,AI不执行相应的行为指令的问题,进而保证了当AI的交互区域内存在玩家时,代理客户端驱动AI执行行为指令,使游戏的表现更加真实,用户体验更佳。
并且,当客户端被切入后台或退出时,可以主动发起取消代理请求,服务器接收到代理请求后,可以重新从其他客户端中选择新的代理客户端,进一步保证了代理客户端的有效性。
在本发明实施例的一种优选实施例中,步骤102可以包括如下子步骤:
子步骤S11,判断预设AI的交互区域内是否存在玩家;
在本发明实施例中,玩家在用户终端通过游戏帐号登录游戏客户端进入游戏场景后,可以与游戏场景中的AI进行交互,其中,玩家可以控制游戏中的虚拟角色在游戏场景中进行移动,随着虚拟角色的移动,玩家视野也在变化,在一些视野中可能出现至少一个AI,AI可以与玩家进行交互,而随着玩家的移动,AI也会从玩家的视野中消失,则游戏场景中的AI周围不存在任何玩家。
在本发明实施例中,在游戏场景中,每一个预设AI均设置了一个交互区域,在该交互区域中,AI可以主动与在交互区域内的玩家进行游戏交互,其中,交互区域可以是以AI为圆心,半径为预设数值的圆形区域,并且,AI在移动过程中,该交互区域也随着AI的移动而进行移动。本领域技术人员很容易想到,上述交互区域还可以是包含AI在其中的其他形状的区域。
在具体实现中,服务器可以通过AI对交互区域内是否存在玩家进行监听,当AI的交互区域内不存在玩家时,AI可以向服务器发送第一请求,以获取对应的第二行为指令,并响应该第二行为指令执行相应的行为;当AI的交互区域存在玩家时,AI向服务器发送第二请求,则服务器根据AI发送的第二请求,获取玩家的客户端的配置信息,其中,配置信息包括与客户端适配的用户终端的硬件信息,以及客户端的代理信息,代理信息为该客户端已经代理的预设AI数量。
其中,第二行为指令为服务器为AI设置的当前状态指令,可以包括移动指令、攻击指令等。
在本发明实施例的一种示例中,在游戏场景一中,第一AI的交互区域中不存在玩家,AI可以向服务器发送第一请求以告知服务器当前的交互区域中不存在玩家,即没有任何玩家看到第一AI,则服务器可以直接设置第二行为指令,并将该第二行为指令发送给第一AI,由第一AI响应第二行为指令并执行对应的行为,其中,第二行为指令可以为移动指令,如从P1点移动到P2点,由于当前第一AI的交互区域内不存在玩家,此时第一AI的可以表现为直接从P1点移动到P2点,没有中间的移动过程(当AI的交互区域存在玩家时,则AI从P1点移动到P2点为一连续的过程,即玩家在视野中可以见到AI的移动过程);第二行为指令可以为攻击指令,在一些场景中,玩家可以发起对AI的攻击,使得AI的血量下降或者处于某种状态(如冻结、燃烧、麻痹等),第一AI接收到攻击指令时,可以直接处于血量下降、冻结状态、燃烧状态等,没有被射击、被攻击等中间过程。
子步骤S12,采用硬件信息以及代理信息,确定代理客户端。
在本发明实施例中,服务器为一个AI选择代理客户端的过程包括三次握手的过程:(1)服务器发送请求让客户端(如client1)代理AI(如NPC1);(2)client1收到请求后确认代理NPC1并答复服务器;(3)服务器收到client1的确认后记录NPC1的代理客户端为client1。服务器通过TCP握手协议为AI选择代理客户端,并记录每个AI当前是否存在代理客户端,以及代理客户端的代理信息。当AI当前不存在代理客户端时,可以根据AI的交互区域中玩家的客户端的配置信息,确定合适的代理客户端;当AI当前已经存在代理客户端时,则代理客户端直接调用物理引擎,驱动游戏场景中的AI执行相应的行为。
在本发明实施例中,服务器可以从AI交互区域内的预设客户端中,根据客户端对应的用户终端的硬件信息,以及客户端的代理信息,确定代理客户端。
在具体实现中,服务器可以根据CPU、GPU、运行内存以及磁盘内存等至少一项硬件信息的性能,对用户终端进行分级,性能越高等级越高,用户终端的等级越高可以代理越多的AI。当AI的交互区域存在玩家时,AI向服务器发送第二请求,则服务器根据AI发送的第二请求,获取交互区域内玩家的客户端的配置信息,从而确定各个玩家对应的用户终端的硬件信息,以及客户端当前的代理信息,然后可以根据用户终端的硬件信息和客户端的代理信息确定合适的代理客户端,具体的,选择硬件信息等级高的用户终端作为代理客户端,当硬件信息等级相同时,选择代理AI数量少的客户端对应的用户终端作为代理客户端。
在本发明实施例的另一种示例中,在游戏场景二中,第二AI的交互区域中存在玩家,若此时AI已经存在代理客户端,则代理客户端直接调用物理引擎,驱动游戏场景中的AI执行相应的行为,若此时AI还没有代理客户端,则服务器可以根据当前AI的交互区域内玩家的客户端的配置信息,确定代理客户端,具体的,假设AI当前的交互区域内包括3个玩家,玩家1对应用户终端1,玩家2对应用户终端2,玩家3对应用户终端3,其中,用户终端1和用户终端2的硬件信息相同,用户终端3的硬件信息等级低于用户终端1和用户终端2,并且,用户终端1当前代理了1个AI,用户终端2当前代理了2个AI,则根据3个玩家的客户端的配置信息,可以确定第二AI的代理客户端为玩家1的用户终端。
步骤103,接收代理客户端发送的同步信息;
在本发明实施例中,当客户端被确定为代理客户端后,可以在客户端中加载物理引擎,并调用物理引擎,响应服务器发送的第一行为指令,驱动游戏场景中的AI执行相应的行为,并生成AI的状态信息,其中,状态信息为AI的行为信息,如移动、跳跃、攻击、追击等,还可以为AI的血量或异常状态信息,如血量下降、冻结状态、燃烧状态等等。
在具体实现中,代理客户端响应第一行为指令,并驱动游戏场景中的AI执行相应的行为后,可以生成同步信息,并将同步信息发送至服务器。
步骤104,将同步信息同步于除代理客户端之外的其他预设客户端。
在本发明实施例中,当服务器接收到代理客户端发送的同步信息后,可以将同步信息同步于AI交互区域内的其他客户端,从而将AI的状态信息同步到对应客户端中。
在具体实现中,代理客户端将AI的状态信息发送至服务器,服务器可以将AI的状态信息同步于在AI交互区域内的其他客户端,其他客户端根据AI的状态信息加载游戏场景中的模型,并驱动模型执行相应的表现。
在本发明实施例的一种优选实施例中,步骤104可以包括如下子步骤:
子步骤S21,获取代理客户端的身份标识;
在具体实现中,服务器从AI的交互区域内的玩家对应的客户端中,确定代理客户端后,可以为代理客户端分配一个身份标识,并将该身份标识记录在服务器中,记录在服务器中的代理客户端,均为合法代理客户端,其中,身份标识为代理客户端代理了相应AI的标识。
子步骤S22,判断身份标识是否记录于服务器中;
在具体实现中,服务器接收到代理客户端发送的同步信息后,首先对代理客户端的身份标识进行识别,当身份标识记录于服务器中时,表明该代理客户端为合法代理客户端,服务器将同步信息同步于适配预设AI的客户端中,以使其他客户端根据AI的状态信息加载游戏场景中的模型,并驱动模型执行相应的表现;当身份标识未记录于服务器中时,表明该代理客户端为非法代理客户端,服务器将同步信息丢弃,并取消该代理客户端的代理权限,然后重新确定代理客户端。当服务器接收到同步信息后,通过对发送同步信息的代理客户端的身份标识进行识别,可以有效地防止外挂行为,提高了游戏的公平性。
需要说明的是,在本发明实施例中,以驱动AI执行相应的行为后,再生成同步信息,然后服务器进行同步为例进行示例性说明,可以理解的是,在实际中,网络游戏实时性较强,上述过程中,代理客户端在驱动AI执行相应的行为的同时,也将同步信息发送至服务器,由服务器将同步信息同步于在AI交互区域的其他客户端。
在本发明实施例中,应用于服务器,通过获取针对预设AI的第一行为指令,从预设客户端中确定代理客户端,并将第一行为指令发送至代理客户端,以使代理客户端响应第一行为指令驱动预设AI执行相应的行为,接收代理客户端发送的同步信息,其中,同步信息包含预设AI的状态信息,将同步信息同步于除代理客户端之外的其他预设客户端,通过服务器对AI的行为进行决策,并选择代理服务器以使代理客户端响应相应的行为指令并驱动AI执行相应的行为,并同步到其他客户端,从而实现了将AI物理运动同步到不同的客户端,减少了服务器的开销,并保证了各个客户端AI的行为状态的一致性。
并且,服务器可以根据客户端配置信息和代理信息实时动态调控代理客户端,提高服务器选择代理客户端的灵活性和合理性。此外,当进行AI行为状态的同步时,通过服务器对代理客户端的合法性进行判断,可以有效地防止外挂行为。
参照图2,示出了本发明的一种AI状态信息的同步方法另一实施例的步骤流程图,具体可以包括如下步骤:
步骤201,获取针对预设AI的第一行为指令;
在具体实现中,服务器获取预设的针对游戏场景中的AI的第一行为指令,以使AI执行相应的行为。
步骤202,从预设客户端中确定代理客户端,并将第一行为指令发送至代理客户端,以使代理客户端响应第一行为指令驱动预设AI执行相应的行为;
在本发明实施例中,多个玩家同时登录游戏客户端进入游戏,服务器可以与多个客户端进行数据的交互,并从客户端中确定代理客户端,接着将针对AI的第一行为指令发送至代理客户端,由代理客户端调用物理引擎响应第一行为指令,并驱动游戏场景中的AI执行相应的行为。
在本发明实施例的一种优选实施例中,步骤202可以包括如下子步骤:
子步骤S31,判断预设AI的交互区域内是否存在玩家;
在具体实现中,服务器可以通过AI对交互区域内是否存在玩家进行监听,当AI的交互区域内不存在玩家时,AI可以向服务器发送第一请求,以获取对应的第二行为指令,并响应该第二行为指令执行相应的行为;当AI的交互区域存在玩家时,AI向服务器发送第二请求,则服务器根据AI发送的第二请求,获取玩家的客户端的配置信息。
子步骤S32,采用硬件信息以及代理信息,确定代理客户端。
在具体实现中,当AI的交互区域存在玩家时,AI向服务器发送第二请求,则服务器根据AI发送的第二请求,获取交互区域内玩家的客户端的配置信息,从而确定各个玩家对应的用户终端的硬件信息,以及客户端当前的代理信息,然后可以根据用户终端的硬件信息和客户端的代理信息确定合适的代理客户端。
步骤203,接收代理客户端发送的同步信息;
在具体实现中,代理客户端响应第一行为指令,并驱动游戏场景中的AI执行相应的行为后,可以生成同步信息,并将同步信息发送至服务器。
步骤204,将同步信息同步于除代理客户端之外的其他预设客户端。
在具体实现中,代理客户端将AI的状态信息发送至服务器,服务器可以将AI的状态信息同步于在AI交互区域内的其他客户端,其他客户端根据AI的状态信息加载游戏场景中的模型,并驱动模型执行相应的表现。
在本发明实施例的一种优选实施例中,步骤204可以包括如下子步骤:
子步骤S41,获取代理客户端的身份标识;
在具体实现中,服务器从AI的交互区域内的玩家对应的客户端中,确定代理客户端后,可以为代理客户端分配一个身份标识,并将该身份标识记录在服务器中,记录在服务器中的代理客户端,均为合法代理客户端,其中,身份标识为代理客户端代理了相应AI的标识。
子步骤S42,判断身份标识是否记录于服务器中;
在具体实现中,服务器接收到代理客户端发送的同步信息后,首先对代理客户端的身份标识进行识别,当身份标识记录于服务器中时,表明该代理客户端为合法代理客户端;当身份标识为记录于服务器中时,表明该代理客户端为非法代理客户端,服务器将同步信息丢弃,并取消该代理客户端的代理权限,然后重新确定代理客户端。
子步骤S43,通过广播信息将同步信息发送至除代理客户端之外的其他预设客户端,以使其他预设客户端展示预设AI的行为。
在具体实现中,当服务器确定发送同步信息的代理客户端为合法客户端后,可以通过广播信息将同步信息发送至除代理客户端之外,AI交互区域内的其他客户端,以使其他客户端根据AI的状态信息加载游戏场景中的模型,并驱动模型执行相应的表现。
在本发明实施例中,应用于服务器,通过获取针对预设AI的第一行为指令,从预设客户端中确定代理客户端,并将第一行为指令发送至代理客户端,以使代理客户端响应第一行为指令驱动预设AI执行相应的行为,接收代理客户端发送的同步信息,其中,同步信息包含预设AI的状态信息,将同步信息同步于除代理客户端之外的其他预设客户端,通过服务器对AI的行为进行决策,并选择代理服务器以使代理客户端响应相应的行为指令并驱动AI执行相应的行为,并同步到其他客户端,从而实现了将AI物理运动同步到不同的客户端,减少了服务器的开销,并保证了各个客户端AI的行为状态的一致性。
并且,服务器可以根据客户端配置信息和代理信息实时动态调控代理客户端,提高服务器选择代理客户端的灵活性和合理性。此外,当进行AI行为状态的同步时,通过服务器对代理客户端的合法性进行判断,可以有效地防止外挂行为。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明的一种AI状态信息的同步装置实施例的结构框图,应用于服务器,具体可以包括如下模块:
第一指令获取模块301,用于获取针对预设AI的第一行为指令;
客户端确定模块302,用于从预设客户端中确定代理客户端,并将所述第一行为指令发送至所述代理客户端,以使所述代理客户端响应所述第一行为指令驱动所述预设AI执行相应的行为;
同步信息接收模块303,用于接收所述代理客户端发送的同步信息,其中,所述同步信息包含所述预设AI的状态信息;
同步信息同步模块304,用于将所述同步信息同步于除所述代理客户端之外的其他所述预设客户端。
在本发明实施例的一种优选实施例中,所述客户端确定模块可以包括:
第一判断子模块,用于判断所述预设AI的交互区域内是否存在玩家,所述交互区域可以为以所述预设AI为圆心,半径为预设数值的圆形区域;
客户端信息获取子模块,用于当所述预设AI交互区域内存在所述玩家时,获取与所述玩家的客户端的配置信息,所述配置信息包括与所述客户端适配的用户终端的硬件信息以及所述客户端的代理信息,所述代理信息包括所述客户端代理的所述预设AI数量;
客户端确定子模块,用于采用所述硬件信息以及所述代理信息,确定所述代理客户端。
在本发明实施例的一种优选实施例中,所述装置还可以包括:
第二指令执行模块,用于当所述预设AI交互区域内不存在所述玩家时,获取针对所述预设AI的第二行为指令,以使所述预设AI响应所述第二行为指令执行相应的行为。
在本发明实施例的一种优选实施例中,所述同步信息同步模块可以包括:
身份标识获取子模块,用于获取所述代理客户端的身份标识,所述身份标识为所述预设客户端代理所述预设AI的标识;
第二判断子模块,用于判断所述身份标识是否记录于所述服务器中;
同步信息同步子模块,用于当所述身份标识记录于所述服务器中时,将所述同步信息同步于适配所述预设AI的客户端。
在本发明实施例的一种优选实施例中,所述同步信息同步模块还可以包括:
同步信息丢弃子模块,用于当所述身份标识未记录于所述服务器中时,丢弃所述同步信息,并取消所述代理客户端的代理权限。
在本发明实施例的一种优选实施例中,所述装置还可以包括:
心跳检验模块,用于通过心跳机制校验所述代理客户端,当所述代理客户端无效时,取消所述代理客户端的代理权限。
在本发明实施例的一种优选实施例中,所述同步信息同步模块还可以包括:
广播信息同步子模块,用于通过广播信息将所述同步信息发送至除所述代理客户端之外的其他所述预设客户端,以使其他所述预设客户端展示所述预设AI的行为。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种装置,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行本发明实施例所述的方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种AI状态信息的同步方法和一种AI状态信息的同步装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种AI状态信息的同步方法,其特征在于,应用于服务器,所述方法包括:
获取针对预设AI的第一行为指令;
从预设客户端中确定代理客户端,并将所述第一行为指令发送至所述代理客户端,以使所述代理客户端响应所述第一行为指令驱动所述预设AI执行相应的行为;
接收所述代理客户端发送的同步信息,其中,所述同步信息包含所述预设AI的状态信息;
将所述同步信息同步于除所述代理客户端之外的其他所述预设客户端;
其中,所述从预设客户端中确定代理客户端,包括:
判断所述预设AI的交互区域内是否存在玩家;
当所述预设AI交互区域内存在所述玩家时,获取与所述玩家的客户端的配置信息,所述配置信息包括与所述客户端适配的用户终端的硬件信息以及所述客户端的代理信息,所述代理信息包括所述客户端代理的所述预设AI数量;
采用所述硬件信息以及所述代理信息,确定所述代理客户端。
2.根据权利要求1所述的方法,其特征在于,还包括:
当所述预设AI交互区域内不存在所述玩家时,获取针对所述预设AI的第二行为指令,以使所述预设AI响应所述第二行为指令执行相应的行为。
3.根据权利要求1所述的方法,其特征在于,所述将所述同步信息同步于除所述代理客户端之外的其他所述预设客户端,包括:
获取所述代理客户端的身份标识,所述身份标识为所述预设客户端代理所述预设AI的标识;
判断所述身份标识是否记录于所述服务器中;
当所述身份标识记录于所述服务器中时,将所述同步信息同步于适配所述预设AI的客户端。
4.根据权利要求3所述的方法,其特征在于,还包括:
当所述身份标识未记录于所述服务器中时,丢弃所述同步信息,并取消所述代理客户端的代理权限。
5.根据权利要求1所述的方法,其特征在于,还包括:
通过心跳机制校验所述代理客户端,当所述代理客户端无效时,取消所述代理客户端的代理权限。
6.根据权利要求1所述的方法,其特征在于,所述将所述同步信息同步于除所述代理客户端之外的其他所述预设客户端,包括:
通过广播信息将所述同步信息发送至除所述代理客户端之外的其他所述预设客户端,以使其他所述预设客户端展示所述预设AI的行为。
7.一种AI状态信息的同步装置,其特征在于,应用于服务器,所述装置包括:
第一指令获取模块,用于获取针对预设AI的第一行为指令;
客户端确定模块,用于从预设客户端中确定代理客户端,并将所述第一行为指令发送至所述代理客户端,以使所述代理客户端响应所述第一行为指令驱动所述预设AI执行相应的行为;
同步信息接收模块,用于接收所述代理客户端发送的同步信息,其中,所述同步信息包含所述预设AI的状态信息;
同步信息同步模块,用于将所述同步信息同步于除所述代理客户端之外的其他所述预设客户端;
其中,所述客户端确定模块可以包括:
第一判断子模块,用于判断所述预设AI的交互区域内是否存在玩家,所述交互区域可以为以所述预设AI为圆心,半径为预设数值的圆形区域;
客户端信息获取子模块,用于当所述预设AI交互区域内存在所述玩家时,获取与所述玩家的客户端的配置信息,所述配置信息包括与所述客户端适配的用户终端的硬件信息以及所述客户端的代理信息,所述代理信息包括所述客户端代理的所述预设AI数量;
客户端确定子模块,用于采用所述硬件信息以及所述代理信息,确定所述代理客户端。
8.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如权利要求1-6所述的一个或多个的方法。
9.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-6所述的一个或多个的方法。
CN201910093620.7A 2019-01-30 2019-01-30 一种ai状态信息的同步方法和装置 Active CN109857567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910093620.7A CN109857567B (zh) 2019-01-30 2019-01-30 一种ai状态信息的同步方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910093620.7A CN109857567B (zh) 2019-01-30 2019-01-30 一种ai状态信息的同步方法和装置

Publications (2)

Publication Number Publication Date
CN109857567A CN109857567A (zh) 2019-06-07
CN109857567B true CN109857567B (zh) 2021-02-09

Family

ID=66896941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910093620.7A Active CN109857567B (zh) 2019-01-30 2019-01-30 一种ai状态信息的同步方法和装置

Country Status (1)

Country Link
CN (1) CN109857567B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024103374A1 (zh) * 2022-11-18 2024-05-23 Oppo广东移动通信有限公司 用于代理订阅的处理方法、装置、计算机设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577715A (zh) * 2009-06-19 2009-11-11 腾讯科技(深圳)有限公司 一种同步网络游戏时间的方法及装置
US9452363B2 (en) * 2013-10-18 2016-09-27 Sony Interactive Entertainment America Llc Multi-player video game environment for single-player use
CN105704166B (zh) * 2016-04-27 2019-12-31 网易(杭州)网络有限公司 机器人系统及其实现方法、客户端、服务器以及游戏系统
KR101845616B1 (ko) * 2016-08-03 2018-04-04 양원준 다중 온라인 게임 서버 및 그 다중 온라인 게임 서비스 제공 방법
CN107890674A (zh) * 2017-11-13 2018-04-10 杭州电魂网络科技股份有限公司 Ai行为调用方法和装置

Also Published As

Publication number Publication date
CN109857567A (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
US11484802B2 (en) Interactive gameplay playback system
CN111744201B (zh) 视频游戏中的自动玩家控制接管
CN112169339B (zh) 用于在视频游戏中模仿玩家玩游戏的定制的模型
US11724191B2 (en) Network-based video game editing and modification distribution system
US20150367238A1 (en) Game system, game apparatus, a method of controlling the same, a program, and a storage medium
US20160279511A1 (en) Multi-user game system with trigger-based generation of projection view
WO2011062662A1 (en) Synchronizing mission progress in peer-to-peer cooperative games
WO2022184128A1 (zh) 虚拟对象的技能释放方法、装置、设备及存储介质
JP6363946B2 (ja) ゲーム処理システム、およびゲーム処理方法
US20180165914A1 (en) Method and system for facilitating the transfer of game or virtual reality state information
US20220409998A1 (en) Request distribution system
CN109857567B (zh) 一种ai状态信息的同步方法和装置
CN114288639A (zh) 画面显示方法、提供方法、装置、设备及存储介质
US10232271B2 (en) Systems and methods for regulating access to game content of an online game
CN112206510B (zh) 一种虚拟对象的运动控制方法及装置
KR20140128538A (ko) 가상 플레이어 캐릭터를 이용한 협업플레이 지원방법
KR20130143163A (ko) 온라인 게임에서의 스킬 판정방법 및 시스템
CN113368493B (zh) 虚拟场景的流量处理方法、装置、电子设备及存储介质
JP7386020B2 (ja) プログラム、サーバ装置、ゲームシステム及びゲーム装置
Malm et al. Development of a real-time multiplayer gamefor the computer tablet
Bondarenko The influence of latency on short-and long-range player interactions in a virtual environment
CN117085316A (zh) 虚拟角色的控制方法和装置、存储介质及电子设备
JP6173286B2 (ja) オンラインゲームシステム、バトルサーバ装置、及びプログラム
JP5620545B2 (ja) オンラインゲームシステム、バトルサーバ装置、及びプログラム
CN117654039A (zh) 基于可拾取道具的交互方法、装置、设备、介质及产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant