CN112870721B - 一种游戏互动方法、装置、设备及存储介质 - Google Patents
一种游戏互动方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112870721B CN112870721B CN202110281255.XA CN202110281255A CN112870721B CN 112870721 B CN112870721 B CN 112870721B CN 202110281255 A CN202110281255 A CN 202110281255A CN 112870721 B CN112870721 B CN 112870721B
- Authority
- CN
- China
- Prior art keywords
- model
- training
- sub
- strategy
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 149
- 230000003993 interaction Effects 0.000 title claims abstract description 76
- 230000009471 action Effects 0.000 claims abstract description 243
- 238000012549 training Methods 0.000 claims description 472
- 230000007123 defense Effects 0.000 claims description 88
- 230000008569 process Effects 0.000 claims description 69
- 230000006399 behavior Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 230000002452 interceptive effect Effects 0.000 claims 2
- 238000013473 artificial intelligence Methods 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 13
- 230000002787 reinforcement Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000003062 neural network model Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
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/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- 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/63—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 by the player, e.g. authoring using a level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种人工智能领域的游戏互动方法、装置、设备及存储介质,其中该方法包括:获取目标游戏状态信息;通过分层动作决策模型,根据目标游戏状态信息确定目标动作;该分层动作决策模型包括互相独立的策略选择子模型和多个策略执行子模型,策略选择子模型用于根据游戏状态信息在多个策略执行子模型中选择所需运行的策略执行子模型,策略执行子模型用于根据游戏状态信息确定虚拟角色所需执行的动作;控制目标虚拟角色执行所述目标动作。该方法能够快速合理地选择并执行游戏策略,实现对于虚拟角色的高水平拟人化控制。
Description
技术领域
本申请涉及人工智能(Artificial Intelligence,AI)技术领域,尤其涉及一种游戏互动方法、装置、设备及存储介质。
背景技术
实时游戏(Real Time Game)是指游戏过程即时进行的游戏,不同于围棋、象棋等回合制游戏,实时游戏通常具有游戏规则复杂、游戏场景动态多变、对手角色行为不确定、行为决策信息不全面、行为决策时间短等特点。典型的实时游戏包括但不限于对战类游戏,对战类游戏是操控虚拟角色与对手角色进行对战,以耗尽对手角色的生命值为获胜目标的游戏。
在实时游戏的人机对战模式中,真实玩家控制的虚拟角色会与游戏智能系统控制的虚拟角色进行对战。对于游戏智能系统来说,其控制虚拟角色进行对战时,会面对巨大的动作决策空间,并且还要满足实时决策的需求,如何在该条件下选择并执行游戏策略,是游戏智能系统能否实现对于虚拟角色的高水平拟人化控制的关键,这也会在很大程度上影响真实玩家的游戏体验。
发明内容
本申请实施例提供了一种游戏互动方法、装置、设备及存储介质,能够快速合理地选择并执行游戏策略,实现对于虚拟角色的高水平拟人化控制。
有鉴于此,本申请第一方面提供了一种游戏互动方法,所述方法包括:
获取目标游戏状态信息;
通过分层动作决策模型,根据所述目标游戏状态信息确定目标动作;所述分层动作决策模型包括互相独立的策略选择子模型和多个策略执行子模型;所述策略选择子模型用于根据游戏状态信息在所述多个策略执行子模型中选择所需运行的策略执行子模型;所述策略执行子模型用于根据游戏状态信息确定虚拟角色所需执行的动作;
控制目标虚拟角色执行所述目标动作。
本申请第二方面提供了一种游戏互动装置,所述装置包括:
信息获取模块,用于获取目标游戏状态信息;
动作决策模块,用于通过分层动作决策模型,根据所述目标游戏状态信息确定目标动作;所述分层动作决策模型包括互相独立的策略选择子模型和多个策略执行子模型;所述策略选择子模型用于根据游戏状态信息在所述多个策略执行子模型中选择所需运行的策略执行子模型;所述策略执行子模型用于根据游戏状态信息确定虚拟角色所需执行的动作;
角色控制模块,用于控制目标虚拟角色执行所述目标动作。
本申请第三方面提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序,执行如上述第一方面所述的游戏互动方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的游戏互动方法的步骤。
本申请第五方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面所述的游戏互动方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种游戏互动方法,在该方法中,先获取目标游戏状态信息;然后,通过分层动作决策模型根据目标游戏状态信息确定目标动作,此处的分层动作决策模型包括互相独立的策略选择子模型和多个策略执行子模型,其中,策略选择子模型用于根据游戏状态信息在多个策略执行子模型中选择所需运行的策略执行子模型,策略执行子模型用于根据游戏状态信息确定虚拟角色所需执行的动作;进而,控制目标虚拟角色执行目标动作。上述游戏互动方法巧妙地化简了游戏中复杂的动作决策问题,模拟真实玩家在游戏过程中的动作决策思维,将策略选择与策略执行分离开来,通过互相独立的策略选择子模型和策略执行子模型分别实现策略选择和策略执行。一方面,通过策略选择子模型在多个策略执行子模型中选择所需运行的策略执行子模型,再通过所选择的策略执行子模型确定虚拟角色所需执行的动作,实现了虚拟角色动作的分层决策,这种动作决策方式能够有效地缩减动作决策空间,降低动作决策难度,有助于快速地应对实时游戏中复杂多变的游戏局势。另一方面,将策略选择和策略执行解耦开来,建立互相独立的策略选择子模型和策略执行子模型,有利于采用合适的训练目标和训练算法对策略选择子模型和策略执行子模型分别进行训练,如此,既能降低分层动作决策模型的训练复杂度和难度,又能保证训练得到的分层动作决策模型具有较优的模型性能,能够实现对于虚拟角色的高水平拟人化控制。
附图说明
图1为本申请实施例提供的游戏互动方法的应用场景示意图;
图2为本申请实施例提供的游戏互动方法的流程示意图;
图3为本申请实施例提供的进攻策略执行子模型和防守策略执行子模型的训练过程示意图;
图4为本申请实施例提供的策略选择子模型的训练过程示意图;
图5为本申请实施例提供的分层动作决策模型的工作架构示意图;
图6为本申请实施例提供的第一种游戏互动装置的结构示意图;
图7为本申请实施例提供的第二种游戏互动装置的结构示意图;
图8为本申请实施例提供的第三种游戏互动装置的结构示意图;
图9为本申请实施例提供的第四种游戏互动装置的结构示意图;
图10为本申请实施例提供的第五种游戏互动装置的结构示意图;
图11为本申请实施例提供的第六种游戏互动装置的结构示意图;
图12为本申请实施例提供的第七种游戏互动装置的结构示意图;
图13为本申请实施例提供的终端设备的结构示意图;
图14为本申请实施例提供的服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如,常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的机器学习技术,具体通过如下实施例进行说明:
本申请实施例提供了一种游戏互动方法,该方法能够快速合理地选择并执行游戏策略,从而实现对于虚拟角色的高水平拟人化控制。
具体的,在本申请实施例提供的游戏互动方法中,先获取目标游戏状态信息;然后,通过分层动作决策模型根据目标游戏状态信息确定目标动作,此处的分层动作决策模型包括互相独立的策略选择子模型和多个策略执行子模型,其中,策略选择子模型用于根据游戏状态信息在多个策略执行子模型中选择所需运行的策略执行子模型,策略执行子模型用于根据游戏状态信息确定虚拟角色所需执行的动作;进而,控制目标虚拟角色执行目标动作。
上述游戏互动方法巧妙地化简了游戏中复杂的动作决策问题,模拟真实玩家在游戏过程中的动作决策思维,将策略选择与策略执行分离开来,通过互相独立的策略选择子模型和策略执行子模型分别实现策略选择和策略执行。一方面,通过策略选择子模型在多个策略执行子模型中选择所需运行的策略执行子模型,再通过所选择的策略执行子模型确定虚拟角色所需执行的动作,实现了虚拟角色动作的分层决策,这种动作决策方式能够有效地缩减动作决策空间,降低动作决策难度,有助于快速地应对实时游戏中复杂多变的游戏局势。另一方面,将策略选择和策略执行解耦开来,建立互相独立的策略选择子模型和策略执行子模型,有利于采用合适的训练目标和训练算法对策略选择子模型和策略执行子模型分别进行训练,如此,既能降低分层动作决策模型的训练复杂度和难度,又能保证训练得到的分层动作决策模型具有较优的模型性能,能够实现对于虚拟角色的高水平拟人化控制。
应理解,本申请实施例提供的游戏互动方法可以应用于支持模型运行的设备,如终端设备或服务器。其中,终端设备具体可以为智能手机、计算机、平板电脑、个人数字助理(Personal Digital Assitant,PDA)等;服务器具体可以为应用服务器或Web服务器,实际部署时,可以为独立服务器,也可以为集群服务器或云服务器。此外,本申请实施例提供的游戏互动方法中涉及的游戏状态信息、游戏动作等游戏数据,可以保存在区块链上。
为了便于理解本申请实施例提供的游戏互动方法,下面以该游戏互动方法的执行主体为服务器为例,对该游戏互动方法的应用场景进行示例性介绍。
参见图1,图1为本申请实施例提供的游戏互动方法的应用场景示意图。如图1所示,该应用场景中包括终端设备110和服务器120,终端设备110与服务器120之间可以通过网络通信。终端设备110上运行有目标实时游戏,该目标实时游戏具备人机对战模式;服务器120可以为目标实时游戏的后台服务器,用于执行本申请实施例提供的游戏互动方法。
在实际应用中,用户通过终端设备110中运行的目标实时游戏的人机对战模式进行游戏时,终端设备110可以实时采集游戏过程中的游戏状态信息,并且实时地将所采集的游戏状态信息通过网络传输给服务器120;此处的游戏状态信息包括但不限于游戏中各虚拟角色的游戏状态(如剩余生命值、可使用的游戏技能、已使用的游戏技能的剩余有效时长、不可使用的游戏技能的等待时长等等),游戏中各虚拟角色的位置信息、游戏的持续时长等,上述游戏中各虚拟角色包括用户控制的虚拟角色和服务器120控制的虚拟角色。
服务器120接收到终端设备110传输的游戏状态信息后,将所接收的游戏状态信息视为目标游戏状态信息。然后,将目标游戏状态信息输入预先训练好的分层动作决策模型121,并获取该分层动作决策模型121根据该目标游戏状态信息确定的目标动作。进而,服务器120将该目标动作通过网络传输给终端设备110,以控制目标虚拟角色(即与用户控制的虚拟角色对战的虚拟角色)执行该目标动作。
需要说明的是,上述分层动作决策模型121中包括策略选择子模型1211和多个策略执行子模型1212,策略选择子模型1211与各个策略执行子模型1212彼此独立的;策略选择子模型1211用于根据输入的游戏状态信息在各个策略执行子模型1212中选择所需运行的策略执行子模型;策略执行子模型1212用于根据输入的游戏状态信息确定所控制的虚拟角色所需执行的动作。
在一种可能的实现方式中,服务器120将目标游戏状态信息输入分层动作决策模型121之前,可以先判断当前是否存在正在运行的策略执行子模型1212。若当前存在正在运行的策略执行子模型1212,则服务器120可以直接将目标游戏状态信息输入该策略执行子模型1212,进而获取该策略执行子模型1212根据该目标游戏状态信息确定的目标动作。若当前不存在正在运行的策略执行子模型1212,则服务器120可以先将目标游戏状态信息输入策略选择子模型1211,获取该策略选择子模型1211根据该目标游戏状态信息选择的策略执行子模型1212;进而,再将该目标游戏状态信息输入策略选择子模型1211选择的策略执行子模型1212,获取该策略执行子模型1212根据该目标游戏状态信息确定的目标动作。
应理解,图1所示的应用场景仅为示例,在实际应用中,也可以由终端设备独立执行本申请实施例提供的游戏互动方法;例如,可以将分层动作决策模型部署在目标实时游戏的应用程序包中,用户通过目标实时游戏的人机对战模式进行游戏时,终端设备可以利用应用程序包中部署的分层动作决策模型,根据游戏过程中的游戏状态信息确定目标动作,并控制目标虚拟角色执行目标动作。在此不对本申请实施例提供的游戏互动方法适用的应用场景做任何限定。
下面通过方法实施例对本申请提供的游戏互动方法进行详细介绍。
参见图2,图2为本申请实施例提供的游戏互动方法的流程示意图。为了便于描述,下述实施例仍以该游戏互动方法的执行主体为服务器为例进行介绍。如图2所示,该游戏互动方法包括以下步骤:
步骤201:获取目标游戏状态信息。
在服务器控制的虚拟角色与真实玩家控制的虚拟角色进行游戏对战时,服务器可以实时地获取游戏对战过程中的游戏状态信息,该游戏状态信息即为目标游戏状态信息。
在一种可能的实现方式中,服务器可以获取终端设备实时上传的游戏状态信息。示例性的,在真实玩家通过终端设备上运行的目标实时游戏中的人机对战模式进行游戏时,终端设备可以实时地采集游戏过程中的游戏状态信息,并通过网络将所采集的游戏状态信息实时地上传给服务器。
在另一种可能的实现方式中,服务器可以主动地拉取游戏过程中的游戏状态信息。示例性的,终端设备检测到真实玩家选择通过目标实时游戏中的人机对战模式进行游戏时,可以向服务器发送人机对战请求;服务器接收到该人机对战请求后,可以相应地建立自身与终端设备之间的数据拉取通道;在真实玩家通过人机对战模式进行游戏的过程中,服务器可以通过该数据拉取通道实时地拉取游戏过程中的游戏状态信息。
当然,在实际应用中,服务器也可以采用其它方式获取目标游戏状态信息,本申请在此不对服务器获取目标游戏状态的实现方式做任何限定。
应理解,当本申请实施例提供的游戏互动方法的执行主体为运行有目标实时游戏的终端设备时,终端设备可以直接采集游戏过程中的游戏状态信息,作为目标游戏状态信息。
需要说明的是,上述目标游戏状态信息是指能够反映游戏局势的信息。示例性的,对于对战格斗类游戏来说,目标游戏状态信息包括但不限于游戏中各虚拟角色的游戏状态、各虚拟角色的位置信息、游戏进度等等,游戏中各虚拟角色包括真实玩家控制的虚拟角色和服务器控制的虚拟角色,虚拟角色的游戏状态可以包括剩余生命值、当前可用的游戏技能、正在使用的游戏技能的剩余有效时长、尚不可使用的游戏技能的等待时长等等。示例性的,对于射击类游戏来说,目标游戏状态信息包括但不限于游戏中各虚拟角色装配的装备、各虚拟角色的位置信息、游戏进度、游戏场景等等,游戏中各虚拟角色包括当前游戏场景中真实玩家控制的虚拟角色和服务器控制的虚拟角色,虚拟角色装配的装备包括射击工具、射击辅助工具(如高倍镜等)、防御工具(如头盔等)等等。应理解,对于不同类型的游戏,目标游戏状态信息中具体包括的信息不同,本申请在此不对目标游戏状态信息做任何限定。
步骤202:通过分层动作决策模型,根据所述目标游戏状态信息确定目标动作;所述分层动作决策模型包括互相独立的策略选择子模型和多个(即至少两个)策略执行子模型;所述策略选择子模型用于根据游戏状态信息在所述多个策略执行子模型中选择所需运行的策略执行子模型;所述策略执行子模型用于根据游戏状态信息确定虚拟角色所需执行的动作。
服务器获取到目标游戏状态信息后,可以将该目标游戏状态信息输入预先训练好的分层动作决策模型,该分层动作决策模型对输入的目标游戏状态信息进行分析处理后,会相应地输出服务器控制的目标虚拟角色应当执行的目标动作。具体实现时,服务器可以先根据目标游戏状态信息构建游戏状态特征向量,例如,将特定的游戏状态信息填写至游戏状态特征向量中特定的位置;进而,将该游戏状态特征向量输入分层动作决策模型。
需要说明的是,上述分层动作决策模型包括一个策略选择子模型和多个策略执行子模型,策略选择子模型与各个策略执行子模型互相独立,即策略选择子模型和每个策略执行子模型都是独立的模型,策略选择子模型与策略执行子模型在工作过程中不会互相干预。其中,策略选择子模型用于根据输入的游戏状态信息,在各个策略执行子模型中选择所需运行的策略执行子模型。策略执行子模型用于根据输入的游戏状态信息,确定所控制的虚拟角色应当执行的动作。
应理解,对于不同类型的游戏,分层动作决策模型中包括的策略执行子模型所对应的游戏策略往往也有所差别。
示例性的,对于对战格斗类游戏来说其核心操作就是走位和进攻,通过合理的走位到达具有优势的进攻位置,或者通过合理的走位躲避对手虚拟角色的攻击。基于此,可以将策略执行子模型分为两大类,一类是以进攻为目标的进攻策略执行子模型,另一类是以躲避进攻为目标的防守策略执行子模型。进攻策略执行子模型对应的游戏策略可以由一系列移动操作、和一个或多个攻击操作组合而成,其目标是通过移动和释放攻击技能击中对手虚拟角色;防守策略执行子模型对应的游戏策略可以由一系列移动操作组合而成,其目标是通过移动实现在一段时间内躲避掉对手虚拟角色的攻击。
作为一种示例,分层动作决策模型中的多个策略执行子模型可以包括多个进攻策略执行子模型和一个防守策略执行子模型;不同的进攻策略执行子模型对应于不同的进攻模式,不同的进攻模式包括不同的攻击技能或者攻击技能组合;防守策略执行子模型用于在不同的进攻模式下根据游戏状态信息确定躲避动作。
考虑到对战格斗类游戏普遍以攻击对手虚拟角色、消耗对手虚拟角色的生命值为获胜手段,因此,在构建分层动作决策模型中的策略执行子模型时,可以重点关注对应于进攻策略的进攻策略执行子模型,针对不同的进攻策略分别构建对应的进攻策略执行子模型,从而可以控制目标虚拟角色在不同的游戏局势下采取对应的进攻策略,更加智能化地攻击对手虚拟角色。由于在对战格斗类游戏中重点关注防守对于取得游戏胜利的帮助作用相对较小,并且不同的进攻策略对应的防守方式具有一定的相似性,因此,可以仅构建一个防守策略执行子模型,利用该防守策略执行子模型应对各种进攻模式,如此,既能为真实玩家提供较好的游戏体验,又能节约模型构建和训练的资源。
作为另一种示例,分层动作决策模型中的多个策略执行子模型可以包括多个进攻策略执行子模型和多个防守策略执行子模型;不同的进攻策略执行子模型对应于不同的进攻模式,不同的进攻模式包括不同的攻击技能或者攻击技能组合;不同的防守策略执行子模型对应于不同的防守模式,不同的防守模式用于躲避不同的进攻模式下的攻击技能或攻击技能组合。
在一些情况下,为了能够更智能地控制目标虚拟角色躲避攻击,为真实玩家提供更好的游戏对战体验,服务器也可以构建多个对应于不同防守策略的防守策略执行子模型,通过多个防守策略执行子模型分别躲避不同进攻模式下的攻击;如此,进一步提高控制目标虚拟角色获胜的可能性,为真实玩家带来更具挑战性的游戏体验。
当然,在实际应用中,对于对战格斗类游戏来说,分层动作决策模型中也可以仅包括一个进攻策略执行子模型和一个防守策略执行子模型,或者包括一个进攻策略执行子模型和多个防守策略执行子模型,本申请在此不对适用于对战格斗类游戏的分层动作决策模型中包括的进攻策略执行子模型的数目和防守策略执行子模型的数目做任何限定。
应理解,对于其它类型的游戏,分层动作决策模型中的多个策略执行子模型可以分别对应于该游戏中不同的游戏策略,例如,对于射击类游戏来说,分层动作决策模型中的多个策略执行子模型可以包括:用于确定移动动作的移动策略执行子模型、用于确定射击动作的射击策略执行子模型、用于选择辅助工具的工具选择策略执行子模型等等;本申请在此不对分层动作决策模型中包括的策略执行子模型对应的游戏策略做任何限定。
在一种可能的实现方式中,服务器每次利用分层动作决策模型确定目标动作时,可以先利用分层动作决策模型中的策略选择子模型选择所需运行的策略执行子模型,进而再利用所选择的策略执行子模型确定目标动作。即,服务器获取到目标游戏状态信息后,可以先通过分层动作决策模型中的策略选择子模型,根据该目标游戏状态信息在各个策略执行子模型中选择的当前需要运行的策略执行子模型;进而,再通过分层动作决策模型中被策略选择子模型选中的策略执行子模型,根据该目标游戏状态信息确定虚拟角色所需执行的目标动作。
在上述实现方式中,服务器每次利用分层动作决策模型确定目标动作时,既需要利用到分层动作决策模型中的策略选择子模型,又需要利用到分层动作决策模型中的一个策略执行子模型(即被策略选择子模型选中的策略执行子模型)。该种实现方式通常适用于游戏策略比较简单的游戏,例如,虚拟角色执行完一个动作即可被认为已执行完一种游戏策略的游戏。
在另一种可能的实现方式中,服务器可以通过判断当前是否存在正在运行的策略执行子模型,来确定是否需要利用分层动作决策模型中的策略选择子模型。即,服务器获取到目标游戏状态信息后,可以判断当前是否存在正在运行的目标策略执行子模型;若是,则通过该目标策略执行子模型,根据该目标游戏状态信息确定目标动作;若否,则通过策略选择子模型,根据该目标游戏状态信息在各个策略执行子模型中选择所需运动的策略执行子模型,作为目标策略执行子模型,进而,通过该目标策略执行子模型,根据该目标游戏状态信息确定目标动作。
由于很多实时游戏中一套游戏策略会对应一系列的动作,通常情况下,服务器控制目标虚拟角色执行完一系列动作,才会被视为执行完一套游戏策略。因此,在上述实现方式中,服务器获取到目标游戏状态信息后,需要判断当前是否正在控制目标虚拟角色执行某套游戏策略,即判断当前是否存在正在运行的目标策略执行子模型;若当前存在正在运行的目标策略执行子模型,则说明服务器当前正在控制目标虚拟角色执行该目标策略执行子模型对应的游戏策略,此时,服务器需要继续利用该目标策略执行子模型,根据所获取的目标游戏状态信息确定目标虚拟角色所需执行的目标动作,以控制目标虚拟角色继续在该套游戏策略下动作;反之,若当前不存在正在运行的目标策略执行子模型,则说明服务器当前并未控制目标虚拟角色执行特定的游戏策略,相应地,服务器可以利用策略选择子模型,根据所获取的目标游戏状态信息选择适用于当前游戏局势的游戏策略,即在各策略执行子模型中选择目标策略执行子模型,进而,通过该目标策略执行子模型,根据该目标游戏状态信息,确定目标虚拟角色在该目标策略执行子模型对应的游戏策略下应当执行的目标动作。
在该种实现方式中,服务器通过目标策略执行子模型,根据目标游戏状态信息确定出目标动作后,需要进一步判断该目标策略执行子模型对应的游戏策略是否执行完成,即判断是否可以停止运行该目标策略执行子模型。具体的,服务器可以根据目标游戏因素,确定是否停止运行该目标策略执行子模型,此处的目标游戏因素可以包括以下至少一种:目标动作、目标虚拟角色的状态、目标虚拟角色的对手虚拟角色的状态、目标策略执行子模型的运行时长。
即,服务器可以根据游戏中的目标游戏因素,来判断是否停止运行目标策略执行子模型。例如,服务器可以在确定目标动作为目标策略执行子模型对应的游戏策略的结束动作时,停止运行目标策略执行子模型;又例如,服务器可以在确定目标虚拟角色被攻击技能击中,或者释放攻击技能击中对手虚拟角色时,停止运行目标策略执行子模型,或者服务器可以在确定对手虚拟角色被攻击技能击中,或者释放攻击技能击中目标虚拟角色时,停止运行目标策略执行子模型;再例如,服务器可以在确定目标策略执行子模型的运行时长达到预设运行时间阈值时,停止运行目标策略执行子模型。当然,服务器也可以根据其它因素判断是否可以停止运行目标策略执行子模型,本申请在此不对判断是否停止运行目标策略执行子模型时所依据的因素做任何限定。
示例性的,在本申请实施例提供的方法适用于对战格斗类游戏的情况下,分层动作决策模型中的多个策略执行子模型包括进攻策略执行子模型和防守策略执行子模型;当所运行的目标策略执行子模型为进攻策略执行子模型时,服务器可以判断目标动作是否对应于该进攻策略执行子模型的结束技能,若是,则停止运行该进攻策略执行子模型;当所运行的目标策略执行子模型为防守策略执行子模型时,服务器可以判断目标虚拟角色是否被对手虚拟角色的动作击中,若是,则停止运行该防守策略执行子模型,或者,服务器可以判断该防守策略执行子模型的运行时长是否超过预设运行时间阈值,若是,则停止运行该防守策略执行子模型。
具体的,由于进攻策略执行子模型对应的进攻策略通常包括一系列移动动作、和一个或多个进攻动作,并且以成功释放某个攻击技能或者多个攻击技能的组合为目标,因此,服务器可以通过判断该进攻策略执行子模型确定的目标动作是否对应于自身的结束技能,来确定该进攻策略执行子模型对应的进攻策略是否执行完成,是否可以停止运行该进攻策略执行子模型。
由于防守策略执行子模型对应的防守策略通常包括一系列移动动作,并且以躲避对手虚拟角色的攻击为目标,因此,服务器可以通过判断目标虚拟角色是否被对手虚拟角色击中,来确定是否需要停止运行该防守策略执行子模型,若目标虚拟角色被对手虚拟角色击中,则说明已防守失败,此时无需继续运行防守策略执行子模型执行防守策略。此外,若防守策略执行子模型的运行时间超过预设运行时间阈值,则说明防守策略执行子模型已运行较长时间,并且在这段时间内实现了成功防守,此时可以停止运行防守策略执行子模型,结束执行防守策略,根据当前的游戏局势重新确定所需执行的游戏策略。
当然,在实际应用中,服务器也可以采用其它方式判断是否可以停止运行进攻策略执行子模型和防守策略执行子模型,本申请在此不对进攻策略执行子模型和防守策略执行子模型的运行停止条件做任何限定。
步骤203:控制目标虚拟角色执行所述目标动作。
服务器通过分层动作决策模型确定出目标动作后,可以通过网络将目标动作执行指令发送给终端设备,以控制目标虚拟角色根据该目标动作执行指令相应地执行目标动作。
应理解,当本申请实施例提供的游戏互动方法的执行主体为运行有目标实时游戏的终端设备时,终端设备通过分层动作决策模型确定出目标动作后,可以直接控制目标虚拟角色执行该目标动作。
上述游戏互动方法巧妙地化简了游戏中复杂的动作决策问题,模拟真实玩家在游戏过程中的动作决策思维,将策略选择与策略执行分离开来,通过互相独立的策略选择子模型和策略执行子模型分别实现策略选择和策略执行。一方面,通过策略选择子模型在多个策略执行子模型中选择所需运行的策略执行子模型,再通过所选择的策略执行子模型确定虚拟角色所需执行的动作,实现了虚拟角色动作的分层决策,这种动作决策方式能够有效地缩减动作决策空间,降低动作决策难度,有助于快速地应对实时游戏中复杂多变的游戏局势。另一方面,将策略选择和策略执行解耦开来,建立互相独立的策略选择子模型和策略执行子模型,有利于采用合适的训练目标和训练算法对策略选择子模型和策略执行子模型分别进行训练,如此,既能降低分层动作决策模型的训练复杂度和难度,又能保证训练得到的分层动作决策模型具有较优的模型性能,能够实现对于虚拟角色的高水平拟人化控制。
本申请实施例还提供了三种示例性的训练分层动作决策模型中的策略执行子模型的实现方式,下面对这三种策略执行子模型的训练方式分别进行详细介绍。
第一种训练方式,获取训练游戏过程中的训练游戏状态信息,获取待训练的策略执行子模型根据该训练游戏状态信息确定的训练动作,获取训练游戏过程的训练游戏结果。然后,基于所获取的训练游戏状态信息、训练动作和训练游戏结果,构建第一训练样本数据。将使该策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第一训练样本数据训练该策略执行子模型。
具体实现时,服务器可以预先构建深度神经网络模型,并初始化该深度神经网络模型的模型参数,得到待训练的策略执行子模型。假设待训练的策略执行子模型f的初始化模型参数为θ,该策略执行子模型f可以根据游戏状态信息s,输出所控制的虚拟角色应当执行的操作a,即fθ(s)=a。
训练该策略执行子模型时,服务器可以采用强化学习(Reinforcement Learning)的方式对该策略执行子模型进行训练;强化学习是一种通过在与环境不断交互的过程中学习到序列决策模型的算法,相对于监督学习而言,采用强化学习的方式训练模型不需要预先准备标注数据。具体实现时,服务器可以使用该策略执行子模型控制虚拟角色参加训练游戏,并且获取训练游戏过程中的游戏状态信息(即训练游戏状态信息)、该策略执行子模型根据游戏状态信息确定的动作(即训练动作)、以及该训练游戏最终的游戏结果(即训练游戏结果),进而,根据所获取的训练游戏状态信息、训练动作和训练游戏结果构建第一训练样本数据,该第一训练样本数据即是专用于训练策略执行子模型的样本数据;示例性的,在训练游戏过程中,服务器可以采集到训练样本数据(s0,a0,0)、(s1,a1,0)、……、(sT,aT,R),其中,si表示在训练游戏过程中采集到的第i个训练游戏状态信息,ai表示待训练的策略执行子模型根据第i个训练游戏状态信息确定的训练动作,R表示训练游戏过程的训练游戏结果,该训练游戏结果通常在训练游戏结束后才能确定,R等于1表示策略执行子模型控制的虚拟角色在训练游戏中胜利,R等于-1表示策略执行子模型控制的虚拟角色在训练游戏中失败。
进而,服务器可以将所训练的策略执行子模型能够获得最高的期望收益作为训练目标,即将使策略执行子模型控制的虚拟角色的游戏结果能够最大概率地为胜利作为训练目标,基于第一训练样本数据,采用梯度下降算法更新策略执行子模型的模型参数θ。示例性的,可以通过式(1)更新模型参数θ:
如此,通过上述实现方式,对待训练的策略执行子模型进行多轮迭代训练;即完成一次对于策略执行子模型的模型参数的更新后,使用该模型参数更新后的策略执行子模型控制虚拟角色再次参加训练游戏,并获取该训练游戏过程中的训练游戏状态信息、通过该策略执行子模型根据训练游戏状态信息确定的训练动作、该训练游戏过程的训练游戏结果,进而,基于由训练游戏状态信息、训练动作和训练游戏结果组成的第一训练样本数据,对策略执行子模型的模型参数再次进行调整。按照上述流程迭代训练若干轮次后,即可得到可投入实际使用的策略执行子模型。
需要说明的是,上述策略执行子模型的训练方式通常可以用于训练各类游戏中的策略执行子模型,即该种策略执行子模型的训练方式具有较高的普适性。
第二种训练方式,基于策略执行子模型对应的游戏策略下的动作执行条件和执行动作之间的对应关系,构建行为树(Behavior tree,BT)模型作为策略执行子模型。
对于动作执行逻辑比较简单的游戏来说,服务器可以直接构建行为树模型作为策略执行子模型;行为树是由行为节点组成的树状结构,其是一种图形化的模型结构,在游戏中可以描述不同行为的执行条件和执行方式。
在本申请实施例提供的方案中,服务器可以针对某种游戏策略,根据该游戏策略下的动作执行条件(对应于游戏状态信息)和执行动作之间的对应关系,构建行为树模型作为策略执行子模型。相应地,服务器使用该策略执行子模型根据游戏状态信息确定虚拟角色所需执行的动作时,可以根据输入的游戏状态信息,基于该策略执行子模型中各节点之间的连接关系查找目标叶节点,该目标叶节点对应的动作即为虚拟角色所需执行的动作。
应理解,构建行为树模型作为策略执行子模型,相比使用神经网络模型作为策略执行模型而言,可以节约模型训练所需耗费的计算资源;并且行为树模型所需占用的内存空间普遍较小,处理速度也较快。
第三种训练方式,在本申请实施例提供的方法适用于对战格斗类游戏的情况下,所需训练的策略执行子模型包括进攻策略执行子模型和防守策略执行子模型,此时,服务器可以采用对抗训练的方式,训练进攻策略执行子模型和防守策略执行子模型。
即,在训练游戏过程中,服务器可以利用待训练的进攻策略执行子模型和待训练的防守策略执行子模型进行对战。然后,获取训练游戏过程中的训练游戏状态信息,获取进攻策略执行子模型根据训练游戏状态信息确定的训练进攻动作,获取防守策略执行子模型根据训练游戏状态信息确定的训练防守动作,获取该训练游戏过程的训练游戏结果。进而,基于上述训练游戏状态信息、训练进攻动作和训练游戏结果,构建第二训练样本数据,该第二训练样本数据即是专用于训练进攻策略执行子模型的样本数据;基于上述训练游戏状态信息、训练防守动作和训练游戏结果,构建第三训练样本数据,该第三训练样本数据即是专用于训练防守策略执行子模型的样本数据。对于进攻策略执行子模型,服务器可以将使该进攻策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第二训练样本数据训练该进攻策略执行子模型。对于防守策略执行子模型,服务器可以将使该防守策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第三训练样本数据训练该防守策略执行子模型。
对于对战格斗类游戏,服务器定义了进攻策略执行子模型和防守策略执行子模型,考虑到进攻策略执行子模型对应的进攻策略的目标是击中对手虚拟角色,而防守策略执行子模型对应的防守策略的目标是躲避对手虚拟角色的进攻,在实际游戏过程中进攻策略和防守策略作为对抗策略,通常是同时存在的,因此,可以通过图3所示的流程对进攻策略执行子模型和防守策略执行子模型进行对抗迭代训练。
示例性的,在训练游戏过程中,服务器可以利用第m(大于或等于0的整数)代进攻策略执行子模型和第n(大于或等于0的整数)代防守策略执行子模型进行对战;上述m和n可以相等,m和n之间也可以相差1。当m小于或等于n时,服务器可以将使得进攻策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第二训练样本数据训练进攻策略执行子模型。当m大于n时,服务器可以将使得防守策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第三训练样本数据训练防守策略执行子模型。
具体实现时,服务器可以预先构建深度神经网络模型,作为待训练的进攻策略执行子模型和待训练的防守策略执行子模型。假设待训练的进攻策略执行子模型fa以θa为模型参数,可以根据输入的游戏状态信息sa,输出所控制的虚拟角色应当执行的操作a,即faθa(sa)=a;假设待训练的防守策略执行子模型fb以θb为模型参数,可以根据输入的游戏状态信息sb,输出所控制的虚拟角色应当执行的操作b,即fbθb(sb)=b。
如图3所示,训练进攻策略执行子模型和防守策略执行子模型时,服务器可以随机初始化进攻策略执行子模型fa的模型参数和防守策略执行子模型fb的模型参数,得到第0代进攻策略执行子模型和第0代防守策略执行子模型。在训练游戏过程中,服务器使用第0代进攻策略执行子模型fa与第0代防守策略执行子模型fb进行对抗,以使第0代进攻策略执行子模型fa控制的虚拟角色取得胜利为训练目标,采用强化学习的方式更新第0代进攻策略执行子模型fa的模型参数θa,以训练得到第1代进攻策略执行子模型。具体的,在训练游戏的过程中,服务器可以采集第二训练样本数据(sa0,a0,0)、(sa1,a1,0)、……、(saT,aT,Ra),其中,sai表示在训练游戏过程中采集到的第i个需要由进攻策略执行子模型处理的训练游戏状态信息,ai表示进攻策略执行子模型根据第i个训练游戏状态信息确定的训练动作,Ra表示训练游戏过程的训练游戏结果,该训练游戏结果通常在训练游戏结束后才能确定,Ra等于1表示进攻策略执行子模型控制的虚拟角色在训练游戏中胜利,Ra等于-1表示进攻策略执行子模型控制的虚拟角色在训练游戏中失败;进而,将使得第0代进攻策略执行子模型能够获得最高的期望收益作为训练目标,通过梯度下降算法更新第0代进攻策略执行子模型fa的模型参数θa,示例性的,服务器可以通过式(2)更新模型参数θa:
通过上述方式更新第0代进攻策略执行子模型fa的模型参数θa,得到第1代进攻策略执行子模型fa后,服务器可以使用该第1代进攻策略执行子模型fa与第0代防守策略执行子模型fb进行对抗,以使第0代防守策略执行子模型fb取得胜利为训练目标,采用强化学习的方式更新第0代防守策略执行子模型fb的模型参数θb,以训练得到第1代防守策略执行子模型。具体的,在训练游戏的过程中,服务器可以采集第三训练样本数据(sb0,b0,0)、(sb1,b1,0)、……、(sbT,bT,Rb),其中,sbi表示在训练游戏过程中采集到的第i个需要由防守策略执行子模型处理的训练游戏状态信息,bi表示防守策略执行子模型根据第i个训练游戏状态信息确定的训练动作,Rb表示训练游戏过程的训练游戏结果,该训练游戏结果通常在训练游戏结束后才能确定,Rb等于1表示防守策略执行子模型控制的虚拟角色在训练游戏中胜利,Rb等于-1表示防守策略执行子模型控制的虚拟角色在训练游戏中失败;进而,将使得第0代防守策略执行子模型能够获得最高的期望收益作为训练目标,通过梯度下降算法更新第0代防守策略执行子模型fb的模型参数θb,示例性的,服务器可以通过式(3)更新模型参数θb:
如此,通过上述流程对进攻策略执行子模型和防守策略执行子模型分别迭代训练若干轮次,得到可投入实际应用的进攻策略执行子模型和防守策略执行子模型。
应理解,在实际应用中,服务器也可以在m小于n时,将使进攻策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第二训练样本数据训练进攻策略执行子模型,在m大于或等于n时,将使防守策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第三训练样本数据训练防守策略执行子模型。即,服务器可以在第0代进攻策略执行子模型与第0代防守策略执行子模型进行训练游戏的过程中,采集第三训练样本数据,将使防守策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第三训练样本数据训练第0代防守策略执行子模型,得到第1代防守策略执行子模型;进而,再利用第0代进攻策略执行子模型与第1代防守策略执行子模型进行训练游戏,采集第二训练样本数据,将使进攻策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第二训练样本数据训练第0代进攻策略执行子模型,得到第1代进攻策略执行子模型;以此类推,直至对于进攻策略执行子模型和防守策略执行子模型均迭代训练若干轮次为止。
或者,服务器还可以在m等于n时,同时采集训练游戏过程中的第二训练样本数据和第三训练样本数据,将使进攻策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第二训练样本数据训练进攻策略执行子模型,将使防守策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第三训练样本数据训练防守策略执行子模型。即,服务器可以利用第0代进攻策略执行子模型与第0代防守策略执行子模型进行训练游戏,并且在该训练游戏过程中,采集第二训练数据和第三训练数据;将使进攻策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第二训练样本数据训练第0代进攻策略执行子模型,得到第1代进攻策略执行子模型;并且,将使防守策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用第三训练样本数据训练第0代防守策略执行子模型,得到第1代防守策略执行子模型。如此,同步迭代训练进攻策略执行子模型和防守策略执行子模型,直至对于进攻策略执行子模型和防守策略执行子模型均迭代训练若干轮次为止。
应理解,在分层动作决策模型中包括分别对应不同进攻模式的多个进攻策略执行子模型和一个防守策略执行子模型的情况下,服务器训练进攻策略执行子模型和防守策略执行子模型时,可以利用该防守策略执行子模型与每个进攻策略执行子模型分别进行对抗训练,从而使得该防守策略执行子模型能够在不同的进攻模式下确定躲避动作。在分层动作决策模型中包括分别对应不同进攻模式的多个进攻策略执行子模型、和分别对应不同防守模式的多个防守策略执行子模型的情况下,服务器训练进攻策略执行子模型和防守策略执行子模型时,可以利用具有对应关系的进攻策略执行子模型和防守策略执行子模型进行对抗训练,此处具有对应关系的进攻策略执行子模型和防守策略执行子模型,是指进攻策略执行子模型对应的进攻策略与防守策略执行子模型对应的防守策略具有匹配对抗关系。
需要说明的是,上文介绍的三种策略执行子模型的训练方式仅为示例,在实际应用中,服务器也可以采用其它方式训练策略执行子模型,本申请在此不对策略执行子模型的训练方式做任何限定。
完成对于分层动作决策模型中各个策略执行子模型的训练后,服务器可以进一步训练策略选择子模型。本申请实施例在此提供了两种示例性的训练分层动作决策模型中的策略选择子模型的实现方式,下面分别对这两种策略选择子模型的训练方式进行详细介绍。
第一种训练方式,获取训练游戏过程中的训练游戏状态信息,获取待训练的策略选择子模型根据训练游戏状态信息在多个策略执行子模型中选择的训练策略执行子模型,获取该训练游戏过程的训练游戏结果。然后,基于所获取的训练游戏状态信息、训练策略执行子模型和训练游戏结果,构建第四训练样本数据。进而,将使该策略选择子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用该第四训练样本数据训练该策略选择子模型。
具体实现时,服务器可以预先构建深度神经网络模型,并初始化该深度神经网络模型的模型参数,得到待训练的策略选择子模型。假设待训练的策略选择子模型h的初始化模型参数为ω,该策略选择子模型h可以根据游戏状态信息s输出所选择的策略执行子模型c,即hω(s)=c。
训练该策略选择子模型时,服务器可以也采用强化学习的方式对该策略选择子模型进行训练。具体的,服务器可以使用该策略选择子模型控制虚拟角色参加训练游戏,并且获取训练游戏过程中的游戏状态信息(即训练游戏状态信息)、该策略选择子模型根据游戏状态信息选择的策略执行子模型(即训练策略执行子模型)、以及该训练游戏最终的游戏结果(即训练游戏结果),进而,根据所获取的训练游戏状态信息、训练策略执行子模型和训练游戏结果构建第四训练样本数据,该第四训练样本数据即是专用于训练策略选择子模型的样本数据;示例性的,在训练游戏过程中,服务器可以采集到训练样本数据(s0,c0,0)、(s1,c1,0)、……、(sT,cT,R),其中,si表示在训练游戏过程中采集到的第i个训练游戏状态信息,ci表示待训练的策略选择子模型根据第i个训练游戏状态信息选择的训练策略执行子模型,R表示训练游戏过程的训练游戏结果,该训练游戏结果通常在训练游戏结束后才能确定,R等于1表示策略选择子模型控制的虚拟角色在训练游戏中胜利,R等于-1表示策略选择子模型控制的虚拟角色在训练游戏中失败。
进而,服务器可以将所训练的策略选择子模型能够获得最高的期望收益作为训练目标,即将使策略选择子模型控制的虚拟角色的游戏结果能够最大概率地为胜利作为训练目标,基于第四训练样本数据,采用梯度下降算法更新策略选择子模型的模型参数ω。示例性的,可以通过式(4)更新模型参数ω:
如此,通过上述实现方式,对待训练的策略选择子模型进行多轮迭代训练;即完成一次对于策略选择子模型的模型参数的更新后,使用该模型参数更新后的策略选择子模型控制虚拟角色再次参加训练游戏,并获取该训练游戏过程中的训练游戏状态信息、通过该策略选择子模型根据训练游戏状态信息选择的训练策略执行子模型、该训练游戏过程的训练游戏结果,进而,基于由训练游戏状态信息、训练策略执行子模型和训练游戏结果组成的第四训练样本数据,对策略选择子模型的模型参数再次进行调整。按照上述流程迭代训练若干轮次后,即可得到可投入实际使用的策略选择子模型。
需要说明的是,上述策略选择子模型的训练方式通常可以用于训练各类游戏中的策略选择子模型,即该种策略选择子模型的训练方式具有较高的普适性。
第二种训练方式,在本申请实施例提供的方法适用于对战格斗类游戏的情况下,服务器可以采用对抗训练的方式训练策略选择子模型。
即,在训练游戏过程中,服务器可以利用待训练的策略选择子模型与自身进行对战。然后,获取该训练游戏过程中的训练游戏状态信息;将其中一个策略选择子模型作为目标策略选择子模型,获取该目标策略选择子模型根据训练游戏状态信息在多个策略执行子模型中选择的训练策略执行子模型;获取该训练游戏过程的训练游戏结果。进而,基于训练游戏状态信息、训练策略执行子模型和训练游戏结果,构建第五训练样本数据。将使目标策略选择子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用该第五训练样本数据训练目标策略选择子模型。
具体实现时,服务器可以通过图4所示的流程使得策略选择子模型与自身进行对抗迭代训练,从而不断地提高策略选择子模型的模型性能。
示例性的,服务器可以预先构建深度神经网络模型,并初始化该深度神经网络模型的模型参数,得到第0代策略选择子模型。然后,利用两个第0代策略选择子模型分别控制的虚拟角色进行训练游戏,在训练游戏过程中,两个第0代策略选择子模型均会根据训练游戏状态信息,在已经训练完成的多个策略执行子模型中选择所需运行的策略执行子模型,然后再由所选择的策略执行子模型根据训练游戏状态信息确定虚拟角色所需执行的动作,并控制虚拟角色执行该动作,通过这种方式,两个第0代策略选择子模型可以模拟实现完整的训练游戏过程,并获得最终训练游戏过程最终的训练游戏结果。
将其中一个第0代策略选择子模型作为本轮需要训练的目标策略选择子模型,在训练游戏过程中,采集训练游戏状态信息、该目标策略选择子模型根据训练游戏状态信息选择的训练策略执行子模型、以及训练游戏结果,作为第五训练样本数据,该第五训练样本数据即是专用于训练适用于对战格斗类游戏的策略选择子模型的样本数据,例如,采集第五训练样本数据(s0,c0,0)、(s1,c1,0)、……、(sT,cT,R),其中,si表示在训练游戏过程中采集到的第i个训练游戏状态信息,ci表示目标策略选择子模型根据第i个训练游戏状态信息选择的训练策略执行子模型,R表示训练游戏过程的训练游戏结果,该训练游戏结果通常在训练游戏结束后才能确定,R等于1表示目标策略选择子模型控制的虚拟角色在训练游戏中胜利,R等于-1表示目标策略选择子模型控制的虚拟角色在训练游戏中失败。
进而,服务器可以将目标策略选择子模型能够获得最高的期望收益作为训练目标,即将使目标策略选择子模型控制的虚拟角色的游戏结果能够最大概率地为胜利作为训练目标,基于第五训练样本数据,采用梯度下降算法更新第0代策略选择子模型的模型参数ω。示例性的,可以通过式(5)更新模型参数ω:
通过上述方式更新第0代策略选择子模型的模型参数,得到第1代策略选择子模型后,服务器可以进一步再利用两个第1代策略选择子模型进行训练游戏,并在训练游戏过程中采集第五训练样本数据,利用该第五训练样本数据对第1代策略选择子模型的模型参数进行调整,以此类推,直至所训练的策略选择子模型满足训练结束条件为止。此处的训练结束条件,可以为对于策略选择子模型的迭代训练轮次达到预设轮次,还可以为策略选择模型与自身进行对战时获得胜利的概率在预设概率阈值内,该预设概率阈值可以为45%至55%,本申请在此不对该预设概率阈值做任何限定。
如此,采用对抗训练的方式训练策略选择子模型,能够保证所训练得到策略选择子模型具有较优的模型性能,能够智能地根据游戏状态信息选择所需运行的策略执行子模型。
需要说明的是,上文介绍的两种策略选择子模型的训练方式仅为示例,在实际应用中,服务器也可以采用其它方式训练策略选择子模型,本申请在此不对策略选择子模型的训练方式做任何限定。
为了便于进一步理解本申请实施例提供的技术方案,下面以本申请实施例提供的游戏互动方法应用于对战格斗类游戏为例,对本申请实施例提供的游戏互动方法进行整体示例性介绍。
本申请实施例提供的技术方案的主要思想是将策略选择与策略执行分离开来;策略选择通过分层动作决策模型中的策略选择子模型实现,在对战格斗类游戏中,通常会经历较低频次的策略选择;策略执行通过分层动作决策模型中的策略执行子模型实现,在对战格斗类游戏中,选择好所需运行的策略执行子模型后,由该策略执行子模型确定具体需要执行的动作。如图5所示,在格斗对战类游戏中,策略执行子模型运行完成后,再由策略选择子模型选择下一个所需运行的策略执行子模型。
对于对战格斗类游戏,可以通过以下方式实现策略分层:
在对战格斗类游戏中,基础操作主要分为两类,分别是移动和进攻。而格斗的核心就是走位和进攻,通过合理的走位获得优势的进攻位置或者躲避对手虚拟角色的进攻,基于此,本申请可以将对战格斗类游戏中的策略执行子模型分为两类,一类是以进攻为目标的进攻策略执行子模型,另一类是以躲避进攻为目标的防守策略执行子模型。
对于进攻策略执行子模型对应的进攻策略,可以定义为移动操作与一个或多个攻击操作的组合;进攻策略的目标就是通过快速移动以成功释放攻击技能,并击中对手虚拟角色。对于防守策略执行子模型对应的防守策略,可以定义为多个移动操作;防守策略的目标就是通过不停的移动以在一段时间内躲避对手虚拟角色的进攻。
策略选择子模型通过对当前的游戏局势进行分析,来判断当前需要采取哪种游戏策略,即判断当前需要运行哪个策略执行子模型。具体实现时,服务器可以从游戏客户端获取当前的游戏状态信息,并将该游戏状态信息输入该策略选择子模型,以使该策略选择子模型选择所需运行的策略执行子模型;选择好策略执行子模型后,再由该策略执行子模型根据该游戏状态信息决策虚拟角色所需执行的动作,并将该动作发送回游戏客户端。
对于对战格斗类游戏,可以通过以下方式训练策略执行子模型:
基于上一部分介绍的内容可知,对于对战格斗类游戏定义了进攻策略执行子模型和防守策略执行子模型,由于进攻策略执行子模型对应的进攻策略的目标是击中对手虚拟角色,而防守策略执行子模型对应的防守策略的目标是躲避对手虚拟角色的进攻,在实际游戏过程中进攻策略和防守策略作为对抗策略,通常是同时存在的,因此,可以利用进攻策略执行子模型和防守策略执行子模型进行对抗迭代训练,从而不断地提高进攻策略执行子模型和防守策略执行子模型的水平。
具体实现时,可以预先构建深度神经网络模型,作为待训练的进攻策略执行子模型和待训练的防守策略执行子模型。假设待训练的进攻策略执行子模型fa以θa为模型参数,可以根据输入的游戏状态信息sa,输出所控制的虚拟角色应当执行的操作a,即faθa(sa)=a;假设待训练的防守策略执行子模型fb以θb为模型参数,可以根据输入的游戏状态信息sb,输出所控制的虚拟角色应当执行的操作b,即fbθb(sb)=b。
训练进攻策略执行子模型和防守策略执行子模型时,服务器可以随机初始化进攻策略执行子模型fa的模型参数和防守策略执行子模型fb的模型参数,得到第0代进攻策略执行子模型和第0代防守策略执行子模型。然后,利用第0代进攻策略执行子模型和第0代防守策略执行子模型进行对抗,以使第0代进攻策略执行子模型取得胜利为训练目标,通过强化学习的方式更新该进攻策略执行子模型的模型参数θa,得到第1代进攻策略执行子模型。进而,再利用第1代进攻策略执行子模型和第0代防守策略执行子模型进行对抗,以使第0代防守策略执行子模型取得胜利为训练目标,通过强化学习的方式更新该防守策略执行子模型的模型参数θb,得到第1代防守策略执行子模型。如此,按照上述流程对进攻策略执行子模型和防守策略执行子模型迭代训练若干轮次,得到可投入实际应用的进攻策略执行子模型和防守策略执行子模型。
对于对战格斗类游戏,可以通过以下方式训练策略选择子模型:
完成对于各策略执行子模型的训练后,可以定义深度神经网络模型作为待训练的策略选择子模型,该策略选择子模型h的模型参数为ω,其可以根据游戏状态信息s输出所选择的策略执行子模型c,即hω(s)=c。
策略选择子模型以游戏取得胜利为训练目标,学习如何在不同的游戏局势下选择运行不同的策略执行子模型,训练策略选择子模型时,可以使策略选择子模型与自身进行对抗迭代训练,从而不断地提高策略选择子模型的模型性能。
具体的,服务器可以随机初始化深度神经网络模型的模型参数,得到第0代策略选择子模型。然后,利用两个第0代策略选择子模型进行对抗,以使其中某个策略选择子模型取得胜利为训练目标,通过强化学习的方式更新该策略选择子模型的模型参数ω,得到第1代策略选择子模型。进而,利用两个第1代策略选择子模型进行对抗,以使其中某个策略选择子模型取得胜利为训练目标,通过强化学习的方式更新该策略选择子模型的模型参数ω,得到第2代策略选择子模型。如此,按照上述流程对策略选择子模型迭代训练若干轮次,直至该策略选择子模型与自身进行对战时已难以取得胜利为止,即可得到可投入实际应用的策略选择子模型。
对于对战格斗类游戏,在实际应用中,可以通过以下方式实现对战动作的分层决策:
完成对于策略选择子模型和策略执行子模型的训练后,即可将策略选择子模型和策略执行子模型作为分层动作决策模型,利用该分层动作决策模型控制虚拟角色进行游戏,为真实玩家提供游戏对战服务。具体实现过程如下:
1、将分层动作决策模型部署到用于提供AI对战服务的服务器上。
2、在游戏过程中,服务器接收游戏客户端实时发送的游戏状态信息(包括但不限于虚拟角色的游戏状态、虚拟角色的位置信息等)。
3、服务器接收到游戏客户端发送的游戏状态信息后,先判断当前是否存在正在运行的策略执行子模型。若存在,则将该游戏状态信息输入该策略执行子模型,并获取该策略执行子模型输出的动作。若不存在,则先将该游戏状态信息输入策略选择子模型,并获取该策略选择子模型选择的策略执行子模型;然后,再将该游戏状态信息输入所选择的策略执行子模型,并获取该策略执行子模型输出的动作。
4、将策略选择子模型输出的动作发送给游戏客户端,以使游戏客户端上由服务器控制的虚拟角色执行该动作。
针对上文描述的游戏互动方法,本申请还提供了对应的游戏互动装置,以使上述游戏互动方法在实际中的应用以及实现。
参见图6,图6是上文图2所示的游戏互动方法对应的游戏互动装置600的结构示意图。如图6所示,该游戏互动装置600包括:
信息获取模块601,用于获取目标游戏状态信息;
动作决策模块602,用于通过分层动作决策模型,根据所述目标游戏状态信息确定目标动作;所述分层动作决策模型包括互相独立的策略选择子模型和多个策略执行子模型;所述策略选择子模型用于根据游戏状态信息在所述多个策略执行子模型中选择所需运行的策略执行子模型;所述策略执行子模型用于根据游戏状态信息确定虚拟角色所需执行的动作;
角色控制模块603,用于控制目标虚拟角色执行所述目标动作。
可选的,在图6所示的游戏互动装置的基础上,所述动作决策模块602具体用于:
判断当前是否存在正在运行的目标策略执行子模型;
若是,则通过所述目标策略执行子模型,根据所述目标游戏状态信息确定所述目标动作;
若否,则通过所述策略选择子模型,根据所述目标游戏状态信息在所述多个策略执行子模型中选择所需运行的策略执行子模型,作为目标策略执行子模型;通过所述目标策略执行子模型,根据所述目标游戏状态信息确定所述目标动作。
可选的,在图6所示的游戏互动装置的基础上,参见图7,图7为本申请实施例提供的另一种游戏互动装置700的结构示意图。如图7所示,该装置还包括:
执行模型控制模块701,用于根据目标游戏因素,确定是否停止运行所述目标策略执行子模型;所述目标游戏因素包括以下至少一种:所述目标动作、所述目标虚拟角色的状态、所述目标虚拟角色的对手虚拟角色的状态、所述目标策略执行子模型的运行时长。
可选的,在图7所示的游戏互动装置的基础上,所述多个策略执行子模型包括进攻策略执行子模型和防守策略执行子模型;则所述执行模型控制模块701具体用于:
当所述目标策略执行子模型为所述进攻策略执行子模型时,判断所述目标动作是否对应于所述进攻策略执行子模型的结束技能,若是,则停止运行所述进攻策略执行子模型;
当所述目标策略执行子模型为所述防守策略执行子模型时,判断所述目标虚拟角色是否被所述对手虚拟角色的动作击中,若是,则停止运行所述防守策略执行子模型;或者,判断所述防守策略执行子模型的运行时长是否超过预设运行时间阈值,若是,则停止运行所述防守策略执行子模型。
可选的,在图6所示的游戏互动装置的基础上,参见图8,图8为本申请实施例提供的另一种游戏互动装置800的结构示意图。如图8所示,该装置还包括:
第一执行模型训练模块801,用于获取训练游戏过程中的训练游戏状态信息;获取待训练的所述策略执行子模型根据所述训练游戏状态信息确定的训练动作;获取所述训练游戏过程的训练游戏结果;基于所述训练游戏状态信息、所述训练动作和所述训练游戏结果,构建第一训练样本数据;将使所述策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第一训练样本数据训练所述策略执行子模型。
可选的,在图6所示的游戏互动装置的基础上,参见图9,图9为本申请实施例提供的另一种游戏互动装置9000的结构示意图。如图9所示,该装置还包括:
第二执行模型构建模块901,用于基于所述策略执行子模型对应的游戏策略下的动作执行条件与执行动作之间的对应关系,构建行为树模型作为所述策略执行子模型。
可选的,在图6所示的游戏互动装置的基础上,所述多个策略执行子模型包括进攻策略执行子模型和防守策略执行子模型;参见图10,图10为本申请实施例提供的另一种游戏互动装置1000的结构示意图。如图10所示,该装置还包括:
第三执行模型训练模块1001,用于在训练游戏过程中,利用待训练的所述进攻策略执行子模型和所述防守策略执行子模型进行对战;获取所述训练游戏过程中的训练游戏状态信息;获取所述进攻策略执行子模型根据所述训练游戏状态信息确定的训练进攻动作;获取所述防守策略执行子模型根据所述训练游戏状态信息确定的训练防守动作;获取所述训练游戏过程的训练游戏结果;基于所述训练游戏状态信息、所述训练进攻动作和所述训练游戏结果,构建第二训练样本数据;基于所述训练游戏状态信息、所述训练防守动作和所述训练游戏结果,构建第三训练样本数据;对于所述进攻策略执行子模型,将使所述进攻策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第二训练样本数据训练所述进攻策略执行子模型;对于所述防守策略执行子模型,将使所述防守策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第三训练样本数据训练所述防守策略执行子模型。
可选的,在图10所示的游戏互动装置的基础上,所述第三执行模型训练模块1001具体用于:
在所述训练游戏过程中,利用第m代所述进攻策略执行子模型和第n代所述防守策略执行子模型进行对战;所述m和所述n均为大于或等于0的整数;所述m与所述n相等,或者所述m与所述n之间相差1;
当所述m小于或等于所述n时,执行所述将使所述进攻策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第二训练样本数据训练所述进攻策略执行子模型;
当所述m大于所述n时,执行所述使所述防守策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第三训练样本数据训练所述防守策略执行子模型。
可选的,在图6所示的游戏互动装置的基础上,所述多个策略执行子模型包括多个进攻策略执行子模型和一个防守策略执行子模型;不同的所述进攻策略执行子模型对应不同的进攻模式,不同的进攻模式包括不同的攻击技能或者攻击技能组合;所述防守策略执行子模型用于在不同的进攻模式下根据游戏状态信息确定躲避动作;
或者,所述多个策略执行子模型包括多个进攻策略执行子模型和多个防守策略执行子模型;不同的所述进攻策略执行子模型对应不同的进攻模式,不同的进攻模式包括不同的攻击技能或者攻击技能组合;不同的所述防守策略执行子模型对应不同的防守模式,不同的防守模式用于躲避不同的进攻模式下的攻击技能或攻击技能组合。
可选的,在图6所示的游戏互动装置的基础上,参见图11,图11为本申请实施例提供的另一种游戏互动装置1100的结构示意图。如图11所示,该装置还包括:
第一选择模型训练模块1101,用于在完成对于所述多个策略执行子模型的训练后,获取训练游戏过程中的训练游戏状态信息;获取待训练的所述策略选择子模型根据所述训练游戏状态信息在所述多个策略执行子模型中选择的训练策略执行子模型;获取所述训练游戏过程的训练游戏结果;基于所述训练游戏状态信息、所述训练策略执行子模型和所述训练游戏结果,构建第四训练样本数据;将使所述策略选择子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第四训练样本数据训练所述策略选择子模型。
可选的,在图6所示的游戏互动装置的基础上,参见图12,图12为本申请实施例提供的另一种游戏互动装置1200的结构示意图。如图12所示,该装置还包括:
第二选择模型训练模块1201,用于在训练游戏过程中,利用待训练的所述策略选择子模型与自身进行对战;获取所述训练游戏过程中的训练游戏状态信息;将其中一个所述策略选择子模型作为目标策略选择子模型,获取所述目标策略选择子模型根据所述训练游戏状态信息在所述多个策略执行子模型中选择的训练策略执行子模型;获取所述训练游戏过程的训练游戏结果;基于所述训练游戏状态信息、所述训练策略执行子模型和所述训练游戏结果,构建第五训练样本数据;将使所述目标策略选择子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第五训练样本数据训练所述目标策略选择子模型。
上述游戏互动装置巧妙地化简了游戏中复杂的动作决策问题,模拟真实玩家在游戏过程中的动作决策思维,将策略选择与策略执行分离开来,通过互相独立的策略选择子模型和策略执行子模型分别实现策略选择和策略执行。一方面,通过策略选择子模型在多个策略执行子模型中选择所需运行的策略执行子模型,再通过所选择的策略执行子模型确定虚拟角色所需执行的动作,实现了虚拟角色动作的分层决策,这种动作决策方式能够有效地缩减动作决策空间,降低动作决策难度,有助于快速地应对实时游戏中复杂多变的游戏局势。另一方面,将策略选择和策略执行解耦开来,建立互相独立的策略选择子模型和策略执行子模型,有利于采用合适的训练目标和训练算法对策略选择子模型和策略执行子模型分别进行训练,如此,既能降低分层动作决策模型的训练复杂度和难度,又能保证训练得到的分层动作决策模型具有较优的模型性能,能够实现对于虚拟角色的高水平拟人化控制。
本申请实施例还提供了一种用于游戏互动的设备,该设备具体可以是终端设备或者服务器,下面将从硬件实体化的角度对本申请实施例提供的终端设备和服务器进行介绍。
参见图13,图13是本申请实施例提供的终端设备的结构示意图。如图13所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:PersonalDigital Assistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为计算机为例:
图13示出的是与本申请实施例提供的终端相关的计算机的部分结构的框图。参考图13,计算机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1310、存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块1370、处理器1380、以及电源1390等部件。本领域技术人员可以理解,图13中示出的计算机结构并不构成对计算机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1320可用于存储软件程序以及模块,处理器1380通过运行存储在存储器1320的软件程序以及模块,从而执行计算机的各种功能应用以及数据处理。存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1380是计算机的控制中心,利用各种接口和线路连接整个计算机的各个部分,通过运行或执行存储在存储器1320内的软件程序和/或模块,以及调用存储在存储器1320内的数据,执行计算机的各种功能和处理数据。可选的,处理器1380可包括一个或多个处理单元;优选的,处理器1380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1380中。
在本申请实施例中,该终端所包括的处理器1380还具有以下功能:
获取目标游戏状态信息;
通过分层动作决策模型,根据所述目标游戏状态信息确定目标动作;所述分层动作决策模型包括互相独立的策略选择子模型和多个策略执行子模型;所述策略选择子模型用于根据游戏状态信息在所述多个策略执行子模型中选择所需运行的策略执行子模型;所述策略执行子模型用于根据游戏状态信息确定虚拟角色所需执行的动作;
控制目标虚拟角色执行所述目标动作。
可选的,所述处理器1380还用于执行本申请实施例提供的游戏互动方法的任意一种实现方式的步骤。
参见图14,图14为本申请实施例提供的一种服务器1400的结构示意图。该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1422(例如,一个或一个以上处理器)和存储器1432,一个或一个以上存储应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。
服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图14所示的服务器结构。
其中,CPU 1422用于执行如下步骤:
获取目标游戏状态信息;
通过分层动作决策模型,根据所述目标游戏状态信息确定目标动作;所述分层动作决策模型包括互相独立的策略选择子模型和多个策略执行子模型;所述策略选择子模型用于根据游戏状态信息在所述多个策略执行子模型中选择所需运行的策略执行子模型;所述策略执行子模型用于根据游戏状态信息确定虚拟角色所需执行的动作;
控制目标虚拟角色执行所述目标动作。
可选的,CPU 1422还可以用于执行本申请实施例提供的游戏互动方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种游戏互动方法中的任意一种实施方式。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各个实施例所述的一种游戏互动方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种游戏互动方法,其特征在于,所述方法包括:
获取目标游戏状态信息;
通过分层动作决策模型,根据所述目标游戏状态信息确定目标动作;所述分层动作决策模型包括互相独立的策略选择子模型和多个策略执行子模型;所述策略选择子模型用于根据游戏状态信息在所述多个策略执行子模型中选择所需运行的策略执行子模型;所述策略执行子模型用于根据游戏状态信息确定虚拟角色所需执行的动作;所述通过分层动作决策模型,根据所述目标游戏状态信息确定目标动作包括:
判断当前是否存在正在运行的目标策略执行子模型;
若是,则确定当前正在控制目标虚拟角色执行所述目标策略执行子模型对应的游戏策略,并继续通过所述目标策略执行子模型,根据所述目标游戏状态信息确定所述目标动作;所述游戏策略对应一系列动作,所述一系列动作包括所述目标动作;
若否,则通过所述策略选择子模型,根据所述目标游戏状态信息在所述多个策略执行子模型中选择所需运行的策略执行子模型,作为目标策略执行子模型;通过所述目标策略执行子模型,根据所述目标游戏状态信息确定所述目标动作;
控制目标虚拟角色执行所述目标动作;
所述多个策略执行子模型包括进攻策略执行子模型和防守策略执行子模型;通过以下方式训练所述进攻策略执行子模型和所述防守策略执行子模型:
在训练游戏过程中,利用待训练的所述进攻策略执行子模型和所述防守策略执行子模型进行对战;
获取所述训练游戏过程中的训练游戏状态信息;获取所述进攻策略执行子模型根据所述训练游戏状态信息确定的训练进攻动作;获取所述防守策略执行子模型根据所述训练游戏状态信息确定的训练防守动作;获取所述训练游戏过程的训练游戏结果;
基于所述训练游戏状态信息、所述训练进攻动作和所述训练游戏结果,构建第二训练样本数据;基于所述训练游戏状态信息、所述训练防守动作和所述训练游戏结果,构建第三训练样本数据;
对于所述进攻策略执行子模型,将使所述进攻策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第二训练样本数据训练所述进攻策略执行子模型;
对于所述防守策略执行子模型,将使所述防守策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第三训练样本数据训练所述防守策略执行子模型。
2.根据权利要求1所述的方法,其特征在于,在所述通过所述目标策略执行子模型,根据所述目标游戏状态信息确定所述目标动作之后,所述方法还包括:
根据目标游戏因素,确定是否停止运行所述目标策略执行子模型;所述目标游戏因素包括以下至少一种:所述目标动作、所述目标虚拟角色的状态、所述目标虚拟角色的对手虚拟角色的状态、所述目标策略执行子模型的运行时长。
3.根据权利要求2所述的方法,其特征在于,所述根据目标游戏因素,确定是否停止运行所述目标策略执行子模型,包括:
当所述目标策略执行子模型为所述进攻策略执行子模型时,判断所述目标动作是否对应于所述进攻策略执行子模型的结束技能,若是,则停止运行所述进攻策略执行子模型;
当所述目标策略执行子模型为所述防守策略执行子模型时,判断所述目标虚拟角色是否被所述对手虚拟角色的动作击中,若是,则停止运行所述防守策略执行子模型;或者,当所述目标策略执行子模型为所述防守策略执行子模型时,判断所述防守策略执行子模型的运行时长是否超过预设运行时间阈值,若是,则停止运行所述防守策略执行子模型。
4.根据权利要求1所述的方法,其特征在于,通过以下方式训练所述策略执行子模型:
获取训练游戏过程中的训练游戏状态信息;获取待训练的所述策略执行子模型根据所述训练游戏状态信息确定的训练动作;获取所述训练游戏过程的训练游戏结果;
基于所述训练游戏状态信息、所述训练动作和所述训练游戏结果,构建第一训练样本数据;
将使所述策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第一训练样本数据训练所述策略执行子模型。
5.根据权利要求1所述的方法,其特征在于,通过以下方式构建所述策略执行子模型:
基于所述策略执行子模型对应的游戏策略下的动作执行条件与执行动作之间的对应关系,构建行为树模型作为所述策略执行子模型。
6.根据权利要求1所述的方法,其特征在于,所述在训练游戏过程中,利用待训练的所述进攻策略执行子模型和所述防守策略执行子模型进行对战,包括:
在所述训练游戏过程中,利用第m代所述进攻策略执行子模型和第n代所述防守策略执行子模型进行对战;所述m和所述n均为大于或等于0的整数;所述m与所述n相等,或者所述m与所述n之间相差1;
当所述m小于或等于所述n时,执行所述将使所述进攻策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第二训练样本数据训练所述进攻策略执行子模型;
当所述m大于所述n时,执行所述将使所述防守策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第三训练样本数据训练所述防守策略执行子模型。
7.根据权利要求1、3和6中任一项所述的方法,其特征在于,
所述多个策略执行子模型包括多个进攻策略执行子模型和一个防守策略执行子模型;不同的所述进攻策略执行子模型对应不同的进攻模式,不同的进攻模式包括不同的攻击技能或者攻击技能组合;所述防守策略执行子模型用于在不同的进攻模式下根据游戏状态信息确定躲避动作;
或者,所述多个策略执行子模型包括多个进攻策略执行子模型和多个防守策略执行子模型;不同的所述进攻策略执行子模型对应不同的进攻模式,不同的进攻模式包括不同的攻击技能或者攻击技能组合;不同的所述防守策略执行子模型对应不同的防守模式,不同的防守模式用于躲避不同的进攻模式下的攻击技能或攻击技能组合。
8.根据权利要求1所述的方法,其特征在于,完成对于所述多个策略执行子模型的训练后,通过以下方式训练所述策略选择子模型:
获取训练游戏过程中的训练游戏状态信息;获取待训练的所述策略选择子模型根据所述训练游戏状态信息在所述多个策略执行子模型中选择的训练策略执行子模型;获取所述训练游戏过程的训练游戏结果;
基于所述训练游戏状态信息、所述训练策略执行子模型和所述训练游戏结果,构建第四训练样本数据;
将使所述策略选择子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第四训练样本数据训练所述策略选择子模型。
9.根据权利要求1所述的方法,其特征在于,完成对于所述多个策略执行子模型的训练后,通过以下方式训练所述策略选择子模型:
在训练游戏过程中,利用待训练的所述策略选择子模型与自身进行对战;
获取所述训练游戏过程中的训练游戏状态信息;将其中一个所述策略选择子模型作为目标策略选择子模型,获取所述目标策略选择子模型根据所述训练游戏状态信息在所述多个策略执行子模型中选择的训练策略执行子模型;获取所述训练游戏过程的训练游戏结果;
基于所述训练游戏状态信息、所述训练策略执行子模型和所述训练游戏结果,构建第五训练样本数据;
将使所述目标策略选择子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第五训练样本数据训练所述目标策略选择子模型。
10.一种游戏互动装置,其特征在于,所述装置包括:
信息获取模块,用于获取目标游戏状态信息;
动作决策模块,用于通过分层动作决策模型,根据所述目标游戏状态信息确定目标动作;所述分层动作决策模型包括互相独立的策略选择子模型和多个策略执行子模型;所述策略选择子模型用于根据游戏状态信息在所述多个策略执行子模型中选择所需运行的策略执行子模型;所述策略执行子模型用于根据游戏状态信息确定虚拟角色所需执行的动作;
角色控制模块,用于控制目标虚拟角色执行所述目标动作;
所述动作决策模块具体用于:
判断当前是否存在正在运行的目标策略执行子模型;
若是,则确定当前正在控制目标虚拟角色执行所述目标策略执行子模型对应的游戏策略,并继续通过所述目标策略执行子模型,根据所述目标游戏状态信息确定所述目标动作;所述游戏策略对应一系列动作,所述一系列动作包括所述目标动作;
若否,则通过所述策略选择子模型,根据所述目标游戏状态信息在所述多个策略执行子模型中选择所需运行的策略执行子模型,作为目标策略执行子模型;通过所述目标策略执行子模型,根据所述目标游戏状态信息确定所述目标动作;
所述多个策略执行子模型包括进攻策略执行子模型和防守策略执行子模型;所述装置还包括:
第三执行模型训练模块,用于通过以下方式训练所述进攻策略执行子模型和所述防守策略执行子模型:
在训练游戏过程中,利用待训练的所述进攻策略执行子模型和所述防守策略执行子模型进行对战;
获取所述训练游戏过程中的训练游戏状态信息;获取所述进攻策略执行子模型根据所述训练游戏状态信息确定的训练进攻动作;获取所述防守策略执行子模型根据所述训练游戏状态信息确定的训练防守动作;获取所述训练游戏过程的训练游戏结果;
基于所述训练游戏状态信息、所述训练进攻动作和所述训练游戏结果,构建第二训练样本数据;基于所述训练游戏状态信息、所述训练防守动作和所述训练游戏结果,构建第三训练样本数据;
对于所述进攻策略执行子模型,将使所述进攻策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第二训练样本数据训练所述进攻策略执行子模型;
对于所述防守策略执行子模型,将使所述防守策略执行子模型控制的虚拟角色的游戏结果为胜利作为训练目标,利用所述第三训练样本数据训练所述防守策略执行子模型。
11.一种游戏互动设备,其特征在于,所述设备包括处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1至9中任一项所述的游戏互动方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于使得计算机设备执行权利要求1至9中任一项所述的游戏互动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110281255.XA CN112870721B (zh) | 2021-03-16 | 2021-03-16 | 一种游戏互动方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110281255.XA CN112870721B (zh) | 2021-03-16 | 2021-03-16 | 一种游戏互动方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112870721A CN112870721A (zh) | 2021-06-01 |
CN112870721B true CN112870721B (zh) | 2023-07-14 |
Family
ID=76040918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110281255.XA Active CN112870721B (zh) | 2021-03-16 | 2021-03-16 | 一种游戏互动方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112870721B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113996063A (zh) * | 2021-10-29 | 2022-02-01 | 北京市商汤科技开发有限公司 | 游戏中虚拟角色的控制方法、装置及计算机设备 |
CN113988317B (zh) * | 2021-12-23 | 2022-04-05 | 中国科学院自动化研究所 | 一种针对球场运动球员的动态策略优化方法及装置 |
CN114404976B (zh) * | 2022-01-20 | 2024-08-20 | 腾讯科技(深圳)有限公司 | 决策模型的训练方法、装置、计算机设备及存储介质 |
CN114768246B (zh) * | 2022-06-21 | 2022-08-30 | 欢喜时代(深圳)科技有限公司 | 一种游戏人机互动方法及其系统 |
CN115228087A (zh) * | 2022-07-18 | 2022-10-25 | 深圳市大梦龙途文化传播有限公司 | 游戏角色控制优化方法、装置、电子设备及介质 |
CN115337645A (zh) * | 2022-08-30 | 2022-11-15 | 网易(杭州)网络有限公司 | 虚拟机器人动作确定方法、装置、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515373B (zh) * | 2009-03-26 | 2011-01-19 | 浙江大学 | 竞技性交互式动画生成方法 |
CN108920221B (zh) * | 2018-06-29 | 2023-01-10 | 网易(杭州)网络有限公司 | 游戏难度调整的方法及装置、电子设备、存储介质 |
CN110134375B (zh) * | 2019-05-14 | 2023-11-21 | 网易(杭州)网络有限公司 | 游戏角色行为的控制方法、装置及可读存储介质 |
CN110882544B (zh) * | 2019-11-28 | 2023-09-15 | 网易(杭州)网络有限公司 | 多智能体训练方法、装置和电子设备 |
CN111444828B (zh) * | 2020-03-25 | 2023-06-20 | 腾讯科技(深圳)有限公司 | 一种模型训练的方法、目标检测的方法、装置及存储介质 |
CN111632379B (zh) * | 2020-04-28 | 2022-03-22 | 腾讯科技(深圳)有限公司 | 游戏角色行为控制方法、装置、存储介质及电子设备 |
CN112274925B (zh) * | 2020-10-28 | 2024-02-27 | 超参数科技(深圳)有限公司 | Ai模型训练方法、调用方法、服务器及存储介质 |
-
2021
- 2021-03-16 CN CN202110281255.XA patent/CN112870721B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112870721A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112870721B (zh) | 一种游戏互动方法、装置、设备及存储介质 | |
CN111282279B (zh) | 模型训练的方法、基于交互式应用的对象控制方法及装置 | |
CN108888958B (zh) | 虚拟场景中的虚拟对象控制方法、装置、设备及存储介质 | |
CN110991545B (zh) | 一种面向多智能体对抗的强化学习训练优化方法及装置 | |
CN112169339A (zh) | 用于在视频游戏中模仿玩家玩游戏的定制的模型 | |
CN114949861A (zh) | 使用云游戏网络的人工智能(ai)模型训练 | |
US20210201148A1 (en) | Method, apparatus, and storage medium for predicting information | |
CN112791394B (zh) | 游戏模型训练方法、装置、电子设备及存储介质 | |
CN108629422A (zh) | 一种基于知识指导-战术感知的智能体学习方法 | |
KR20190097177A (ko) | 캐릭터 구성 방법 및 장치, 저장 매체 및 전자 장치 | |
CN111450534B (zh) | 一种标签预测模型的训练方法、标签预测的方法及装置 | |
CN111841018B (zh) | 模型训练方法、模型使用方法、计算机设备及存储介质 | |
CN109960545B (zh) | 虚拟对象控制方法、系统、装置、介质及电子设备 | |
CN116747521B (zh) | 控制智能体进行对局的方法、装置、设备及存储介质 | |
WO2023024762A1 (zh) | 人工智能对象控制方法、装置、设备及存储介质 | |
CN115581922A (zh) | 游戏角色控制方法、装置、存储介质以及电子设备 | |
CN115888119A (zh) | 一种游戏ai训练方法、装置、电子设备及存储介质 | |
CN114404975A (zh) | 决策模型的训练方法、装置、设备、存储介质及程序产品 | |
CN114344889B (zh) | 游戏策略模型生成方法和游戏中智能体的控制方法 | |
CN113509726A (zh) | 交互模型训练方法、装置、计算机设备和存储介质 | |
Tavares et al. | Tabular reinforcement learning in real-time strategy games via options | |
Magdy et al. | Deep reinforcement learning approach for augmented reality games | |
CN116943204A (zh) | 虚拟对象的控制方法、装置和存储介质及电子设备 | |
Kayakoku et al. | A Novel Behavioral Strategy for RoboCode Platform Based on Deep Q‐Learning | |
Patel et al. | Improving behavior of computer game bots using fictitious play |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40046383 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |