CN109985382A - 剧情节点的脚本执行方法、装置、设备及存储介质 - Google Patents
剧情节点的脚本执行方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109985382A CN109985382A CN201910267396.9A CN201910267396A CN109985382A CN 109985382 A CN109985382 A CN 109985382A CN 201910267396 A CN201910267396 A CN 201910267396A CN 109985382 A CN109985382 A CN 109985382A
- Authority
- CN
- China
- Prior art keywords
- plot
- node
- candidate
- script
- subsequent
- 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.)
- Pending
Links
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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- 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/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种剧情节点的脚本执行方法、装置、设备以及存储介质,涉及互联网领域。该装置包括剧情控制模块、剧情数据库模块、剧情脚本虚拟机模块、剧情显示模块等,可以为玩家提供丰富的游戏剧情选项,并根据玩家的游戏选项演绎对应的剧情内容。本申请还涉及一种基于上述装置的剧情节点的脚本执行方法,该方法可以按需增减游戏剧情选项,可以使每个玩家看到不同的剧情选项,也可以使同一个玩家在不同的状态下也能看到不同的剧情选项。通过上述***和方法设计的网络游戏对玩家来说更具新鲜感,增加了游戏趣味性。
Description
技术领域
本申请涉及互联网领域,特别涉及一种剧情节点的脚本执行方法、装置、设备及存储介质。
背景技术
诸如手机、平板电脑等终端中安装有各类网络游戏。
在一类网络游戏的运行过程中,需要向用户展示游戏剧情,使用户能够通过一系列的游戏操作来推动剧情发展,完成游戏任务。在游戏过程中,用户触发一条游戏剧情线,那么从剧情开始至剧情结束的每一个剧情节点是预先设置的,通过顺序执行一条连续的剧情节点来展示一个完整剧情。而上述一条连续的剧情节点是单线执行的,也就是在第一个剧情节点完成之后,必然触发第二个剧情节点,以此类推,直至剧情结束。
上述对游戏的剧情节点的设置,一条剧情线上每一个剧情节点对应的一个剧情,关联的上下节点不变,剧情发展只能朝着一个方向发展,由于服务器的运行能力有限,当大量用户进入该剧情时,可能造成服务器卡顿的情况。
发明内容
本申请实施例提供了一种剧情节点的脚本执行方法、装置、设备及存储介质,可以解决当大量用户进入游戏时服务器卡顿的问题。所述技术方案如下:
根据本申请的一个方面,提供了一种剧情节点的脚本执行方法,该方法包括:
在应用程序的运行过程中,执行第一剧情节点的脚本,该第一剧情节点的脚本中包括至少两个后续剧情节点的节点标识;
根据节点标识从至少两个后续剧情节点中,确定出候选剧情节点;
从候选剧情节点中确定出第二剧情节点,该第二剧情节点是第一剧情节点的下一个执行节点;
执行第二剧情节点的脚本。
根据本申请的另一方面,提供了一种剧情节点的脚本执行装置,该装置包括:
执行模块,用于在应用程序的运行过程中,执行第一剧情节点的脚本,该第一剧情节点的脚本中包括至少两个后续剧情节点的节点标识;
确定模块,用于根据节点标识从至少两个后续剧情节点中,确定出候选剧情节点;
确定模块,用于从候选剧情节点中确定出第二剧情节点,该第二剧情节点是第一剧情节点的下一个执行节点;
执行模块,用于执行第二剧情节点的脚本。
根据本申请的另一方面,提供了一种终端,该终端包括:
存储器;
与存储器相连的处理器;
其中,处理器被配置为加载并执行可执行指令以实现如上述第一方面及其可选实施例所述的剧情节点的脚本执行方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上述第一方面及其可选实施例所述的剧情节点的脚本执行方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在应用程序的运行过程中,通过从第一剧情节点的至少两个后续剧情节点中,确定出候选剧情节点;之后从候选剧情节点中确定出第二剧情节点,该第二剧情节点是第一剧情节点的下一个执行节点;在执行第一剧情节点之后执行第二剧情节点。上述剧情节点的脚本执行方法中,一个剧情节点包括至少两个后续剧情节点,则一个剧情可以包括至少两个分支方向,在大量用户进入该剧情之后可以朝着不同的方向发展,避免了所有用户仅一个剧情线可用使服务器的负载过重,导致卡顿的情况。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的计算机***的结构示意图;
图2是本申请一个示例性实施例提供的剧情***的结构示意图;
图3是本申请一个示例性实施例提供的剧情节点的脚本执行方法的流程图;
图4是本申请一个示例性实施例提供的剧情节点的脚本的结构示意图;
图5是本申请另一个示例性实施例提供的剧情节点的脚本执行方法的流程图;
图6是本申请一个示例性实施例提供的分支剧情的结构示意图;
图7是本申请另一个示例性实施例提供的分支剧情的结构示意图;
图8是本申请一个示例性实施例提供的剧情节点的脚本执行方法的界面示意图;
图9是本申请另一个示例性实施例提供的剧情节点的脚本执行方法的界面示意图;
图10是本申请另一个示例性实施例提供的剧情节点的脚本执行方法的流程图;
图11是本申请另一个示例性实施例提供的剧情节点的脚本执行方法的流程图;
图12是本申请另一个示例性实施例提供的分支剧情的结构示意图;
图13是本申请一个示例性实施例提供的剧情节点的脚本执行装置的框图;
图14是本申请一个示例性实施例提供的电子设备的结构示意图;
图15是本申请一个示例性实施例提供的服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
对本申请涉及的若干个名词进行简介:
剧情节点:在游戏的剧情设计上,将剧情分节展示。其中,每一节剧情为单独的一段剧情,同时与上下节剧情关联,将每一节剧情定义为剧情节点。在一些实施例中,一个剧情节点可以包括n个后续剧情节点。也就是说,在该剧情节点上设置有n个剧情分支,可以通过用户的选择操作、游戏的当前进度、游戏角色的属性信息中的至少一种方式,确定以n个剧情分支中的一个剧情分支作为剧情走向,在该剧情节点之后执行上述一个剧情分支对应的一个该剧情节点对应的后续剧情节点,n为正整数。另外,上下关联的一串剧情节点,能够实现一个剧情分支的完整剧情展示。
主控角色:是指在虚拟环境中用户控制的可活动的对象;可选地,该主控角色可以是虚拟人物、虚拟动物、动漫人物中的至少一种。其中,虚拟环境是应用程序在终端上运行时显示(或提供)的虚拟环境,该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的环境,还可以是纯虚构的环境。可选地,虚拟环境可以是二维虚拟环境、2.5维虚拟环境和三维虚拟环境中的任意一种。
机器角色:是指在虚拟环境中非用户控制的可活动的对象;可选地,该机器角色是非玩家角色(Non-Player Character,NPC),NPC可以是虚拟人物、虚拟动物、动漫人物中的至少一种。
角色状态信息:是指主控角色的状态信息,该状态信息用于确定剧情节点是否符合执行条件。可选地,角色状态信息包括主控角色对应的剧情进度、剧情完成度、主控角色的属性信息中的至少一种。
LUA虚拟机:是用于解析LUA代码的工具。LUA代码是一种脚本语言,解析LUA代码是指将LUA代码解析为计算机能够识别并执行的计算机语言。
请参考图1,示出了一个示例性实施例提供的计算机***的结构框图。该计算机***包括:终端120和服务器140。
终端120可以是手机、平板电脑、电子书阅读器、MP3(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
该终端120中安装有应用程序122;可选地,该应用程序122可以是在线网络游戏。该应用程序122具有帐号登录功能,用户可以在应用程序122中注册和登录自己的用户帐号;可选的,该用户帐号下可以包括一个或者多个主控角色。比如,该应用程序122是在线网络游戏,用户在该网络游戏中登录自己拥有的玩家帐号,该玩家帐号下可以包括一个或者多个玩家角色。
该应用程序122中包括n个剧情节点的脚本,如图1中所示,上述剧情节点的脚本被执行以实现一个或者多个剧情分支,n为正整数。
服务器140与终端120通过有线或者无线网络相连。服务器140包括数据库142,数据库142中存储有应用程序122的数据信息,该数据信息包括应用程序122中的用户帐号信息、用户帐号下的角色状态信息以及角色属性信息中的至少一种。
当终端120中运行应用程序122时,终端120通过有线网络或者无线网络从服务器140的数据库142中获取数据信息,用于执行剧情节点的脚本。
请参考图2,示出了本申请一个示例性实施例提供的剧情***的框图,该剧情***用于实现本申请提供的一种剧情节点的脚本执行方法,该剧情***包括:终端220和服务器240;终端220中包括剧情控制器模块222、LUA虚拟机224、显示模块226、剧情数据库228和本地数据库230,服务器240包括数据库242。
该剧情***执行剧情节点的脚本实现方法时,由剧情控制器模块222从剧情数据库228中读取剧情节点的脚本,将读取的剧情节点的脚本加载至运行内存中。其中,剧情数据库228中存储有应用程序的n个剧情节点的脚本;
可选地,该剧情节点的脚本中包括使用LUA代码编写的程序语句,该应用程序中还内嵌有LUA虚拟机224,LUA虚拟机224解析并执行剧情节点的脚本中的LUA代码;可选地,LUA虚拟机224从本地数据库230中获取应用程序的数据信息,根据上述数据信息执行剧情节点的脚本中的LUA代码;其中,本地数据库230中的数据信息是终端220通过有线或者无线网络从数据库242中获取得到的;
LUA虚拟机224执行LUA代码,将LUA代码对应的剧情由显示模块226在终端220的用户界面上进行显示。可选地,显示模块226包括用户界面(User Interface,UI)子模块2262、场景子模块2264和角色子模块2266;其中,UI子模块2262用于在终端上显示剧情节点对应的用户界面;场景子模块2264用于显示剧情节点对应的虚拟环境的场景画面;角色子模块2266用于在虚拟环境的场景画面中显示主控角色。
请参考图3,示出了一个示例性实施例提供的剧情节点的脚本执行方法的流程图,以该方法应用于上述图1或者图2所示的***中为例,该方法包括:
步骤301,在应用程序的运行过程中,执行第一剧情节点的脚本。
终端中安装有应用程序,可选地,该应用程序可以是在线网络游戏。该应用程序中包括n个剧情节点的脚本,n为正整数。
上述n个剧情节点中的一个剧情节点被触发,将被触发的剧情节点确定为第一剧情节点,执行第一剧情节点的脚本。其中,第一剧情节点的脚本中包括至少两个后续剧情节点的节点标识,该节点标识是指示后续剧情节点的标识。
步骤302,根据节点标识从至少两个后续剧情节点中,确定出候选剧情节点。
终端根据节点标识获取至少两个后续剧情节点的脚本,根据至少两个后续剧情节点的脚本从至少两个后续剧情节点中确定出至少一个候选剧情节点。
可选地,终端根据根据每个剧情节点的脚本中的执行条件从至少两个后续剧情节点中确定出至少一个候选剧情节点;
或,终端根据每个剧情节点的脚本中的优先级从至少两个后续剧情节点中确定出至少一个候选剧情节点;
或,终端从至少两个后续剧情节点中随机确定出至少一个候选剧情节点;
或,终端根据用户的选择触发操作从至少两个后续剧情节点中确定出至少一个候选剧情节点。
步骤303,从候选剧情节点中确定出第二剧情节点。
终端从至少一个候选剧情节点中确定出第二剧情节点。
步骤304,执行第二剧情节点的脚本。
终端执行第二剧情节点的脚本。其中,第一剧情节点可以是第j个剧情节点,则第二剧情节点为第j+1个剧情节点,j为正整数。
综上所述,本实施例提供的剧情节点的脚本执行方法,在应用程序的运行过程中,通过从第一剧情节点的至少两个后续剧情节点中,确定出候选剧情节点;之后从候选剧情节点中确定出第二剧情节点,该第二剧情节点是第一剧情节点的下一个执行节点;在执行第一剧情节点之后执行第二剧情节点。上述剧情节点的脚本执行方法中,一个剧情节点包括至少两个后续剧情节点,则一个剧情可以包括至少两个分支方向,在大量用户进入该剧情之后可以朝着不同的方向发展,解决了当所有用户仅一个剧情线可用时服务器的负载过重,导致服务器卡顿的情况。
另外,该方法使用户可以选择不同的剧情,增加了用户的新鲜感,也增加了游戏的趣味性。
需要说明的是,上述剧情节点的脚本的结构可以如图4所示,该剧情节点是对话节点(Dialogue Node),该对话节点包括节点标识(Identity,ID)、对话索引(Dialogue TextID)、角色(Actor)、执行条件(Condition)、脚本代码(Script)、后续剧情节点(Next)、优先级(Priority)和剧情节点名称(Name)。
其中,ID表示每一段剧情对应的一个节点的标识,该标识使用整数来表示,比如,起始节点的ID为0;
Dialogue Text ID中包括的ID是指对话ID,该对话ID用于从数据库中查找相应的对话内容,其中,上述Dialogue Text ID使用整数来表示;
Actor是指该对话节点的角色名称,该角色名称用于查找对应的角色信息,角色信息包括角色头像、角色类型、角色属性中的至少一种;终端可以根据该角色名称确定该角色是主控角色或者机器角色;可选地,主控角色可以是玩家角色,机器角色可以是NPC;
Condition是指该对话节点的执行条件,用一段字符串表示,用于从当前剧情节点的后续剧情节点中确定出候选剧情节点,或者,从候选剧情节点中确定出第二剧情节点;可选地,该字符串是Lua代码字符串;
Script是指在该剧情节点上展示上述一段剧情的脚本代码,用一段字符串来表示;可选地,该字符串是Lua代码字符串;
Next是一个数组,该数组中以列表的形式记录有该剧情节点对应的后续剧情节点的ID,其中,后续剧情节点的ID使用整数表示;
Priority是指该剧情节点的优先级,在一些实施例中,通过优先级确定该剧情节点执行的先后顺序;
Name是指该剧情节点的剧情节点名称;可选地,当该剧情节点为主控角色的对话节点时,在终端上显示该剧情节点的剧情节点名称。
基于图3,步骤302的内容“根据节点标识从至少两个后续剧情节点中,确定出候选剧情节点”,可以由以下步骤3021至步骤3023实现,如图5所示:
步骤3021,获取主控角色的角色状态信息。
应用程序对应设置有服务器,该服务器中包括数据库,数据库中存储有应用程序中的主控角色的角色状态信息,终端通过有线或者无线网络从服务器的获取主控角色的角色状态信息。
可选地,主控角色的角色状态信息包括剧情进度、剧情完成度中的至少一种。
步骤3022,根据节点标识获取至少两个后续剧情节点的脚本。
终端根据节点标识获取至少两个后续剧情节点的脚本。可选地,至少两个后续剧情节点中每个后续剧情节点的脚本中包括对应的执行条件。其中,不同的后续剧情节点的脚本中的执行条件可以相同,也可以不同。
步骤3023,从至少两个后续剧情节点中,确定出角色状态信息符合执行条件的候选剧情节点。
终端将角色状态信息输入至少两个后续剧情节点的脚本中,得到脚本的返回值;将返回值为目标取值的后续剧情节点,确定为候选剧情节点;其中,目标取值用于指示角色状态信息符合后续剧情节点的执行条件。
示意性的,结合图4所示的脚本结构,终端将角色状态信息作为输入信息执行一个后续剧情节点的脚本中的执行条件Condition,得到一个脚本返回值;当返回值为目标取值时,则Condition的执行结果为true,将该后续剧情节点确定为候选剧情节点;当返回值不是目标取值时,则Condition的执行结果为false,该后续剧情节点不能作为候选剧情节点。
在一些实施例中,角色状态信息可以包括剧情进度、剧情完成度中的至少一种。可选地,角色状态信息包括剧情进度,对应地,执行条件包括剧情进度符合目标进度。比如,第一剧情节点的剧情进度为0,则当前剧情进度应当为1,若后续剧情节点中设置的目标进度为1,当前剧情进度符合后续剧情节点中的目标进度,则该后续剧情节点被确定为第二剧情节点的候选剧情节点;若后续剧情节点中设置的目标进度为2,当前剧情进度不符合后续剧情节点中的目标进度,则该候选剧情节点不能作为第二剧情节点的候选剧情节点。其中,当终端执行第一剧情节点时,若第一剧情节点的剧情进度为i,则将当前剧情进度记录为i+1,该第一剧情节点的后续剧情节点根据当前进度判断是否符合执行条件,当前剧情进度指示第二剧情节点的剧情进度,i为整数。
可选地,角色状态信息包括剧情完成度,对应地,执行条件包括剧情完成度符合目标完成度;其中,目标完成度是未执行,或者,已执行且未完成。比如,第一剧情节点的后续剧情节点中设置的剧情完成度为0,服务器的数据库中记录每个用户帐号对应的各个剧情节点的剧情完成度,若记录的该后续剧情节点的剧情完成度为0,则将该后续剧情节点确定为第二剧情节点的候选剧情节点;若记录的该后续剧情节点的剧情完成度为1,则该后续剧情节点不能作为第二剧情节点的候选剧情节点。其中,“0”表示未执行、或者已执行且未完成;“1”则表示已执行且已完成。
以应用程序是一种在线网路游戏为例,阐述执行条件为剧情进度符合目标进度的情形,如图6所示,示出了一个条件导向的分支剧情的结构示意图,图中起始剧情节点<START>导向至三个后续剧情节点,分别为<保存点1分支>、<保存点2分支>、<保存点3分支>。每个后续剧情节点具有不同的执行条件[Condition],比如,执行条件[Condition]的代码为“GetCurStep()==x”,则通过当前剧情进度来判断剧情走向;其中,<保存点1分支>中的x为1,<保存点2分支>中的x为2,<保存点3分支>中的x为3,若当前剧情进度为1,则<保存点1分支>中GetCurStep()函数被执行之后的返回值为1,执行条件[Condition]的判别结果为“true”;而<保存点2分支>、<保存点3分支>中GetCurStep()函数被执行之后的返回值为0,执行条件[Condition]的判别结果为“false”;表示<保存点1分支>为当前剧情节点之后的第二剧情节点,即当前剧情节点执行完毕之后,执行节点<保存点1分支>。
其中,<保存点1分支>的脚本用于实现功能“运镜”,脚本{script}对应设置有“运境”的实现代码;<保存点2分支>的脚本用于实现功能“播放音效”,脚本{script}对应设置有“播放音效”的实现代码;<保存点3分支>的脚本用于实现功能“NPC移动”,脚本{script}对应设置有“NPC移动”的实现代码。节点<保存点1分支>、<保存点2分支>、<保存点3分支>无候选节点,标记有[END]。
另外,如图7所示,示出了另一个条件导向的分支剧情的结构示意图,该图中展示的内容阐述了一种执行条件包括剧情进度符合目标进度且剧情完成度符合目标完成度的情形,图中起始剧情节点<START>导向至三个后续剧情节点,分别为<分享>、<用金币>、<用道具兑换>。上述三个后续剧情节点是主控角色的对话节点,剧情走向是根据用户在终端上的剧情选择操作确定的。在选择执行上述任一一个后续剧情节点之前,需要判断当前剧情进度是否符合上述三个后续剧情节点的执行条件;比如,执行条件的代码为“GetCurStep()==x”,而上述三个后续剧情节点的x值均为1,若当前剧情进度为1,则上述三个后续剧情节点均为候选剧情节点,由于上述三个候选剧情节点是主控角色的对话节点,则在终端上显示三个按钮控件,三个按钮控件上分别对应显示有上述三个候选剧情节点的剧情节点名称,参考图8,剧情节点<分享>在用户界面20的按钮控件21上对应显示的剧情节点名称为“参与分享领取暖心好礼”,剧情节点<用金币>在用户界面20的按钮控件22上对应显示的剧情节点名称为“上供一袋铜钱以示诚意”,剧情节点<用道具兑换>在用户界面20的按钮控件23上对应显示的剧情节点名称为“选择一份好礼赠予狐妖”。
其中,起始剧情节点<START>为当前剧情节点,当前剧情节点的脚本中包括NPC,以及NPC的对话内容的对话索引,在执行起始剧情节点<START>时,还显示NPC对话,如图8所示,在用户界面20上还显示有NPC对话24“选择上供礼物或者金钱,又或者选择用诚意打动狐妖,不同的选择可能会影响解签的结果哦!”。终端中还存储有游戏表格,该游戏表格是根据Dialogue Text ID对应存储角色对话的表格。示意性的,表1为一个游戏表格,上述起始剧情节点的脚本中Dialogue Text ID为1,则用户界面20上显示NPC对话24。
表1
在终端上接收三个候选剧情节点中的任意一个对应的控件按钮上触发的选择操作,则终端接收到对应的剧情选择信号之后,将选择的候选剧情节点确定为第二剧情节点,执行第二剧情节点,比如,接收在“上供一袋铜钱以示诚意”这一选项对应的按钮控件上的选择操作,则终端根据相应的剧情选择信号执行剧情节点<用金币>,获得道具B;接收在“参与分享领取暖心好礼”这一选项对应的按钮控件上的选择操作,则执行剧情节点<分享>,获得道具A;接收在“选择一份好礼赠予狐妖”这一选项对应的按钮控件上的选择操作,则执行剧情节点<用道具兑换>,获得道具C。获得道具A、获得道具B以及获得道具C的代码写在每个候选剧情节点的脚本中的对应项{script}中。
还需要说明的是,图7中三个后续节点的执行条件还包括剧情完成度符合目标完成度,目标完成度是未执行,或者,已执行且为完成;剧情完成度符合目标完成度表示一个剧情节点是未被执行的,或者,被执行过但未能执行完成的。当图7中三个后续剧情节点的当前剧情进度符合执行条件中设置的剧情进度时,还需要判断每一个后续剧情节点的剧情完成度;以目标完成度为0举例说明,若一个后续剧情节点的剧情完成度为0,则将该后续剧情节点确定为候选剧情节点,若该后续剧情节点的剧情完成度为1,则表示该后续剧情节点已执行且已执行完成,该后续剧情节点不为候选剧情节点。可选地,当候选剧情节点为主控角色的对话节点时,在终端上仅显示确定为候选剧情节点的剧情节点。比如,剧情节点<分享>、<用金币>、<用道具兑换>的执行条件中设置的进度均与当前进度匹配,<用金币>、<用道具兑换>的剧情完成度为0,而剧情节点<分享>的剧情完成度为1;则<分享>的执行条件[condition]返回的执行结果为“false”,<用金币>、<用道具兑换>的执行条件[condition]返回的执行结果为“true”,将<用金币>、<用道具兑换>确定为候选剧情节点,在用户界面上显示候选剧情节点对应的选择项,如图9所示,用户界面25上显示标记有“上供一袋铜钱以示诚意”的按钮控件22和标记有“选择一份好礼赠予狐妖”的按钮控件23,但并不显示剧情节点<分享>对应的按钮控件。
基于图3,从候选剧情节点中确定出第二剧情节点可以包括以下两种方法:
第一,根据候选剧情节点的优先级确定第二剧情节点;示意性的,当候选剧情节点为至少两个且每个候选剧情节点存在对应的优先级时,将优先级最高的候选剧情节点确定为第二剧情节点;
第二,根据用户的选择操作确定第二剧情节点;示意性的,当候选剧情节点为至少两个时,显示用于对候选剧情节点进行选择的剧情选择界面;接收在剧情选择界面上的剧情选择信号;根据剧情选择信号确定出第二剧情节点。
根据上述两种方法,可以将步骤303替换为步骤3031至步骤3036,说明确定第二剧情节点的过程,如图10所示,步骤如下:
步骤3031,判断第一剧情节点是否是机器角色的对话节点。
当第一剧情节点不是机器角色的对话节点时,执行步骤3036。可选地,当第一剧情节点是非对话节点或者主控角色的对话节点时,执行步骤3036。
当第一剧情节点是机器角色的对话节点时,执行步骤3032。
步骤3032,判断至少两个候选剧情节点中是否存在主控角色的对话节点。
当至少两个候选剧情节点中不存在主控角色的对话节点时,执行步骤3036。
当至少两个候选剧情节点中存在主控角色的对话节点时,执行步骤3033。
示意性的,结合步骤3031与步骤3032所述的内容,第一剧情节点的脚本中包括Actor与Dialogue Text ID;当第一剧情节点的脚本中的Actor与Dialogue Text ID的成员变量不为空时,终端根据Actor确定第一剧情节点中的角色为主控角色或者机器角色。当第一剧情节点中的角色为主控角色时,则第一剧情节点不是机器角色的对话节点,执行步骤3036;当第一剧情节点中的角色为机器角色时,则第一剧情节点是机器角色的对话节点,终端检测候选剧情节点的脚本中的Actor与Dialogue Text ID。当候选剧情节点的Actor与Dialogue Text ID的成员变量为空,或者根据候选剧情节点的Actor检测得到候选剧情节点是机器角色的对话节点,执行步骤3036;当候选剧情节点是主控角色的对话节点时,执行步骤3033。
步骤3033,显示用于对候选剧情节点进行选择的剧情选择界面。
候选剧情节点为主控角色的对话节点,该候选剧情节点中包括剧情节点名称Name;终端显示剧情选择界面,剧情选择界面上包括候选剧情节点对应的按钮控件,按钮控件上显示有候选剧情节点的Name。
步骤3034,接收在剧情选择界面上的剧情选择信号。
用户对终端的剧情选择界面上一个候选剧情节点对应按钮控件进行触发操作,终端接收到剧情选择界面上的剧情选择信号,该剧情选择信号用于从至少两个候选剧情节点中确定出第二剧情节点。
步骤3035,根据剧情选择信号确定出第二剧情节点。
终端将剧情选择信号指示的一个候选剧情节点确定为第二剧情节点。
示意性的,如图8,示出了一个实施例提供的用户界面20,该用户界面是一个剧情选择界面,该用户界面20上显示了三个候选剧情节点对应的按钮控件,分别为按钮控件21、按钮控件22和按钮控件23。当用户选择触发按钮控件21时,则终端将按钮控件21对应的候选剧情节点<分享>确定为第二剧情节点,对应参考图7。
步骤3036,根据至少两个候选剧情节点中每个候选剧情节点存在的对应的优先级,将优先级最高的候选剧情节点确定为第二剧情节点。
候选剧情节点的脚本中包括优先级,终端将至少两个候选剧情节点中优先级最高的候选剧情节点确定为第二剧情节点。
请参考图11,示出了一个示意性实施例提供的剧情节点的执行方法的流程图,该方法应用于终端中,该方法包括:
401,启动。
402,设置启动的剧情节点为当前剧情节点。
一条剧情启动,将启动的剧情节点设置为当前剧情节点。其中,每一条剧情的启动的剧情节点的ID默认为0,且该启动节点唯一。
403,执行当前剧情节点中的脚本代码。
执行当前剧情节点中的脚本代码;可选地,对应图4中的脚本的结构示意图,当前剧情节点的脚本中包括script,该script的成员变量是Lua代码;上述Lua代码被执行以展示当前剧情节点对应的剧情。
可选地,剧情节点中的script指示的内容可以是原子操作,原子操作可以是角色的行为,比如角色的舞蹈动画或者角色的行走动画。该原子操作由应用程序提供程序接口,可以自定义配置。
404,遍历检测每个后续剧情节点的执行条件。
当前剧情节点的脚本中包括后续剧情节点的ID,终端根据后续剧情节点的ID获取后续剧情节点的脚本,遍历每个后续剧情节点,以检测每个后续剧情节点的执行条件;示意性的,终端判断后续剧情节点的角色状态信息是否符合执行条件;将角色状态信息符合执行条件的后续剧情节点确定为候选剧情节点。
比如,终端执行后续剧情节点的Condition中的LUA代码来判断角色状态信息是否符合执行条件。当一个后续剧情节点的Condition的执行结果为true时,终端将该后续剧情节点确定为候选剧情节点;当上述Condition的执行结果为false时,该后续剧情节点不是候选剧情节点。
405,将候选剧情节点按优先级排序。
终端在执行步骤404之后,根据每个候选剧情节点中的优先级对至少一个候选剧情节点排序;排列的顺序可以是优先级由大到小或者由小到大。
406,判断当前剧情节点是否为NPC的对话节点。
终端判断当前剧情节点是否为NPC的对话节点,若当前剧情节点为NPC的对话节点,则执行步骤407;若当前剧情节点不是NPC的对话节点,则执行步骤413。
407,候选剧情节点中是否有玩家的对话节点。
终端判断候选剧情节点中是否存在玩家的对话节点,当候选剧情节点中存在玩家的对话节点时,执行步骤408;当候选剧情节点中不存在玩家的对话节点时,执行步骤411。
408,显示玩家的对话节点对应的UI界面。
终端上显示的玩家的对话节点对应的UI界面包括按钮控件,每一个按钮控件对应一个候选剧情节点。
409,等待玩家点击UI界面上的按钮控件。
410,设置玩家选中的候选剧情节点为当前剧情节点。
玩家点击UI界面上的一个控件按钮,终端接收该控件按钮上的剧情选择信号,将该控件按钮对应的候选剧情节点确定为当前剧情节点。
411,显示NPC的对话节点对应的UI界面。
412,等待玩家点击UI界面。
玩家点击UI界面上的任意一点,终端接收UI界面上的触发信号,根据上述触发信号执行步骤413。
413,判断当前剧情节点是否有后续剧情节点。
若当前剧情节点有后续剧情节点,则执行步骤414;若当前剧情节点没有后续剧情节点,则执行步骤415。
414,设置优先级最高的候选剧情节点为当前剧情节点。
415,结束。
以上述剧情节点的脚本执行方法应用于一个在线网络游戏中为例,阐述一个剧情的实现过程,请参考图12,该分支剧情是由玩家触发的,终端执行起始剧情节点<START>,删除玩家触发该分支剧情时的交互事件,禁止玩家角色移动,并删除玩家触发该分支剧情时的交互图标,上述事件由脚本中对应项{script}中的代码实现;该分支剧情还包括两个分支,也就是起始剧情节点之后,还包括两个候选剧情节点,上述两个候选剧情节点为两个主控角色的对话节点。在终端上显示两个选项,分别对应“选择对话”和“选择战斗”;当用户触发“选择对话”对应的选项时,执行剧情节点<保存进度>,之后继续执行剧情节点<战斗胜利>,则该条分支剧情展示完毕。当用户触发“选择战斗”对应的选项时,执行剧情节点<进入战斗>,并在下一个剧情节点<战斗结束?>判断战斗是否结束;当战斗未结束,执行剧情节点<未结束>;当战斗胜利时,则执行剧情节点<战斗胜利>;当战斗失败时,则执行剧情节点<战斗失败>,且剧情节点<战斗失败>之后还包括后续剧情节点<花妖台词>,执行剧情节点<花妖台词>。
示意性的,上述分支剧情可以是玩家触发的采集草药的剧情;当玩家想要采集草药时,触发与NPC花妖的对话,在对话过程中,终端上显示对话内容的同时,显示给出的由玩家选择的两个选项“对话”和“战斗”。当玩家选择“对话”时,玩家需要听NPC花妖讲一段话,对话结束之后,玩家将获得草药,同时保存剧情进度。当玩家选择“战斗”时,玩家需要与NPC花妖进行战斗,玩家战斗胜利则获得草药,同时保存剧情进度;玩家战斗失败则显示花妖台词,该花妖台词可以是NPC花妖对玩家的嘲讽、挑衅的内容。另外,玩家战斗失败后,不记录剧情进度,玩家可以再次触发该分支剧情。
请参考图13,是本申请示出的一个示例性实施例提供的剧情节点的脚本执行装置,该装置可以通过软件、硬件或者二者的结合实现服务器的一部分或者全部,该装置安装有应用程序,该装置包括执行模块501和确定模块502;
执行模块501,用于在应用程序的运行过程中,执行第一剧情节点的脚本,第一剧情节点的脚本中包括至少两个后续剧情节点的节点标识;
确定模块502,用于根据节点标识从至少两个后续剧情节点中,确定出候选剧情节点;从候选剧情节点中确定出第二剧情节点,第二剧情节点是第一剧情节点的下一个执行节点;
执行模块501,用于执行第二剧情节点的脚本。
在一些实施例中,确定模块502,包括:
获取子模块5021,用于获取主控角色的角色状态信息;根据节点标识获取至少两个后续剧情节点的脚本,后续剧情节点的脚本中包括后续剧情节点对应的执行条件;
确定子模块5022,用于从至少两个后续剧情节点中,确定出角色状态信息符合执行条件的候选剧情节点。
在一些实施例中,确定子模块5022,用于将角色状态信息输入至少两个后续剧情节点的脚本中,得到脚本的返回值;将返回值为目标取值的后续剧情节点,确定为候选剧情节点;其中,目标取值用于指示角色状态信息符合后续剧情节点的执行条件。
在一些实施例中,角色状态信息包括剧情进度,执行条件包括剧情进度符合目标进度;
和/或,角色状态信息包括剧情完成度,执行条件包括剧情完成度符合目标完成度;其中,目标完成度是未执行,或者,已执行且未完成。
在一些实施例中,确定子模块5022,用于当候选剧情节点为至少两个且每个候选剧情节点存在对应的优先级时,将优先级最高的候选剧情节点确定为第二剧情节点;
或,当候选剧情节点为至少两个时,显示用于对候选剧情节点进行选择的剧情选择界面;接收在剧情选择界面上的剧情选择信号;根据剧情选择信号确定出第二剧情节点。
在一些实施例中,候选剧情节点为至少两个;
确定子模块5022,用于当第一剧情节点是非对话节点或者主控角色的对话节点时,根据至少两个候选剧情节点中每个候选剧情节点存在的对应的优先级,将优先级最高的候选剧情节点确定为第二剧情节点;
或,当第一剧情节点是机器角色的对话节点且至少两个候选剧情节点中不存在主控角色的对话节点时,根据至少两个候选剧情节点中每个候选剧情节点存在的对应的优先级,将优先级最高的候选剧情节点确定为第二剧情节点;
或,当第一剧情节点是机器角色的对话节点且至少两个候选剧情节点中存在主控角色的对话节点时,显示用于对候选剧情节点进行选择的剧情选择界面;接收在剧情选择界面上的剧情选择信号;根据剧情选择信号确定出第二剧情节点。
综上所述,本实施例提供的剧情节点的脚本执行装置,在应用程序的运行过程中,通过从第一剧情节点的至少两个后续剧情节点中,确定出候选剧情节点;之后从候选剧情节点中确定出第二剧情节点,该第二剧情节点是第一剧情节点的下一个执行节点;在执行第一剧情节点之后执行第二剧情节点。上述剧情节点的脚本执行方法中,一个剧情节点包括至少两个后续剧情节点,则一个剧情可以包括至少两个分支方向,在大量用户进入该剧情之后可以朝着不同的方向发展,避免了所有用户仅一个剧情线可用使服务器的负载过重,导致卡顿的情况。
请参考图14,其示出了本申请一个示例性实施例提供的终端600的结构框图。该终端600可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端600包括有:处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的剧情节点的脚本执行方法。
在一些实施例中,终端600还可选包括有:***设备接口603和至少一个***设备。处理器601、存储器602和***设备接口603之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口603相连。具体地,***设备包括:射频电路604、显示屏605、音频电路606、定位组件607和电源608中的至少一种。
***设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和***设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和***设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
音频电路606可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路606还可以包括耳机插孔。
定位组件607用于定位终端600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件607可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***、俄罗斯的格雷纳斯***或欧盟的伽利略***的定位组件。
电源608用于为终端600中的各个组件进行供电。电源608可以是交流电、直流电、一次性电池或可充电电池。当电源608包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图14中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图15示出了本申请一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的剧情节点的脚本执行方法。具体来讲:
所述服务器700包括中央处理单元(CPU)701、包括随机存取存储器(RAM)702和只读存储器(ROM)703的***存储器704,以及连接***存储器704和中央处理单元701的***总线705。所述服务器700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)706,和用于存储操作***713、应用程序714和其他程序模块715的大容量存储设备707。
所述基本输入/输出***706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中所述显示器708和输入设备709都通过连接到***总线705的输入输出控制器710连接到中央处理单元701。所述基本输入/输出***706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备707通过连接到***总线705的大容量存储控制器(未示出)连接到中央处理单元701。所述大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,所述大容量存储设备707可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的***存储器704和大容量存储设备707可以统称为存储器。
根据本申请的各种实施例,所述服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在所述***总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机***(未示出)。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种剧情节点的脚本执行方法,其特征在于,所述方法包括:
在应用程序的运行过程中,执行第一剧情节点的脚本,所述第一剧情节点的脚本中包括至少两个后续剧情节点的节点标识;
根据所述节点标识从所述至少两个后续剧情节点中,确定出候选剧情节点;
从所述候选剧情节点中确定出第二剧情节点,所述第二剧情节点是所述第一剧情节点的下一个执行节点;
执行所述第二剧情节点的脚本。
2.根据权利要求1所述的方法,其特征在于,所述根据所述节点标识从所述至少两个后续剧情节点中,确定出候选剧情节点,包括:
获取主控角色的角色状态信息;
根据所述节点标识获取所述至少两个后续剧情节点的脚本,所述后续剧情节点的脚本中包括所述后续剧情节点对应的执行条件;
从所述至少两个后续剧情节点中,确定出所述角色状态信息符合所述执行条件的所述候选剧情节点。
3.根据权利要求2所述的方法,其特征在于,所述从所述至少两个后续剧情节点中,确定出所述角色状态信息符合所述执行条件的所述候选剧情节点,包括:
将所述角色状态信息输入所述至少两个后续剧情节点的脚本中,得到所述脚本的返回值;
将所述返回值为目标取值的后续剧情节点,确定为所述候选剧情节点;
其中,所述目标取值用于指示所述角色状态信息符合所述后续剧情节点的所述执行条件。
4.根据权利要求2所述的方法,其特征在于,
所述角色状态信息包括剧情进度,所述执行条件包括所述剧情进度符合目标进度;
和/或,
所述角色状态信息包括剧情完成度,所述执行条件包括所述剧情完成度符合目标完成度;其中,所述目标完成度是未执行,或者,已执行且未完成。
5.根据权利要求1至4任一所述的方法,其特征在于,所述从所述候选剧情节点中确定出第二剧情节点,包括:
当所述候选剧情节点为至少两个且每个所述候选剧情节点存在对应的优先级时,将所述优先级最高的候选剧情节点确定为第二剧情节点;
或,
当所述候选剧情节点为至少两个时,显示用于对所述候选剧情节点进行选择的剧情选择界面;接收在所述剧情选择界面上的剧情选择信号;根据所述剧情选择信号确定出所述第二剧情节点。
6.根据权利要求1至4任一所述的方法,其特征在于,所述候选剧情节点为至少两个,所述从所述候选剧情节点中确定出第二剧情节点,包括:
当第一剧情节点是非对话节点或者所述主控角色的对话节点时,根据至少两个所述候选剧情节点中每个所述候选剧情节点存在的对应的优先级,将所述优先级最高的候选剧情节点确定为第二剧情节点;
或,
当第一剧情节点是机器角色的对话节点且至少两个所述候选剧情节点中不存在所述主控角色的对话节点时,根据至少两个所述候选剧情节点中每个所述候选剧情节点存在的对应的优先级,将所述优先级最高的候选剧情节点确定为第二剧情节点;
或,
当第一剧情节点是所述机器角色的对话节点且至少两个所述候选剧情节点中存在所述主控角色的对话节点时,显示用于对所述候选剧情节点进行选择的剧情选择界面;接收在所述剧情选择界面上的剧情选择信号;根据所述剧情选择信号确定出所述第二剧情节点。
7.一种剧情节点的脚本执行装置,其特征在于,所述装置包括:
执行模块,用于在应用程序的运行过程中,执行第一剧情节点的脚本,所述第一剧情节点的脚本中包括至少两个后续剧情节点的节点标识;
确定模块,用于根据所述节点标识从所述至少两个后续剧情节点中,确定出候选剧情节点;
所述确定模块,用于从所述候选剧情节点中确定出第二剧情节点,所述第二剧情节点是所述第一剧情节点的下一个执行节点;
所述执行模块,用于执行所述第二剧情节点的脚本。
8.根据权利要求7所述的装置,其特征在于,所述确定模块,包括:
获取子模块,用于获取主控角色的角色状态信息;根据所述节点标识获取所述至少两个后续剧情节点的脚本,所述后续剧情节点的脚本中包括所述后续剧情节点对应的执行条件;
确定子模块,用于从所述至少两个后续剧情节点中,确定出所述角色状态信息符合所述执行条件的所述候选剧情节点。
9.根据权利要求8所述的装置,其特征在于,所述确定子模块,用于将所述角色状态信息输入所述至少两个后续剧情节点的脚本中,得到所述脚本的返回值;将所述返回值为目标取值的后续剧情节点,确定为所述候选剧情节点;其中,所述目标取值用于指示所述角色状态信息符合所述后续剧情节点的所述执行条件。
10.根据权利要求8所述的装置,其特征在于,
所述角色状态信息包括剧情进度,所述执行条件包括所述剧情进度符合目标进度;
和/或,
所述角色状态信息包括剧情完成度,所述执行条件包括所述剧情完成度符合目标完成度;其中,所述目标完成度是未执行,或者,已执行且未完成。
11.一种终端,所述终端包括:
存储器;
与所述存储器相连的处理器;
其中,所述处理器被配置为加载并执行可执行指令以实现如权利要求1至6任一所述的剧情节点的脚本执行方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一所述的剧情节点的脚本执行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910267396.9A CN109985382A (zh) | 2019-04-03 | 2019-04-03 | 剧情节点的脚本执行方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910267396.9A CN109985382A (zh) | 2019-04-03 | 2019-04-03 | 剧情节点的脚本执行方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109985382A true CN109985382A (zh) | 2019-07-09 |
Family
ID=67132303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910267396.9A Pending CN109985382A (zh) | 2019-04-03 | 2019-04-03 | 剧情节点的脚本执行方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109985382A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110465097A (zh) * | 2019-09-09 | 2019-11-19 | 网易(杭州)网络有限公司 | 游戏中的角色立绘显示方法及装置、电子设备、存储介质 |
CN110809175A (zh) * | 2019-09-27 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 视频推荐方法及装置 |
CN111228813A (zh) * | 2020-01-22 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、装置、设备及存储介质 |
CN111282268A (zh) * | 2020-02-28 | 2020-06-16 | 苏州叠纸网络科技股份有限公司 | 一种虚拟环境中的剧情展示方法、装置、终端及存储介质 |
CN111346376A (zh) * | 2020-02-25 | 2020-06-30 | 腾讯科技(深圳)有限公司 | 基于多媒体资源的互动方法、装置、电子设备及存储介质 |
CN111359200A (zh) * | 2020-02-26 | 2020-07-03 | 网易(杭州)网络有限公司 | 基于增强现实的游戏交互方法和装置 |
CN111744190A (zh) * | 2020-07-03 | 2020-10-09 | 珠海西山居移动游戏科技有限公司 | 一种基于对话的游戏交互方法及装置 |
WO2021057693A1 (zh) * | 2019-09-24 | 2021-04-01 | 广州虎牙科技有限公司 | 交互视频的处理与播放控制 |
CN113332725A (zh) * | 2021-06-29 | 2021-09-03 | 北京中清龙图网络技术有限公司 | 游戏剧情演绎方法、装置、电子设备及存储介质 |
CN113648660A (zh) * | 2021-08-16 | 2021-11-16 | 网易(杭州)网络有限公司 | 一种非玩家角色的行为序列生成方法及装置 |
CN114177621A (zh) * | 2021-12-15 | 2022-03-15 | 乐元素科技(北京)股份有限公司 | 数据处理方法及装置 |
CN115018960A (zh) * | 2022-06-02 | 2022-09-06 | 北京新唐思创教育科技有限公司 | 角色互动方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1166139A (zh) * | 1995-08-31 | 1997-11-26 | 菲利浦电子有限公司 | 交互式装置的信息处理 |
CN101036175A (zh) * | 2004-08-19 | 2007-09-12 | 美泰公司 | 分支剧情游戏 |
CN108283803A (zh) * | 2017-10-25 | 2018-07-17 | 王可 | 一种网络游戏自定义剧情的***及方法 |
CN109529353A (zh) * | 2018-11-21 | 2019-03-29 | 北京像素软件科技股份有限公司 | 基于角色扮演游戏的任务多剧情执行方法及装置 |
-
2019
- 2019-04-03 CN CN201910267396.9A patent/CN109985382A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1166139A (zh) * | 1995-08-31 | 1997-11-26 | 菲利浦电子有限公司 | 交互式装置的信息处理 |
CN101036175A (zh) * | 2004-08-19 | 2007-09-12 | 美泰公司 | 分支剧情游戏 |
CN108283803A (zh) * | 2017-10-25 | 2018-07-17 | 王可 | 一种网络游戏自定义剧情的***及方法 |
CN109529353A (zh) * | 2018-11-21 | 2019-03-29 | 北京像素软件科技股份有限公司 | 基于角色扮演游戏的任务多剧情执行方法及装置 |
Non-Patent Citations (1)
Title |
---|
丁刚毅: "《数字媒体技术》", 31 August 2015, 北京理工大学出版社 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110465097B (zh) * | 2019-09-09 | 2023-06-27 | 网易(杭州)网络有限公司 | 游戏中的角色立绘显示方法及装置、电子设备、存储介质 |
CN110465097A (zh) * | 2019-09-09 | 2019-11-19 | 网易(杭州)网络有限公司 | 游戏中的角色立绘显示方法及装置、电子设备、存储介质 |
WO2021057693A1 (zh) * | 2019-09-24 | 2021-04-01 | 广州虎牙科技有限公司 | 交互视频的处理与播放控制 |
CN110809175A (zh) * | 2019-09-27 | 2020-02-18 | 腾讯科技(深圳)有限公司 | 视频推荐方法及装置 |
CN111228813A (zh) * | 2020-01-22 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、装置、设备及存储介质 |
CN111228813B (zh) * | 2020-01-22 | 2022-05-10 | 腾讯科技(深圳)有限公司 | 虚拟对象的控制方法、装置、设备及存储介质 |
CN111346376A (zh) * | 2020-02-25 | 2020-06-30 | 腾讯科技(深圳)有限公司 | 基于多媒体资源的互动方法、装置、电子设备及存储介质 |
CN111346376B (zh) * | 2020-02-25 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 基于多媒体资源的互动方法、装置、电子设备及存储介质 |
CN111359200A (zh) * | 2020-02-26 | 2020-07-03 | 网易(杭州)网络有限公司 | 基于增强现实的游戏交互方法和装置 |
CN111359200B (zh) * | 2020-02-26 | 2023-09-26 | 网易(杭州)网络有限公司 | 基于增强现实的游戏交互方法和装置 |
CN111282268B (zh) * | 2020-02-28 | 2020-09-18 | 苏州叠纸网络科技股份有限公司 | 一种虚拟环境中的剧情展示方法、装置、终端及存储介质 |
CN111282268A (zh) * | 2020-02-28 | 2020-06-16 | 苏州叠纸网络科技股份有限公司 | 一种虚拟环境中的剧情展示方法、装置、终端及存储介质 |
CN111744190A (zh) * | 2020-07-03 | 2020-10-09 | 珠海西山居移动游戏科技有限公司 | 一种基于对话的游戏交互方法及装置 |
CN111744190B (zh) * | 2020-07-03 | 2024-04-26 | 珠海西山居数字科技有限公司 | 一种基于对话的游戏交互方法及装置 |
CN113332725A (zh) * | 2021-06-29 | 2021-09-03 | 北京中清龙图网络技术有限公司 | 游戏剧情演绎方法、装置、电子设备及存储介质 |
CN113648660A (zh) * | 2021-08-16 | 2021-11-16 | 网易(杭州)网络有限公司 | 一种非玩家角色的行为序列生成方法及装置 |
CN113648660B (zh) * | 2021-08-16 | 2024-05-28 | 网易(杭州)网络有限公司 | 一种非玩家角色的行为序列生成方法及装置 |
CN114177621A (zh) * | 2021-12-15 | 2022-03-15 | 乐元素科技(北京)股份有限公司 | 数据处理方法及装置 |
CN114177621B (zh) * | 2021-12-15 | 2024-03-22 | 乐元素科技(北京)股份有限公司 | 数据处理方法及装置 |
CN115018960A (zh) * | 2022-06-02 | 2022-09-06 | 北京新唐思创教育科技有限公司 | 角色互动方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109985382A (zh) | 剧情节点的脚本执行方法、装置、设备及存储介质 | |
CN108769814A (zh) | 视频互动方法、装置及可读介质 | |
EP3580686B1 (en) | System and method to prevent surveillance and preserve privacy in virtual reality | |
US10091454B2 (en) | Recording events in a virtual world | |
US9292957B2 (en) | Portable virtual characters | |
US20170264973A1 (en) | Video playing method and electronic device | |
Goggin | Apps: From mobile phones to digital lives | |
WO2021093452A1 (zh) | 基于人工智能的博弈业务执行方法、装置、设备及介质 | |
CN110732136B (zh) | 局外环境下局内行为的预览方法、装置、终端及存储介质 | |
CN105580057A (zh) | 成就重放和欺诈检测 | |
CN109144346A (zh) | 歌曲分享方法、装置及存储介质 | |
CN108307127A (zh) | 视频处理方法及计算机存储介质、终端 | |
CN109346111A (zh) | 数据处理方法、装置、终端及存储介质 | |
US20230343056A1 (en) | Media resource display method and apparatus, device, and storage medium | |
CN107948702A (zh) | 应用程序状态的同步方法、装置、终端和存储介质 | |
CN110377200A (zh) | 分享数据生成方法、装置及存储介质 | |
JP2024518043A (ja) | ビデオのアニメーション追加方法、装置、機器及び媒体 | |
US20240042319A1 (en) | Action effect display method and apparatus, device, medium, and program product | |
CN109603154A (zh) | 游戏界面测试方法、客户端、托管服务器及*** | |
WO2024077498A1 (zh) | 一种播放界面的显示方法、装置、设备及可读存储介质 | |
WO2024077492A1 (zh) | 播放界面的显示方法、装置、设备、介质及程序产品 | |
CN112717395B (zh) | 音频绑定方法、装置、设备以及存储介质 | |
WO2024103954A1 (zh) | 虚拟对局的界面显示方法、装置、设备、介质及程序产品 | |
US11247120B2 (en) | Digital pin board for a gaming platform | |
CN105474169A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190709 |