CN113617032B - 游戏剧情的编辑方法和装置 - Google Patents

游戏剧情的编辑方法和装置 Download PDF

Info

Publication number
CN113617032B
CN113617032B CN202110860089.9A CN202110860089A CN113617032B CN 113617032 B CN113617032 B CN 113617032B CN 202110860089 A CN202110860089 A CN 202110860089A CN 113617032 B CN113617032 B CN 113617032B
Authority
CN
China
Prior art keywords
event
environment
executing
execution
execution environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110860089.9A
Other languages
English (en)
Other versions
CN113617032A (zh
Inventor
高思远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110860089.9A priority Critical patent/CN113617032B/zh
Publication of CN113617032A publication Critical patent/CN113617032A/zh
Application granted granted Critical
Publication of CN113617032B publication Critical patent/CN113617032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种游戏剧情的编辑方法和装置。其中,该方法包括:接收事件执行指令,其中,事件执行指令中包括待执行事件的第一目标事件标识,待执行事件为游戏剧情中的任意事件,其中,每个事件具有对应的执行环境,所述执行环境包括执行中环境和执行后环境;基于第一目标事件标识查找待执行事件的前一事件,并获取前一事件的执行后环境;在游戏客户端中应用前一事件的执行后环境,并将游戏客户端的当前事件标识设置为第一目标事件标识;启动执行游戏剧情。本发明解决了相关技术中在游戏的游戏客户端中每次修改参数后,都需要从剧情的初始位置执行才能观看修改后的效果,导致剧情编辑效率较低的技术问题。

Description

游戏剧情的编辑方法和装置
技术领域
本发明涉及游戏领域,具体而言,涉及一种游戏剧情的编辑方法和装置。
背景技术
剧情是游戏重要的组成部分,生动的剧情表现将玩家引入了游戏的大千世界。剧情的开发涉及剧情文案的创作,以及文字和场景的渲染两部分。而将文字和场景在游戏内渲染,通常需要游戏客户端的辅助。游戏客户端可以远高于更快的构建剧情脚本,创作出更理想的剧情表现。
在游戏客户端的编辑流程中,通常先创建出一个个的事件,然后为每个事件配置参数。比如创建背景加载事件,然后配置背景图片名的参数,然后添加对话事件,配置对话内容的参数等。
在创建完所有要表现的事件后,再通过剧情执行功能,从剧情开始处开始执行,直到剧情结束。但如果发现有某个事件表现不符合预想,则需要重新修改事件参数,待修改完毕后为了查看修改后的剧情,需要重新从剧情的开始处执行,在修改次数较多的情况下,会严重游戏开发的效率。
针对相关技术中在游戏的游戏客户端中每次修改参数后,都需要从剧情的初始位置执行才能观看修改后的效果,导致剧情编辑效率较低的技术问题。的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种游戏剧情的编辑方法和装置,以至少解决相关技术中在游戏的游戏客户端中每次修改参数后,都需要从剧情的初始位置执行才能观看修改后的效果,导致剧情编辑效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种游戏剧情的编辑方法,包括:接收事件执行指令,其中,事件执行指令中包括待执行事件的第一目标事件标识,待执行事件为游戏剧情中的任意事件,其中,每个事件具有对应的执行环境,所述执行环境包括执行中环境和执行后环境,所述执行中环境用于表示所述事件执行过程中所述事件所处的状态,所述执行后环境用于表示所述事件执行完成后所述事件所处的状态;基于第一目标事件标识查找待执行事件的前一事件,并获取前一事件的执行后环境;在游戏客户端中应用前一事件的执行后环境,并将游戏客户端的当前事件标识设置为第一目标事件标识;启动执行游戏剧情。
进一步地,在游戏客户端中应用前一事件的执行后环境,包括:遍历前一事件的执行后环境中的每个第一表现元素;执行每个第一表现元素的应用流程,以展示第一表现元素对应的表现状态,其中,在第一表现元素为空的情况下,第一表现元素表现为空状态。
进一步地,上述方法还包括:接收事件预览指令,其中,事件预览指令中包括待预览事件的第二目标事件标识,待预览事件为游戏剧情中的任意事件;根据第二目标事件标识查找待预览事件的执行中环境,并遍历待预览事件的执行中环境的每个第二表现元素;执行每个第二表现元素的应用流程,以展示第二表现元素对应的表现状态,其中,在第二表现元素为空的情况下,第二表现元素表现为空状态。
进一步地,上述方法还包括:接收事件修改指令,其中,事件修改指令中包括修改参数;根据修改参数重新生成执行环境;获取待检查事件对应的检查函数,其中,待检查事件为游戏剧情中的指定事件;将待检查事件的前一事件的执行后环境,和待检查事件的事件参数输入至检查函数进行合法性检查。
进一步地,上述方法还包括:生成游戏剧情中每个事件对应的执行环境,其中,生成游戏剧情中每个事件对应的执行环境,包括:获取待生成事件的前一事件的执行后环境,其中,对于游戏剧情中第一个事件,获取预设的初始执行环境;获取待生成事件的执行中操作,基于前一事件的执行后环境和执行中操作生成待生成事件的执行中环境;获取待生成事件的执行后操作,基于待生成事件的执行中环境和执行后操作生成待生成事件的执行后环境。
进一步地,基于前一事件的执行后环境和执行中操作生成待生成事件的执行中环境,包括:获取执行中操作对应的元素操作,其中,元素操作包括:元素类型、操作类型和操作参数;基于元素类型,在前一事件的执行后环境中确定待修改的表现元素;基于操作类型和操作参数,对待修改的表现元素进行修改,得到待生成事件的执行中环境。
进一步地,基于操作类型和操作参数,对待修改的表现元素进行修改,包括:在操作类型为设置类型的情况下,将操作参数的数值赋值给待修改的表现元素;在操作类型为更新类型的情况下,复制待修改的表现元素的数值,对复制的数值按照操作参数所指示的更新函数进行处理,得到更新后的数值,并将更新后的数值赋值给待修改的表现元素。
根据本发明实施例的另一方面,还提供了一种游戏剧情的编辑装置,包括:接收模块,用于接收事件执行指令,其中,事件执行指令中包括待执行事件的第一目标事件标识,待执行事件为游戏剧情中的任意事件,其中,每个事件具有对应的执行环境,所述执行环境包括执行中环境和执行后环境,所述执行中环境用于表示所述事件执行过程中所述事件所处的状态,所述执行后环境用于表示所述事件执行完成后所述事件所处的状态;查找模块,用于基于第一目标事件标识查找待执行事件的前一事件,并获取前一事件的执行后环境;应用模块,用于在游戏客户端中应用前一事件的执行后环境,并将游戏客户端的当前事件标识设置为第一目标事件标识;启动模块,用于启动执行游戏剧情。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的游戏剧情的编辑方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行上述的游戏剧情的编辑方法。
相关方案中,每次执行游戏剧情,都需要从游戏剧情开始处执行,无法从剧情中间执行,其原因在于无法预知游戏剧情执行到中间时的状态,而这样的缺陷就是每次修改事件参数后,只能从头执行才能看到刚刚修改的效果,大大降低了编辑效率。本申请上述实施例接收事件执行指令,其中,事件执行指令中包括待执行事件的第一目标事件标识,待执行事件为游戏剧情中的任意事件,其中,每个事件具有对应的执行环境,所述执行环境包括执行中环境和执行后环境,所述执行中环境用于表示所述事件执行过程中所述事件所处的状态,所述执行后环境用于表示所述事件执行完成后所述事件所处的状态;基于第一目标事件标识查找待执行事件的前一事件,并获取前一事件的执行后环境;在游戏客户端中应用前一事件的执行后环境,并将游戏客户端的当前事件标识设置为第一目标事件标识;启动执行游戏剧情。由此可见,上述方案通过抽象出事件的执行环境,从而使得可以获得剧情执行到任何事件时的状态,进而可以随意指示从哪一个事件执行,尤其在对游戏剧情进行修改后,可以直接从修改的事件处开始执行,进而解决了相关技术中在游戏的游戏客户端中每次修改参数后,都需要从剧情的初始位置执行才能观看修改后的效果,导致剧情编辑效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本申请实施例的一种游戏剧情的编辑方法的流程图;
图2是根据本申请实施例的一种执行环境的示意图;
图3是根据本申请实施例的一种从某个事件开始执行的流程图;
图4是根据本申请实施例的一种预览某个事件的流程图;
图5是根据本申请实施例的一种进行合法性检查的流程图;
图6是根据本申请实施例的一种生成执行环境的流程图;
图7是根据本申请实施例的一种获取元素操作的示意图;
图8是根据本申请实施例的一种游戏剧情的编辑装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种游戏剧情的编辑方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种游戏剧情的编辑方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收事件执行指令,其中,事件执行指令中包括待执行事件的第一目标事件标识,待执行事件为游戏剧情中的任意事件,每个事件具有对应的执行环境,所述执行环境包括执行中环境和执行后环境,所述执行中环境用于表示所述事件执行过程中所述事件所处的状态,所述执行后环境用于表示所述事件执行完成后所述事件所处的状态。
具体的,上述事件执行指令可以由用户通过游戏客户端向游戏客户端发出。游戏剧情是由一个个事件构成的,在本实施例提供的方案中,当用户需要游戏剧情从某个非首个事件开始执行时候,可以向游戏客户端发出上述指令。
在一种可选的实施例中,游戏客户端可以提供人机交互界面,用户需要从游戏剧情中标识为005的事件开始执行,则用户可以在人机交互界面中,向游戏客户端发出包含标识005的接收事件执行指令。
上述方案将游戏剧情中事件的执行状态抽象为执行环境,游戏剧情中的每个事件都具有对应的执行环境,执行环境实际用于表示事件所处的状态。在游戏剧情编辑过程中,每个事件包含两个执行环境,分别为执行中环境和执行后环境。执行中环境和执行后环境分别用于表示游戏剧情在执行中和执行后的状态。以选项事件为例,它的功能是在窗口中显示出选项框,在点击其中任一选项后,选项框消失,然后进入选择的下一事件。因此选项事件的执行环境有两个,一是选项框显示在窗口中的状态,即上述执行中环境,二是点击后选项框消失的状态,即上述执行后环境。
定义这两种状态最终的目的是区别执行和预览。在预览某一事件时,应用的是此事件的执行中环境。而执行某一事件时,首先应用前一事件的执行后环境,然后执行此事件。预览和执行的差别在于,预览是瞬间将事件执行完毕的效果展示出来,而执行是有执行过程的,是按实际运行时的过程展示。
步骤S104,基于第一目标事件标识查找待执行事件的前一事件,并获取前一事件的执行后环境。
在上述方案中,每个事件具有对应的事件标识,预先为每个事件生成对应的执行环境,从而可以根据待执行事件的第一目标事件标识查找到前一事件,进而获取到前一事件的执行后环境。
执行环境可以通过表现元素来体现,也即,执行环境又包含若干表现元素,该表现元素用于表示执行环境在某一方面的表现。当定义好执行环境和执行环境中的表现元素的关系后,在程序中创建的每一个执行环境对象,都将包含这些表现元素,当不存在某种表现时,表现元素为空,当存在某种表现时,表现元素就会存储实际的执行数据。
图2是根据本申请实施例的一种执行环境的示意图,结合图2所示,在程序中,执行环境继承BaseContext,表现元素继承ContextElement基类。在名为Context的执行环境中,包含了从BGImg(背景)、CGImg(CG)、SoundInfo(声音)、DialogueInfo(对话)等多种表现元素。执行环境具体需要包含哪些表现元素,是根据游戏剧情实际表现决定的。
由于游戏剧情的事件可以拆分,因此将执行环境拆分成多个表现元素,整体的执行环境,可以视为各个表现元素的叠加。本实施例抽象出执行环境的目的在于,在预览或执行某一事件时,只需要应用到该事件的执行环境,而无需关心具体的表现元素,这在一定程度上降低了程序结构的耦合。
由于游戏剧情中的事件是具有顺序关系的,前一事件对后一事件具有一定的影响,因此上述方案中,为了获得待执行事件,首先基于待执行事件的标识找到待执行事件的前一事件,并获得前一事件的执行后环境。
步骤S106,在游戏客户端中应用前一事件的执行后环境,并将游戏客户端的当前事件标识设置为第一目标事件标识。
在上述方案中,由于获取了前一事件的执行后环境,因此可以在前一事件的执行后环境的基础上开始执行。
在一种可选的实施例中,仍以选项事件为例,该示例中,选项事件的前一事件为对话事件,其表现为显示一句话,然后出现一个选项,应用前一事件执行后环境就是指应用对话说完后的状态。
步骤S108,启动执行游戏剧情。
图3是根据申请实施例的一种从某个事件开始执行的流程图。结合图3所示,对从某一事件开始执行的流程进行说明。这一过程在游戏客户端中执行。通过发送事件执行指令,将执行事件id(即上述待执行事件的第一目标事件标识)发送至游戏客户端;客户端接收到id,查找上一事件(即前一事件)的执行后环境,然后应用上一事件的执行后环境,客户端将当前事件id设置为待执行事件的事件id,并启动运行,在启动运行时从指定的待执行事件开始执行。
相关方案中,每次执行游戏剧情,都需要从游戏剧情开始处执行,无法从剧情中间执行,其原因在于无法预知游戏剧情执行到中间时的状态,而这样的缺陷就是每次修改事件参数后,只能从头执行才能看到刚刚修改的效果,大大降低了编辑效率。本申请上述实施例接收事件执行指令,其中,事件执行指令中包括待执行事件的第一目标事件标识,待执行事件为游戏剧情中的任意事件,每个事件具有对应的执行环境,所述执行环境包括执行中环境和执行后环境,所述执行中环境用于表示所述事件执行过程中所述事件所处的状态,所述执行后环境用于表示所述事件执行完成后所述事件所处的状态;基于第一目标事件标识查找待执行事件的前一事件,并获取前一事件的执行后环境;在游戏客户端中应用前一事件的执行后环境,并将游戏客户端的当前事件标识设置为第一目标事件标识;启动执行游戏剧情。由此可见,上述方案通过抽象出事件的执行环境,从而使得可以获得剧情执行到任何事件时的状态,进而可以随意指示从哪一个事件执行,尤其在对游戏剧情进行修改后,可以直接从修改的事件处开始执行,进而解决了相关技术中在游戏的游戏客户端中每次修改参数后,都需要从剧情的初始位置执行才能观看修改后的效果,导致剧情编辑效率较低的技术问题。
需要说明的是,在预览剧情中任一事件效果,或是执行剧情中任一事件时,还存在一种方案,即将剧情文件的组成结构修改为由若干幕,而不是事件,一幕包含了所有的表现元素,在预览或是执行某一幕时,可以直接将这一幕中的所有表现元素应用到游戏中。虽然此方案同样可以实现预览或执行任一事件的效果,但却存在一些问题。由于每一幕存储的元素都是独立的,在修改当前幕的某个元素后,无法生效到后续的幕中,在编辑中会不太方便。此外,由于每一幕存储全部的元素会增大存储空间,且不利于后续增加表现元素和修改表现元素的属性。
作为一种可选的实施例,在游戏客户端中应用前一事件的执行后环境,包括:遍历前一事件的执行后环境中的每个第一表现元素;执行每个第一表现元素的应用流程,以展示第一表现元素对应的表现状态,其中,在第一表现元素为空的情况下,第一表现元素表现为空状态。
具体的,上述每个表现元素用于表示执行环境在某一方面的表现,也即,前一事件的执行后环境是根据其所包括的每个第一表现元素叠加而形成的,因此,通过遍历每个第一表现元素,并将其应用,即可恢复得到前一事件的执行后环境。
作为一种可选的实施例,上述方法还包括:接收事件预览指令,其中,事件预览指令中包括待预览事件的第二目标事件标识,待预览事件为游戏剧情中的任意事件;根据第二目标事件标识查找待预览事件的执行中环境,并遍历待预览事件的执行中环境的每个第二表现元素;执行每个第二表现元素的应用流程,以展示第二表现元素对应的表现状态,其中,在第二表现元素为空的情况下,第二表现元素表现为空状态。
具体的,上述事件预览指令可以由用户通过游戏客户端向游戏客户端发出。游戏剧情是由一个个事件构成的,在本实施例提供的方案中,当用户需要预览游戏剧情中的某个事件时,可以向游戏客户端发出上述事件预览指令。
图4是根据本申请实施例的一种预览某个事件的流程图,结合图4所示,对预览某一事件的流程进行说明。这一过程在游戏客户端中执行。通过发送事件预览指令,将待预览事件id(即上述待预览事件的第二目标事件标识)发送至游戏客户端;客户端接收到id,查找待预览事件id的执行中环境,然后应用该执行中环境。具体的,客户端遍历执行环境的所有表现元素,对于每一表现元素,判断元素是否为空,在元素为空的情况下,表明此执行中环境内,该元素不存在任何表现,则执行元素类定义的reset流程,reset流程负责将元素的相关表现清空,在元素不为空的情况下,表明元素存在某种表现的效果,则执行元素自身的应用(apply)流程,apply流程负责根据元素自身的数据状态,显示出相应的表现。
相关技术中,由于对于执行中的状态无法估计,从而无法预览执行中的状态,上述方案提出了执行环境和表现元素的概念,将游戏中执行效果抽象成执行环境的概念,执行环境又拆分为一个个表现元素,表现元素存储具体数据,并决定最终表现效果。在这一套框架下,每个事件可以自定义操作函数用于计算执行环境,从而支持了不同事件的扩展。
作为一种可选的实施例,上述方法还包括:接收事件修改指令,其中,事件修改指令中包括修改参数;根据修改参数重新生成执行环境;获取待检查事件对应的检查函数,其中,待检查事件为游戏剧情中的指定事件;将待检查事件的前一事件的执行后环境,和待检查事件的事件参数输入至检查函数进行合法性检查。
具体的,上述事件修改指令可以由用户通过游戏客户端向游戏客户端发出。游戏剧情是由一个个事件构成的,在本实施例提供的方案中,当用户需要预览游戏剧情中的某个事件进行修改时,可以向游戏客户端发出上述事件修改指令。
上述合法性检查两个方面,一是参数本身是否合法,例如背景加载事件中的加载的图片需要在资源仓库中存在,二是参数在当前的执行环境下是否合法,例如背景移动事件需要在有背景已经加载时才算合法。因此,实际的检查过程同样需要计算出事件的执行环境。
上述游戏剧情中的指定事件可以为游戏剧情中的所有事件,由于在编辑器中修改了事件参数后,所有事件的执行环境都可能发生改变,而执行环境的改变有可能引起不合法的变化。因此在一种可选的实施例中,在编辑器中每次修改了事件参数后,都需要对所有事件进行一遍合法性检查的流程。
上述游戏剧情中的指定事件还可以为游戏剧情中的部分事件,在另一种可选的实施例中,用户确认游戏剧情中有一些事件是一定合法的,无需参与合法性检查,因此仅对除此之外的其他事件进行合法性检查。
图5是根据本申请实施例的一种进行合法性检查的流程图,结合图5所示,对事件进行合法性检查的流程进行说明。这一过程在游戏客户端中执行。用户在游戏客户端中修改事件参数,游戏客户端根据修改的事件参数生成执行环境。然后遍历游戏剧情中的每个事件,每一个需要进行合法性检查的事件会定义一个检查函数,因此判断当前事件是否具有对应的检查函数,如果不存在,则说明当前事件无需进行合法性检查,返回继续遍历下一个事件,如果存在,则向检查函数输入前一事件的执行后环境,以及当前事件的参数。
在检查函数中,每个事件会进行需求的检查,将检查结果输出。检查结果输出的形式可以为一个布尔值,该布尔值表示是否合法,当检查不合法时,还会输出一个非法信息。
最后,将不合法的事件id和不合法的信息返回到编辑器中,编辑器对不合法的事件进行标红显示,以提示编辑者,不合法的信息会显示在控制台中。
相关技术中,由于缺少对剧情事件参数的检查机制。事件参数如果填写不合法,可能会在执行时引发严重的问题,例如卡住剧情。如果在编辑时无法检查填写参数,只能通过执行时进行检查,会增加出错的几率。因为事件的合法性是由两方面决定的,一是自身参数是否合法,二是在所处执行环境中是否合法,因此本实施例上述方案在计算执行环境的过程中可以一并检查事件合法性,并将不合法信息发送到编辑器,从而醒目的提示操作者更正。
作为一种可选的实施例,上述方法还包括:生成游戏剧情中每个事件对应的执行环境,其中,生成游戏剧情中每个事件对应的执行环境,包括:获取待生成事件的前一事件的执行后环境,其中,对于游戏剧情中第一个事件,获取预设的初始执行环境;获取待生成事件的执行中操作,基于前一事件的执行后环境和执行中操作生成待生成事件的执行中环境;获取待生成事件的执行后操作,基于待生成事件的执行中环境和执行后操作生成待生成事件的执行后环境。
为了实现可以在任意事件开始执行游戏剧情,以及可以预览任何游戏剧情的事件,需要构建每个事件对应的执行中环境和执行后环境。事件的执行中环境是由前一事件的执行后环境和当前事件的执行中操作共同作用生成;同理,事件的执行后环境是由此事件的执行中环境和此事件的执行后操作共同作用生成。假设事件顺序A-B-C,B的执行后环境和C的执行中操作生成C的执行中环境,C的执行中环境和C的执行后操作生成C的执行后环境。仍以选项事件为例,执行中操作可能是将选项框显示出来,执行后操作可能是将选项框隐藏,因为通常选项框在选项事件后是隐藏的。
图6是根据本申请实施例的一种生成执行环境的流程图,下图结合图6所示,对游戏剧情中生成事件的执行环境的流程进行说明。该示例中,游戏剧情包括事件1、事件2等,图6中以事件1和事件2的执行环境为例进行说明。
初始执行环境是整个流程的起点,其中包含哪些表现元素是进行预先设置。在程序中,可以通过Context类声明初始执行环境包含的全部表现元素,从而在创建时,将为这些表现元素赋值。没有声明的表现元素将为空状态。
首先获取初始执行环境,以及事件1的执行中操作,根据初始执行环境和事件1的执行中操作,获得事件1的执行中环境,再获得事件1的执行后操作,并根据事件1的执行中环境和事件1的执行后操作得到事件1的执行后环境。类似的,获取事件2的执行中操作,并根据事件1的执行后环境和事件2的执行中操作得到事件2的执行中环境;获得事件2的执行后操作,并根据事件2的执行中环境和事件2的执行后操作获得事件2的执行后事件。
需要说明的是,游戏客户端执行上述流程的时机为编辑器修改某一属性值后。即当编辑器修改任一事件的任一属性,由于当任意事件的属性发生改变后,此事件的执行中操作和执行后操作都有可能发生改变,从而此事件的执行环境可能改变,进而后续事件的执行环境也会发生改变,因此游戏客户端都需要重新生成后续所有事件的执行环境。例如,在对背景加载事件更改了加载图片的属性后后,其后续全部事件执行环境中的背景图片元素都将随之改变。
作为一种可选的实施例,基于前一事件的执行后环境和执行中操作生成待生成事件的执行中环境,包括:获取执行中操作对应的元素操作,其中,元素操作包括:元素类型、操作类型和操作参数;基于元素类型,在前一事件的执行后环境中确定待修改的表现元素;基于操作类型和操作参数,对待修改的表现元素进行修改,得到待生成事件的执行中环境。
具体的,执行中操作对应的元素操作用于表示执行中操作会引起的表现元素的变化,获取执行中操作对应的元素操作,可以通过预先定义的函数得到。
图7是根据本申请实施例的一种获取元素操作的示意图,结合图7所示,首先调用事件定义的parser函数,得到parser函数输出的事件参数,其目的是将事件的原始属性数据进行一次转化,以方便后续使用,其中,parser函数是原始数据和后续处理函数的一层隔离,其用于对原始数据(原始数据是剧情编辑时生成的数据,该数据用于确定事件需要载入的图片、声音等数据)进行格式转化,例如,string格式存储的数据转成int,另一方面可以进行一些运算,例如根据图片缩放,对齐等数据计算图片位置。parser处理后的结果是一个元组,每一项是转化后的一个数据。
然后调用事件定义的context函数,context函数用于确定在加入执行中操作或加入执行后操作后,需要对元素进行的改变,其输入是parser函数的结果和上一执行环境,输出为执行环境发生改变的元素的操作。最后生成当前执行环境,其输入是上一执行环境和context函数输出的元素操作,输出为当前执行环境。
元素操作可以以列表的形式表示,列表呈现三元组的格式:元素类型,操作类型,操作参数。其中,元素类型表示要更改的元素,操作类型是一个整形的类型码,操作参数则表示操作的具体参数。对于每一个操作类型,元素类会声明一个处理函数与之对应,在处理函数中,元素会改变自己的数据和状态。
基于待生成事件的执行中环境和执行后操作生成待生成事件的执行后环境与上述步骤类似,此处不再赘述。
作为一种可选的实施例,基于操作类型和操作参数,对待修改的表现元素进行修改,包括:在操作类型为设置类型的情况下,将操作参数的数值赋值给待修改的表现元素;在操作类型为更新类型的情况下,复制待修改的表现元素的数值,对复制的数值按照操作参数所指示的更新函数进行处理,得到更新后的数值,并将更新后的数值赋值给待修改的表现元素。
在一种可选的实施例中,在所有操作类型中,可以预定义如下几种操作类型:
设置值操作OP_SET,此操作直接将操作参数项赋值给表现元素。特殊的,如果操作参数为None,表示将表现元素置空。
修改属性操作OP_UPDATE。此操作类型对应一个处理函数,操作参数即为处理函数的实参,格式为key-value映射的列表。在处理函数中,将key对应的属性设置为value的值。
基于此,可以根据上一执行环境和元素操作,可以计算出当前执行环境:首先创建新的执行环境,其中每一个表现元素引用上一执行环境的相应表现元素;然后遍历所有的元素操作,对于每一个元素操作三元组,判断操作类型是否为OP_SET,如果元素操作的类型为OP_SET,则直接将操作参数赋值给表现元素;如果元素操作的类型不是OP_SET,先将表现元素复制一份,然后执行操作类型对应的处理函数,最后将复制的元素赋值给表现元素。
根据本发明实施例,提供了一种游戏剧情的编辑装置的实施例,图8是根据本申请实施例的一种游戏剧情的编辑装置的示意图,结合图8所示,该装置包括:
接收模块80,用于接收事件执行指令,其中,事件执行指令中包括待执行事件的第一目标事件标识,待执行事件为游戏剧情中的任意事件,每个事件具有对应的执行环境,所述执行环境包括执行中环境和执行后环境,所述执行中环境用于表示所述事件执行过程中所述事件所处的状态,所述执行后环境用于表示所述事件执行完成后所述事件所处的状态;
查找模块82,用于基于第一目标事件标识查找待执行事件的前一事件,并获取前一事件的执行后环境;
应用模块84,用于在游戏客户端中应用前一事件的执行后环境,并将游戏客户端的当前事件标识设置为第一目标事件标识;
启动模块86,用于启动执行游戏剧情。
作为一种可选的实施例,应用模块包括:遍历子模块,用于遍历前一事件的执行后环境中的每个第一表现元素;执行子模块,用于执行每个第一表现元素的应用流程,以展示第一表现元素对应的表现状态,其中,在第一表现元素为空的情况下,第一表现元素表现为空状态。
作为一种可选的实施例,上述装置还包括:第二接收模块,用于接收事件预览指令,其中,事件预览指令中包括待预览事件的第二目标事件标识,待预览事件为游戏剧情中的任意事件;遍历模块,用于根据第二目标事件标识查找待预览事件的执行中环境,并遍历待预览事件的执行中环境的每个第二表现元素;执行模块,用于执行每个第二表现元素的应用流程,以展示第二表现元素对应的表现状态,其中,在第二表现元素为空的情况下,第二表现元素表现为空状态。
作为一种可选的实施例,上述装置还包括:第三接收模块,用于接收事件修改指令,其中,事件修改指令中包括修改参数;第一生成模块,用于根据修改参数重新生成执行环境;第一获取模块,用于获取待检查事件对应的检查函数,其中,待检查事件为游戏剧情中的指定事件;检查模块,用于将待检查事件的前一事件的执行后环境,和待检查事件的事件参数输入至检查函数进行合法性检查。
作为一种可选的实施例,上述装置还包括:第二生成模块,用于生成游戏剧情中每个事件对应的执行环境,其中,生成游戏剧情中每个事件对应的执行环境,包括:第二获取模块,用于获取待生成事件的前一事件的执行后环境,其中,对于游戏剧情中第一个事件,获取预设的初始执行环境;第三获取模块,用于获取待生成事件的执行中操作,基于前一事件的执行后环境和执行中操作生成待生成事件的执行中环境;第四获取模块,用于获取待生成事件的执行后操作,基于待生成事件的执行中环境和执行后操作生成待生成事件的执行后环境。
作为一种可选的实施例,第三获取模块包括:获取子模块,用于获取执行中操作对应的元素操作,其中,元素操作包括:元素类型、操作类型和操作参数;确定子模块,用于基于元素类型,在前一事件的执行后环境中确定待修改的表现元素;修改子模块,用于基于操作类型和操作参数,对待修改的表现元素进行修改,得到待生成事件的执行中环境。
作为一种可选的实施例,修改子模块包括:第一赋值单元,用于在操作类型为设置类型的情况下,将操作参数的数值赋值给待修改的表现元素;第二赋值单元,用于在操作类型为更新类型的情况下,复制待修改的表现元素的数值,对复制的数值按照操作参数所指示的更新函数进行处理,得到更新后的数值,并将更新后的数值赋值给待修改的表现元素。
根据本发明实施例,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述的游戏剧情的编辑方法。
根据本发明实施例,提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行上述的游戏剧情的编辑方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种游戏剧情的编辑方法,其特征在于,包括:
接收事件执行指令,其中,所述事件执行指令中包括待执行事件的第一目标事件标识,所述待执行事件为所述游戏剧情中的任意事件,每个事件具有对应的执行环境,所述执行环境包括执行中环境和执行后环境,所述执行中环境用于表示所述事件执行过程中所述事件所处的状态,所述执行后环境用于表示所述事件执行完成后所述事件所处的状态;
基于所述第一目标事件标识查找所述待执行事件的前一事件,并获取所述前一事件的执行后环境;
在游戏客户端中应用所述前一事件的执行后环境,并将所述游戏客户端的当前事件标识设置为所述第一目标事件标识;
启动执行所述游戏剧情;
其中,启动执行所述游戏剧情,包括:在运行时从所述待执行事件开始执行;
在游戏客户端中应用所述前一事件的执行后环境,包括:遍历所述前一事件的执行后环境中的每个第一表现元素;执行每个所述第一表现元素的应用流程,以展示所述第一表现元素对应的表现状态,其中,在所述第一表现元素为空的情况下,所述第一表现元素表现为空状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到在游戏客户端的人机交互界面上所触发的事件预览指令,其中,所述事件预览指令中包括待预览事件的第二目标事件标识,所述待预览事件为所述游戏剧情中的任意事件;
根据所述第二目标事件标识查找所述待预览事件的执行中环境,并遍历所述待预览事件的执行中环境的每个第二表现元素;
执行每个所述第二表现元素的应用流程,以展示所述第二表现元素对应的表现状态,其中,在所述第二表现元素为空的情况下,所述第二表现元素表现为空状态。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收事件修改指令,其中,所述事件修改指令中包括修改参数;
根据所述修改参数重新生成所述执行环境;
获取待检查事件对应的检查函数,其中,所述待检查事件为所述游戏剧情中的指定事件;
将所述待检查事件的前一事件的执行后环境,和所述待检查事件的事件参数输入至所述检查函数进行合法性检查。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:生成所述游戏剧情中每个事件对应的执行环境,其中,生成所述游戏剧情中每个事件对应的执行环境,包括:
获取待生成事件的前一事件的执行后环境,其中,对于所述游戏剧情中第一个事件,获取预设的初始执行环境;
获取所述待生成事件的执行中操作,基于所述前一事件的执行后环境和所述执行中操作生成所述待生成事件的执行中环境;
获取所述待生成事件的执行后操作,基于所述待生成事件的执行中环境和所述执行后操作生成所述待生成事件的执行后环境。
5.根据权利要求4所述的方法,其特征在于,基于所述前一事件的执行后环境和所述执行中操作生成所述待生成事件的执行中环境,包括:
获取所述执行中操作对应的元素操作,其中,所述元素操作包括:元素类型、操作类型和操作参数;
基于所述元素类型,在所述前一事件的执行后环境中确定待修改的表现元素;
基于所述操作类型和操作参数,对所述待修改的表现元素进行修改,得到所述待生成事件的执行中环境。
6.根据权利要求5所述的方法,其特征在于,基于所述操作类型和操作参数,对所述待修改的表现元素进行修改,包括:
在所述操作类型为设置类型的情况下,将所述操作参数的数值赋值给所述待修改的表现元素;
在所述操作类型为更新类型的情况下,复制所述待修改的表现元素的数值,对复制的所述数值按照所述操作参数所指示的更新函数进行处理,得到更新后的数值,并将更新后的所述数值赋值给所述待修改的表现元素。
7.一种游戏剧情的编辑装置,其特征在于,包括:
接收模块,用于接收事件执行指令,其中,所述事件执行指令中包括待执行事件的第一目标事件标识,所述待执行事件为所述游戏剧情中的任意事件,其中,每个事件具有对应的执行环境,所述执行环境包括执行中环境和执行后环境,所述执行中环境用于表示所述事件执行过程中所述事件所处的状态,所述执行后环境用于表示所述事件执行完成后所述事件所处的状态;
查找模块,用于基于所述第一目标事件标识查找所述待执行事件的前一事件,并获取所述前一事件的执行后环境;
应用模块,用于在游戏客户端中应用所述前一事件的执行后环境,并将所述游戏客户端的当前事件标识设置为所述第一目标事件标识;
启动模块,用于启动执行所述游戏剧情;
其中,所述启动模块用于通过执行如下步骤来启动执行所述游戏剧情:在运行时从所述待执行事件开始执行;
所述应用模块用于通过执行如下步骤来在游戏客户端中应用所述前一事件的执行后环境:遍历所述前一事件的执行后环境中的每个第一表现元素;执行每个所述第一表现元素的应用流程,以展示所述第一表现元素对应的表现状态,其中,在所述第一表现元素为空的情况下,所述第一表现元素表现为空状态。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至6中任意一项所述的游戏剧情的编辑方法。
9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6中任一项所述的游戏剧情的编辑方法。
CN202110860089.9A 2021-07-28 2021-07-28 游戏剧情的编辑方法和装置 Active CN113617032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110860089.9A CN113617032B (zh) 2021-07-28 2021-07-28 游戏剧情的编辑方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110860089.9A CN113617032B (zh) 2021-07-28 2021-07-28 游戏剧情的编辑方法和装置

Publications (2)

Publication Number Publication Date
CN113617032A CN113617032A (zh) 2021-11-09
CN113617032B true CN113617032B (zh) 2024-02-23

Family

ID=78381406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110860089.9A Active CN113617032B (zh) 2021-07-28 2021-07-28 游戏剧情的编辑方法和装置

Country Status (1)

Country Link
CN (1) CN113617032B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608859A (en) * 1993-12-28 1997-03-04 Nec Corporation Scenario editing apparatus
JPH11219444A (ja) * 1998-02-02 1999-08-10 Hitachi Ltd シナリオ編集装置
CN104793927A (zh) * 2014-12-30 2015-07-22 北京白鹭时代信息技术有限公司 一种界面编辑方法及装置
CN107890676A (zh) * 2017-11-02 2018-04-10 五华汇游文化传播有限公司 一种可实时预览的游戏开发系统
CN109493402A (zh) * 2018-11-09 2019-03-19 网易(杭州)网络有限公司 一种剧情动画的制作方法和装置
CN110292776A (zh) * 2019-07-04 2019-10-01 珠海西山居移动游戏科技有限公司 一种剧情生成方法及装置、计算设备和存储介质
CN110555898A (zh) * 2019-09-04 2019-12-10 苏州亿歌网络科技有限公司 基于Tween组件的动画编辑方法及装置
CN111481937A (zh) * 2020-04-09 2020-08-04 网易(杭州)网络有限公司 游戏任务的测试方法、装置、测试终端和服务器
CN112631814A (zh) * 2021-01-05 2021-04-09 网易(杭州)网络有限公司 游戏剧情对白播放方法和装置、存储介质、电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608859A (en) * 1993-12-28 1997-03-04 Nec Corporation Scenario editing apparatus
JPH11219444A (ja) * 1998-02-02 1999-08-10 Hitachi Ltd シナリオ編集装置
CN104793927A (zh) * 2014-12-30 2015-07-22 北京白鹭时代信息技术有限公司 一种界面编辑方法及装置
CN107890676A (zh) * 2017-11-02 2018-04-10 五华汇游文化传播有限公司 一种可实时预览的游戏开发系统
CN109493402A (zh) * 2018-11-09 2019-03-19 网易(杭州)网络有限公司 一种剧情动画的制作方法和装置
CN110292776A (zh) * 2019-07-04 2019-10-01 珠海西山居移动游戏科技有限公司 一种剧情生成方法及装置、计算设备和存储介质
CN110555898A (zh) * 2019-09-04 2019-12-10 苏州亿歌网络科技有限公司 基于Tween组件的动画编辑方法及装置
CN111481937A (zh) * 2020-04-09 2020-08-04 网易(杭州)网络有限公司 游戏任务的测试方法、装置、测试终端和服务器
CN112631814A (zh) * 2021-01-05 2021-04-09 网易(杭州)网络有限公司 游戏剧情对白播放方法和装置、存储介质、电子设备

Also Published As

Publication number Publication date
CN113617032A (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
US11383162B2 (en) Voice skill game editing method, apparatus, device and readable storage medium
US6941546B2 (en) Method and apparatus for testing a software component using an abstraction matrix
CN106339312B (zh) Api测试方法和系统
CN110244942B (zh) 一种页面生成方法、装置及系统
US10437574B2 (en) System and method for providing code completion features for code modules
US10268568B2 (en) System and method for data element tracing
US20120266131A1 (en) Automatic program generation device, method, and computer program
CN109966742B (zh) 游戏运行中获取渲染性能数据的方法及装置
CN110806868A (zh) 一种单页面搭建及加载方法
CN115309516A (zh) 一种应用生命周期的检测方法、装置及计算机设备
CN113986741A (zh) 一种组件调试方法、装置及计算机设备
CN114661284A (zh) 游戏编辑方法、游戏运行方法、装置及计算机设备
US8448190B2 (en) Methods, systems, and computer readable media for high reliability downloading of background assets using a manifest in a virtual world application
CN112905441A (zh) 测试用例生成方法、测试方法、装置及设备
CN110750415A (zh) 接口服务配置方法、装置、介质和计算机设备
CN113617032B (zh) 游戏剧情的编辑方法和装置
Ostrowski et al. Automated regression testing within video game development
CN111258434B (zh) 在聊天界面插入图片的方法、装置、设备及存储介质
US10430309B2 (en) Duplicating a task sequence from a graphical user interface interaction for a development application in view of trace data
CN107562476B (zh) 一种生成应用程序的方法及装置
CN115714721A (zh) 一种网络靶场流量生成方法及系统
CN112579077B (zh) 应用中的页面处理方法、装置、应用服务平台及设备
CN111459547B (zh) 一种函数调用链路的展示方法和装置
US11422696B2 (en) Representation of user interface interactive regions
US9069905B2 (en) Tool-based testing for composited systems

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