CN111228818A - 通信交互方法、装置、存储介质、处理器及电子装置 - Google Patents
通信交互方法、装置、存储介质、处理器及电子装置 Download PDFInfo
- Publication number
- CN111228818A CN111228818A CN202010018581.7A CN202010018581A CN111228818A CN 111228818 A CN111228818 A CN 111228818A CN 202010018581 A CN202010018581 A CN 202010018581A CN 111228818 A CN111228818 A CN 111228818A
- Authority
- CN
- China
- Prior art keywords
- action
- request message
- information
- executed
- information set
- 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.)
- Granted
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种通信交互方法、装置、存储介质、处理器及电子装置。该方法包括:基于预设通信协议向服务端发送请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;接收来自于服务端的与请求消息对应的响应消息,其中,响应消息中携带的信息包括:服务端在动作信息集合执行完毕之后采集到的状态信息。本发明解决了相关技术所提供的强化学习训练***的通信过程较为繁琐,操作复杂度较高的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种通信交互方法、装置、存储介质、处理器及电子装置。
背景技术
强化学习,又称增强学习,是一种广泛应用于人工智能(ArtificialIntelligence,简称为AI)控制虚拟角色的行为训练的技术。简而言之,即为一种根据环境反馈通过不断试错来迭代行为策略的学习方式,由状态、动作、反馈三个元素构成。图1是根据相关技术的强化学习训练***的通信过程示意图,如图1所示,强化学习训练***可以包含“模型训练→动作决策→模型与应用场景通信→场景动作执行→应用场景与模型通信”这样一个不断循环迭代的过程。这五个步骤的执行效率将会直接决定强化学习训练的效率。
以即时类游戏为例,即时类游戏是相对于回合制游戏而言的一类游戏,其主要特点在于:无论游戏玩家或者AI控制的虚拟游戏角色是否进行操作,游戏进度都会向前推进。相关技术中针对即时类游戏进行强化学习训练的方式通常分为以下两种:
方式一、以训练环境作为服务端,以游戏环境(即上述应用场景)作为客户端,在游戏环境每执行固定帧数之后,首先主动向训练环境发送状态信息,其次训练环境向游戏环境返回动作决策,然后游戏环境再依据动作决策执行动作;重复上述流程。
然而,此种方式的明显缺陷在于:采用以游戏环境控制训练进度的方式,首先,从逻辑角度而言存在不合理之处,即任务需要完成强化学习的训练,而控制训练进度的位置并非位于训练环境而是位于游戏环境中;然后,强化学习训练目前的性能瓶颈通常在模型训练而并非游戏执行上,这意味着如果在游戏环境上控制加速通信频率从而加速训练,则训练环境可能会出现训练速度难以匹配通信频率,进而导致整个***运转失常。
方式二、以游戏环境为服务端,以训练环境为客户端,首先训练环境可以向游戏环境发送“查看当前状态”的请求,其次游戏环境将当前游戏状态返回至训练环境,然后训练环境还可以向游戏环境发送“执行指定动作”的请求,最后游戏环境执行指定动作;重复上述流程,并在此期间游戏持续进行。
然而,此种方式的明显缺陷在于:采用以训练环境控制训练进度的方式,其控制精确性较差。在通信过程中,游戏环境一直保持自主运行;而游戏通常是按照以帧为单位的方式运行,即使训练环境能够准确地定时向游戏环境发送请求,但是游戏的执行间隔可能会受到网络的波动、游戏自身帧率波动等多种不良状况影响进而缺乏稳定性,从而影响训练效果。除此之外,该方式中的强化学习模型为完成样本数据收集需要至少发送两次请求,由此不仅增加***的操作复杂程度,而且还会减少***的并发负载量。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明至少部分实施例提供了一种通信交互方法、装置、存储介质、处理器及电子装置,以至少解决相关技术所提供的强化学习训练***的通信过程较为繁琐,操作复杂度较高的技术问题。
根据本发明其中一实施例,提供了一种通信交互方法,包括:
基于预设通信协议向服务端发送请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;接收来自于服务端的与请求消息对应的响应消息,其中,响应消息中携带的信息包括:服务端在动作信息集合执行完毕之后采集到的状态信息。
可选地,请求消息中携带的信息还包括:进度指示信息,其中,进度指示信息用于指示服务端将应用场景进度从第一时刻推进至第二时刻,并在第二时刻采集状态信息,第一时刻早于第二时刻。
可选地,在向服务端发送请求消息之前,还包括:将动作信息集合封装至请求消息,其中,动作信息集合包括:多个控制对象以及多个控制对象中每个控制对象待执行的动作。
根据本发明其中一实施例,提供了另一种通信交互方法,包括:
接收客户端基于预设通信协议发送的请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;按照动作信息集合执行对应的动作,并在动作信息集合执行完毕之后采集状态信息;向客户端返回与请求消息对应的响应消息,其中,响应消息中携带的信息包括:状态信息。
可选地,按照动作信息集合执行对应的动作包括:从动作信息集合中解析出多个控制对象以及多个控制对象中每个控制对象待执行的动作;分别控制多个控制对象中每个控制对象执行对应的动作。
可选地,请求消息中携带的信息还包括:进度指示信息,在动作信息集合执行完毕之后采集状态信息包括:在动作信息集合执行完毕之后,按照进度指示信息将服务端本地的应用场景进度从第一时刻推进至第二时刻;在第二时刻采集状态信息。
可选地,服务端本地的应用场景在按照动作信息集合执行对应的动作的时间段内处于运行状态,在在按照动作信息集合执行对应的动作之外的其余时间段内处于暂停状态。
根据本发明其中一实施例,还提供了一种通信交互装置,包括:
发送模块,用于基于预设通信协议向服务端发送请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;接收模块,用于接收来自于服务端的与请求消息对应的响应消息,其中,响应消息中携带的信息包括:服务端在动作信息集合执行完毕之后采集到的状态信息。
可选地,请求消息中携带的信息还包括:进度指示信息,其中,进度指示信息用于指示服务端将应用场景进度从第一时刻推进至第二时刻,并在第二时刻采集状态信息,第一时刻早于第二时刻。
可选地,上述装置还包括:处理模块,用于将动作信息集合封装至请求消息,其中,动作信息集合包括:多个控制对象以及多个控制对象中每个控制对象待执行的动作。
根据本发明其中一实施例,还提供了另一种通信交互装置,包括:
接收模块,用于接收客户端基于预设通信协议发送的请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;处理模块,用于按照动作信息集合执行对应的动作,并在动作信息集合执行完毕之后采集状态信息;反馈模块,用于向客户端返回与请求消息对应的响应消息,其中,响应消息中携带的信息包括:状态信息。
可选地,处理模块包括:解析单元,用于从动作信息集合中解析出多个控制对象以及多个控制对象中每个控制对象待执行的动作;执行单元,用于分别控制多个控制对象中每个控制对象执行对应的动作。
可选地,请求消息中携带的信息还包括:进度指示信息,处理模块还包括:进度单元,用于在动作信息集合执行完毕之后,按照进度指示信息将服务端本地的应用场景进度从第一时刻推进至第二时刻;采集单元,用于在第二时刻采集状态信息。
可选地,服务端本地的应用场景在按照动作信息集合执行对应的动作的时间段内处于运行状态,在在按照动作信息集合执行对应的动作之外的其余时间段内处于暂停状态。
根据本发明其中一实施例,还提供了一种存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的通信交互方法或上述任一项中的另一种通信交互方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序被设置为运行时执行上述任一项中的通信交互方法或上述任一项中的另一种通信交互方法。
根据本发明其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的通信交互方法或上述任一项中的另一种通信交互方法。
在本发明至少部分实施例中,采用基于预设通信协议向服务端发送请求消息,该请求消息中携带的信息至少包括待执行的动作信息集合的方式,通过接收来自于服务端的与请求消息对应的响应消息来获取服务端在动作信息集合执行完毕之后采集到的状态信息,达到了由训练环境作为客户端负责驱动,应用场景作为服务端负责及时响应,简化训练步骤,加速训练过程的目的,从而实现了强化学习训练能够充分利用计算资源,简化训练环境与应用场景之间的通信流程,降低强化学习训练过程操作复杂度,训练效率较高、训练过程可控的技术效果,进而解决了相关技术所提供的强化学习训练***的通信过程较为繁琐,操作复杂度较高的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的强化学习训练***的通信过程示意图;
图2是根据本发明其中一实施例的通信交互方法的流程图;
图3是根据本发明其中一可选实施例的强化学习训练***的通信过程示意图;
图4是根据本发明其中一实施例的另一种通信交互方法的流程图;
图5是根据本发明其中一实施例的通信交互装置的结构框图;
图6是根据本发明其中一可选实施例的通信交互装置的结构框图;
图7是根据本发明其中一实施例的另一种通信交互装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明其中一实施例,提供了一种通信交互方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在强化学习训练***中执行。该强化学习训练***可以包括:通过预设通信交互方式,例如:超文本传输协议(HTTP)通信交互方式、远程过程调用(RPC)通信交互方式,将训练环境作为客户端,将应用场景作为服务端。客户端可以包括:移动终端、计算机终端或者类似的运算装置。以运行在移动终端上为例,移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)或可编程逻辑器件(FPGA)等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的通信交互方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的通信交互方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
显示设备可以例如触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
在本实施例中提供了一种运行于上述移动终端的通信交互方法。图2是根据本发明其中一实施例的通信交互方法的流程图,如图2所示,该方法包括如下步骤:
步骤S22,基于预设通信协议向服务端发送请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;
步骤S24,接收来自于服务端的与请求消息对应的响应消息,其中,响应消息中携带的信息包括:服务端在动作信息集合执行完毕之后采集到的状态信息。
通过上述步骤,可以采用基于预设通信协议向服务端发送请求消息,该请求消息中携带的信息至少包括待执行的动作信息集合的方式,通过接收来自于服务端的与请求消息对应的响应消息来获取服务端在动作信息集合执行完毕之后采集到的状态信息,达到了由训练环境作为客户端负责驱动,应用场景作为服务端负责及时响应,简化训练步骤,加速训练过程的目的,从而实现了强化学习训练能够充分利用计算资源,简化训练环境与应用场景之间的通信流程,降低强化学习训练过程操作复杂度,训练效率较高、训练过程可控的技术效果,进而解决了相关技术所提供的强化学习训练***的通信过程较为繁琐,操作复杂度较高的技术问题。
以应用场景是游戏场景为例,上述状态信息是指游戏场景中所有可见单位的属性信息,例如:属性信息可以包括:阵营、类型、当前生命值、最大生命值、物抗、魔抗、当前蓝量、最大蓝量、普攻频率、绝对位置、移动速度、装备、技能、增益或减益状态、回血、回蓝、暴击、冷却加速、攻击吸血、法术吸血、物理穿透、法术穿透、物理吸血等。
图3是根据本发明其中一可选实施例的强化学习训练***的通信过程示意图,如图3所示,将训练环境向应用场景传递动作信息的步骤,应用场景执行动作的步骤以及应用场景将场景状态反馈至训练环境的步骤简化为一步执行,完全由训练环境控制整个强化学习训练频率和训练进度,而且确保游戏时间间隔不存在浮动情况。
可选地,在步骤S22,向服务端发送请求消息之前,还可以包括以下执行步骤:
步骤S21,将动作信息集合封装至请求消息,其中,动作信息集合包括:多个控制对象以及多个控制对象中每个控制对象待执行的动作。
在一个可选实施例中,训练环境可以通过HTTP协议发送POST请求来传送动作信息。动作信息可以包含多个AI控制的虚拟游戏角色的动作,例如:{虚拟游戏角色1:动作b,虚拟游戏角色2:动作c,虚拟游戏角色3:动作a}这种形式便同时包含有三个AI控制的虚拟游戏角色的动作信息。
可选地,上述请求消息中携带的信息还可以包括:进度指示信息,其中,进度指示信息用于指示服务端将应用场景进度从第一时刻推进至第二时刻,并在第二时刻采集状态信息,第一时刻早于第二时刻。
上述POST请求还可以附带指示应用场景向前推进的进度指示信息,例如:推进帧数M或者其它指定时间单位。如果该POST请求中未附带上述进度指示信息,则应用场景默认接收一次POST请求便向前推进一帧。整个训练过程中不存在真实时间概念,训练环境只需决策出动作信息,便可立即发送至应用场景。应用场景在执行完动作并且推进指定虚拟时长之后,便可立即向训练环境反馈状态信息。通过采用全程连续执行的方式,有效地提升了训练效率,并且应用场景执行进度完全由训练环境控制,由此可以实现训练效率可控。
另外,应用场景本身除了在执行动作过程中处于运行状态之外,其余时段均处于暂停状态,不会主动执行任何动作,而完全由训练环境驱动。训练环境可以通过HTTP协议的POST请求方式向应用场景发送动作信息。应用场景在接收到动作信息之后,立刻在应用场景中执行该动作,并采集执行该动作后整个场景的状态信息,并通过RESPONSE方式将状态信息反馈至训练环境。整个过程是连续的,并由一次HTTP请求和响应来完成。
根据本发明其中一实施例,提供了另一种通信交互方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了另一种运行于上述服务端的通信交互方法。图4是根据本发明其中一实施例的另一种通信交互方法的流程图,如图4所示,该方法包括如下步骤:
步骤S42,接收客户端基于预设通信协议发送的请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;
步骤S44,按照动作信息集合执行对应的动作,并在动作信息集合执行完毕之后采集状态信息;
步骤S46,向客户端返回与请求消息对应的响应消息,其中,响应消息中携带的信息包括:状态信息。
采用接收客户端基于预设通信协议发送的请求消息,该请求消息中携带的信息至少包括:待执行的动作信息集合的方式,通过按照动作信息集合执行对应的动作并在动作信息集合执行完毕之后采集状态信息,以及向客户端返回与请求消息对应的响应消息,该响应消息中携带的信息包括状态信息,达到了由训练环境作为客户端负责驱动,应用场景作为服务端负责及时响应,简化训练步骤,加速训练过程的目的,从而实现了强化学习训练能够充分利用计算资源,简化训练环境与应用场景之间的通信流程,降低强化学习训练过程操作复杂度,训练效率较高、训练过程可控的技术效果,进而解决了相关技术所提供的强化学习训练***的通信过程较为繁琐,操作复杂度较高的技术问题。
以应用场景是游戏场景为例,上述状态信息是指游戏场景中所有可见单位的属性信息,例如:属性信息可以包括:阵营、类型、当前生命值、最大生命值、物抗、魔抗、当前蓝量、最大蓝量、普攻频率、绝对位置、移动速度、装备、技能、增益或减益状态、回血、回蓝、暴击、冷却加速、攻击吸血、法术吸血、物理穿透、法术穿透、物理吸血等。
可选地,在步骤S44中,按照动作信息集合执行对应的动作可以包括以下执行步骤:
步骤S441,从动作信息集合中解析出多个控制对象以及多个控制对象中每个控制对象待执行的动作;
步骤S442,分别控制多个控制对象中每个控制对象执行对应的动作。
在一个可选实施例中,训练环境可以通过HTTP协议发送POST请求来传送动作信息。动作信息可以包含多个AI控制的虚拟游戏角色的动作,例如:{虚拟游戏角色1:动作b,虚拟游戏角色2:动作c,虚拟游戏角色3:动作a}这种形式便同时包含有三个AI控制的虚拟游戏角色的动作信息。然后,应用场景根据训练环境发送的动作信息操控指定AI控制的虚拟游戏角色执行指定动作。
可选地,上述请求消息中携带的信息还包括:进度指示信息;在步骤S44中,在动作信息集合执行完毕之后采集状态信息可以包括以下执行步骤:
步骤S443,在动作信息集合执行完毕之后,按照进度指示信息将服务端本地的应用场景进度从第一时刻推进至第二时刻;
步骤S444,在第二时刻采集状态信息。
上述POST请求还可以附带指示应用场景向前推进的进度指示信息,例如:推进帧数M或者其它指定时间单位。如果该POST请求中未附带上述进度指示信息,则应用场景默认接收一次POST请求便向前推进一帧。整个训练过程中不存在真实时间概念,训练环境只需决策出动作信息,便可立即发送至应用场景。应用场景在执行完动作并且推进指定虚拟时长之后,便可立即向训练环境反馈状态信息。通过采用全程连续执行的方式,有效地提升了训练效率,并且应用场景执行进度完全由训练环境控制,由此可以实现训练效率可控。
可选地,服务端本地的应用场景在按照动作信息集合执行对应的动作的时间段内处于运行状态,在在按照动作信息集合执行对应的动作之外的其余时间段内处于暂停状态。
通过HTTP交互方式将应用场景作为服务端,应用场景本身除了在执行动作过程中处于运行状态之外,其余时段均处于暂停状态,不会主动执行任何动作,而完全由训练环境驱动。训练环境通过POST方式向应用场景发送动作信息。应用场景在接收到动作信息之后,立即在应用场景中执行该动作,然后将执行动作后整个场景的状态信息通过RESPONSE的方式反馈至训练环境。整个过程是连续的并且由一次HTTP请求和响应来完成。
应用场景的动作执行完全由训练环境来驱动可以使得迭代频率可控并且在训练速度允许的情况下尽可能地加速,由此抛开应用场景本身逻辑执行的时间间隔,而由训练环境来控制。这意味着训练环境进行训练过程的速度越快,其驱动应用场景执行动作的频率也会随之加快,从而起到加速训练的作用,使得强化学习过程效率主要取决于训练环境的训练速度。
下面将会结合整个强化学习训练***对完整的强化学习训练过程作进一步详细地阐述。
通过一次HTTP请求完成一次训练来简化训练步骤。应用场景将状态信息通过RESPONSE的方式反馈至训练环境。训练环境既可以从响应消息中提取本次强化学习模型迭代过程所需要的状态和反馈,也可以作为下一次迭代过程中强化学习模型的输入。这一次HTTP请求和响应过程可以进一步划分为如下执行步骤:
第一步、训练环境通过HTTP协议发送POST请求来传送动作信息。在该步骤中,动作信息可以包含多个AI控制的虚拟游戏角色的动作,例如:{虚拟游戏角色1:动作b,虚拟游戏角色2:动作c,虚拟游戏角色3:动作a}这种形式便同时包含有三个AI控制的虚拟游戏角色的动作信息。除此之外,该POST请求还可以附带指示应用场景向前推进的进度指示信息,例如:推进帧数M或者其它指定时间单位。如果该POST请求中未附带上述进度指示信息,则应用场景默认接收一次POST请求便向前推进一帧。
第二步、应用场景执行动作。应用场景根据训练环境发送的动作信息操控指定AI控制的虚拟游戏角色执行指定动作。
第三步、应用场景的进度推进M帧或者其它指定时间单位。需要说明的是,应用场景除了执行动作这一步骤是处于运行状态之外,其余步骤下均处于完全暂停状态。
第四步、应用场景采集当前状态信息。具体地,应用场景需要采集在该应用场景的进度向前推进M帧或者其它指定时间单位之后的状态信息,以便训练环境使用。
第五步、应用场景通过HTTP协议的RESPONSE对象返回当前状态信息。
通过执行以上五个步骤便可以获取强化学习训练所需要的全部信息。由于训练环境中,强化学习模型训练主要需要用到如下四类信息:S(t),A(t),R(t),S(t+1)。S(t)和S(t+1)分别表示t时刻和t+1时刻的状态信息。A(t)表示t时刻的动作信息。R(t)表示在t时刻执行A(t)动作对应的反馈值。由于动作信息A(t)即为训练环境通过HTTP协议发送POST请求所传送的动作信息,因此属于训练环境自身已知信息。S(t+1)包含在应用场景通过RESPONSE对象返回当前状态信息中,而S(t)包含在应用场景上一次通过RESPONSE对象返回当前状态信息中,因此属于训练环境能够获知的信息。反馈信息R(t)通常是可以从S(t)到S(t+1)的变化中根据语义得到的反馈值,例如:状态的变化量。具体地,状态的变化量既可以是游戏中血量状态的变化,也可以是金币数量的变化。至此,通过一次HTTP请求和响应足以完成强化学习***的通信过程。
需要说明的是,强化学习技术作为一类通用人工智能技术,逐渐被广泛地运用于现实生活中各个领域,其可以包括但不限于:航天器设计、机器人及机械手臂、交通***、传统益智游戏(例如:象棋、围棋)、电子竞技游戏。因此,本发明实施例所提供的适用于强化学习***高效、合理的通信流程,不仅可以应用于AI控制的虚拟游戏角色训练中,还可以应用于上述各种应用场景。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种模板子图的获取装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明其中一实施例的通信交互装置的结构框图,如图5所示,该装置包括:发送模块10,用于基于预设通信协议向服务端发送请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;接收模块20,用于接收来自于服务端的与请求消息对应的响应消息,其中,响应消息中携带的信息包括:服务端在动作信息集合执行完毕之后采集到的状态信息。
可选地,上述请求消息中携带的信息还包括:进度指示信息,其中,进度指示信息用于指示服务端将应用场景进度从第一时刻推进至第二时刻,并在第二时刻采集状态信息,第一时刻早于第二时刻。
可选地,图6是根据本发明其中一可选实施例的通信交互装置的结构框图,如图6所示,上述装置还包括:处理模块30,用于将动作信息集合封装至请求消息,其中,动作信息集合包括:多个控制对象以及多个控制对象中每个控制对象待执行的动作。
在本实施例中还提供了另一种模板子图的获取装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明其中一实施例的另一种通信交互装置的结构框图,如图7所示,该装置包括:接收模块40,用于接收客户端基于预设通信协议发送的请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;处理模块50,用于按照动作信息集合执行对应的动作,并在动作信息集合执行完毕之后采集状态信息;反馈模块60,用于向客户端返回与请求消息对应的响应消息,其中,响应消息中携带的信息包括:状态信息。
可选地,处理模块50包括:解析单元(图中未示出),用于从动作信息集合中解析出多个控制对象以及多个控制对象中每个控制对象待执行的动作;执行单元(图中未示出),用于分别控制多个控制对象中每个控制对象执行对应的动作。
可选地,上述请求消息中携带的信息还包括:进度指示信息,处理模块50还包括:进度单元(图中未示出),用于在动作信息集合执行完毕之后,按照进度指示信息将服务端本地的应用场景进度从第一时刻推进至第二时刻;采集单元(图中未示出),用于在第二时刻采集状态信息。
可选地,服务端本地的应用场景在按照动作信息集合执行对应的动作的时间段内处于运行状态,在在按照动作信息集合执行对应的动作之外的其余时间段内处于暂停状态。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,基于预设通信协议向服务端发送请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;
S2,接收来自于服务端的与请求消息对应的响应消息,其中,响应消息中携带的信息包括:服务端在动作信息集合执行完毕之后采集到的状态信息。
可选地,在本实施例中,上述存储介质还可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收客户端基于预设通信协议发送的请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;
S2,按照动作信息集合执行对应的动作,并在动作信息集合执行完毕之后采集状态信息;
S3,向客户端返回与请求消息对应的响应消息,其中,响应消息中携带的信息包括:状态信息。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,基于预设通信协议向服务端发送请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;
S2,接收来自于服务端的与请求消息对应的响应消息,其中,响应消息中携带的信息包括:服务端在动作信息集合执行完毕之后采集到的状态信息。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
S1,接收客户端基于预设通信协议发送的请求消息,其中,请求消息中携带的信息至少包括:待执行的动作信息集合;
S2,按照动作信息集合执行对应的动作,并在动作信息集合执行完毕之后采集状态信息;
S3,向客户端返回与请求消息对应的响应消息,其中,响应消息中携带的信息包括:状态信息。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种通信交互方法,其特征在于,包括:
基于预设通信协议向服务端发送请求消息,其中,所述请求消息中携带的信息至少包括:待执行的动作信息集合;
接收来自于所述服务端的与所述请求消息对应的响应消息,其中,所述响应消息中携带的信息包括:所述服务端在所述动作信息集合执行完毕之后采集到的状态信息。
2.根据权利要求1所述的方法,其特征在于,所述请求消息中携带的信息还包括:进度指示信息,其中,所述进度指示信息用于指示所述服务端将应用场景进度从第一时刻推进至第二时刻,并在所述第二时刻采集所述状态信息,所述第一时刻早于所述第二时刻。
3.根据权利要求1所述的方法,其特征在于,在向所述服务端发送所述请求消息之前,还包括:
将所述动作信息集合封装至所述请求消息,其中,所述动作信息集合包括:多个控制对象以及所述多个控制对象中每个控制对象待执行的动作。
4.一种通信交互方法,其特征在于,包括:
接收客户端基于预设通信协议发送的请求消息,其中,所述请求消息中携带的信息至少包括:待执行的动作信息集合;
按照所述动作信息集合执行对应的动作,并在所述动作信息集合执行完毕之后采集状态信息;
向所述客户端返回与所述请求消息对应的响应消息,其中,所述响应消息中携带的信息包括:所述状态信息。
5.根据权利要求4所述的方法,其特征在于,按照所述动作信息集合执行对应的动作包括:
从所述动作信息集合中解析出多个控制对象以及所述多个控制对象中每个控制对象待执行的动作;
分别控制所述多个控制对象中每个控制对象执行对应的动作。
6.根据权利要求4所述的方法,其特征在于,所述请求消息中携带的信息还包括:进度指示信息,在所述动作信息集合执行完毕之后采集所述状态信息包括:
在所述动作信息集合执行完毕之后,按照所述进度指示信息将服务端本地的应用场景进度从第一时刻推进至第二时刻;
在所述第二时刻采集所述状态信息。
7.根据权利要求4所述的方法,其特征在于,服务端本地的应用场景在按照所述动作信息集合执行对应的动作的时间段内处于运行状态,在在按照所述动作信息集合执行对应的动作之外的其余时间段内处于暂停状态。
8.一种通信交互装置,其特征在于,包括:
发送模块,用于基于预设通信协议向服务端发送请求消息,其中,所述请求消息中携带的信息至少包括:待执行的动作信息集合;
接收模块,用于接收来自于所述服务端的与所述请求消息对应的响应消息,其中,所述响应消息中携带的信息包括:所述服务端在所述动作信息集合执行完毕之后采集到的状态信息。
9.根据权利要求8所述的装置,其特征在于,所述请求消息中携带的信息还包括:进度指示信息,其中,所述进度指示信息用于指示所述服务端将应用场景进度从第一时刻推进至第二时刻,并在所述第二时刻采集所述状态信息,所述第一时刻早于所述第二时刻。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
处理模块,用于将所述动作信息集合封装至所述请求消息,其中,所述动作信息集合包括:多个控制对象以及所述多个控制对象中每个控制对象待执行的动作。
11.一种通信交互装置,其特征在于,包括:
接收模块,用于接收客户端基于预设通信协议发送的请求消息,其中,所述请求消息中携带的信息至少包括:待执行的动作信息集合;
处理模块,用于按照所述动作信息集合执行对应的动作,并在所述动作信息集合执行完毕之后采集状态信息;
反馈模块,用于向所述客户端返回与所述请求消息对应的响应消息,其中,所述响应消息中携带的信息包括:所述状态信息。
12.根据权利要求11所述的装置,其特征在于,所述处理模块包括:
解析单元,用于从所述动作信息集合中解析出多个控制对象以及所述多个控制对象中每个控制对象待执行的动作;
执行单元,用于分别控制所述多个控制对象中每个控制对象执行对应的动作。
13.根据权利要求11所述的装置,其特征在于,所述请求消息中携带的信息还包括:进度指示信息,所述处理模块还包括:
进度单元,用于在所述动作信息集合执行完毕之后,按照所述进度指示信息将服务端本地的应用场景进度从第一时刻推进至第二时刻;
采集单元,用于在所述第二时刻采集所述状态信息。
14.根据权利要求11所述的装置,其特征在于,服务端本地的应用场景在按照所述动作信息集合执行对应的动作的时间段内处于运行状态,在在按照所述动作信息集合执行对应的动作之外的其余时间段内处于暂停状态。
15.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至3任一项中所述的通信交互方法或所述权利要求4至7任一项中所述的通信交互方法。
16.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至3任一项中所述的通信交互方法或所述权利要求4至7任一项中所述的通信交互方法。
17.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至3任一项中所述的通信交互方法或所述权利要求4至7任一项中所述的通信交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010018581.7A CN111228818B (zh) | 2020-01-08 | 2020-01-08 | 通信交互方法、装置、存储介质、处理器及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010018581.7A CN111228818B (zh) | 2020-01-08 | 2020-01-08 | 通信交互方法、装置、存储介质、处理器及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111228818A true CN111228818A (zh) | 2020-06-05 |
CN111228818B CN111228818B (zh) | 2023-09-26 |
Family
ID=70877680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010018581.7A Active CN111228818B (zh) | 2020-01-08 | 2020-01-08 | 通信交互方法、装置、存储介质、处理器及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111228818B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112057860A (zh) * | 2020-09-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 虚拟场景中激活操作控件的方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104922906A (zh) * | 2015-07-15 | 2015-09-23 | 网易(杭州)网络有限公司 | 动作执行方法和装置 |
CN109582389A (zh) * | 2018-11-27 | 2019-04-05 | 网易(杭州)网络有限公司 | 消息处理方法、装置、存储介质、处理器及终端 |
-
2020
- 2020-01-08 CN CN202010018581.7A patent/CN111228818B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104922906A (zh) * | 2015-07-15 | 2015-09-23 | 网易(杭州)网络有限公司 | 动作执行方法和装置 |
CN109582389A (zh) * | 2018-11-27 | 2019-04-05 | 网易(杭州)网络有限公司 | 消息处理方法、装置、存储介质、处理器及终端 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112057860A (zh) * | 2020-09-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 虚拟场景中激活操作控件的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111228818B (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9248374B2 (en) | Replay and resumption of suspended game | |
CN109568947A (zh) | 一种云游戏控制方法、装置、设备和计算机存储介质 | |
CN107222510A (zh) | 一种游戏同步方法、***及相关设备 | |
CN107050850A (zh) | 虚拟场景的录制和回放方法、装置以及回放*** | |
CN105013174B (zh) | 一种游戏录像回放方法及*** | |
CN105999702B (zh) | 一种基于数据重演机制的网页游戏存档还原方法 | |
CN111420397A (zh) | 用于云游戏的游戏状态保存、传输和恢复 | |
CN113018848B (zh) | 一种游戏画面的显示方法、相关装置、设备以及存储介质 | |
CN102075531B (zh) | 一种为客户端传输数据的方法 | |
CN110639207A (zh) | 游戏数据同步方法、装置、存储介质及处理器 | |
CN112619130B (zh) | 一种游戏的多场景回放方法及装置 | |
US9437158B2 (en) | Electronic device for controlling multi-display and display control method thereof | |
CN111467791B (zh) | 目标对象的控制方法及装置、*** | |
CN104281458B (zh) | 应用程序数据处理方法、装置及处理*** | |
CN111643890A (zh) | 卡牌游戏的交互方法、装置、电子设备及存储介质 | |
CN113908550A (zh) | 虚拟角色控制方法、非易失性存储介质及电子装置 | |
CN113350779A (zh) | 游戏虚拟角色动作控制方法及装置、存储介质及电子设备 | |
CN111880845A (zh) | 控制目标应用的方法、***及装置 | |
CN113082688A (zh) | 游戏中虚拟角色的控制方法、装置、存储介质及设备 | |
CN110327625B (zh) | 文件的处理方法、装置、处理器、终端及服务器 | |
CN112169327A (zh) | 一种云游戏的控制方法以及相关装置 | |
CN108965989A (zh) | 一种交互式应用场景的处理方法和装置以及存储介质 | |
CN111228818A (zh) | 通信交互方法、装置、存储介质、处理器及电子装置 | |
WO2024016924A1 (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN117085314A (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 |