【技术实现步骤摘要】
一种自动生成游戏剧情的实现方法及其系统
[0001]本专利技术涉及游戏制作
,特别是一种自动生成游戏剧情的实现方法及其系统。
技术介绍
[0002]剧情被众多有信仰的玩家和开发者认为是游戏的灵魂。对于一个玩家,这没有任何不妥;而作为一名开发者,在进行剧情设计时,有一个无法忽视的问题——剧情的可交互性很低。游戏剧情可以用文字、图片、动画完美地表达,却难以用交互的方式表达得十分准确。现有生成游戏剧情的技术包括基于配置动态生成游戏剧情、基于Json生成游戏剧情等;现有技术对生成的局限性高,通常只针对特点的游戏剧情进行生成,且不支持以堵塞时间轴的方式进行交互控制,拓展困难,无法广泛使用。
技术实现思路
[0003]为克服上述问题,本专利技术的目的是提供一种自动生成游戏剧情的实现方法,解决了游戏剧情单一方向执行、不支持以时间轴的方式控制、使用复杂不易维护、无法动态构建等问题。
[0004]本专利技术采用以下方案实现:一种自动生成游戏剧情的实现方法,所述方法包括如下步骤:
[0005]步骤S1、输入 ...
【技术保护点】
【技术特征摘要】
1.一种自动生成游戏剧情的实现方法,其特征在于:所述方法包括如下步骤:步骤S1、输入用于游戏剧情创建的剧情数据,判断输入剧情数据类型是否是Json数据,否,对输入剧情数据进行数据转换;进入步骤S2;是,直接进入步骤S2;步骤S2、解析转换后的数据生成堵塞时间轴;该堵塞时间轴为支持堵塞条件的时间轴,其中,堵塞时间轴剧情节点数据未设置堵塞条件节点时,时间轴将按照时间顺序正常运行;当设置了堵塞条件时,播放时间更新到堵塞条件节点时播放时间停止更新,等待堵塞条件满足后播放时间移动至下一个节点的开始位置继续播放;步骤S3、按堵塞时间轴分发堵塞时间轴对应的剧情数据;判断堵塞时间轴对应的剧情数据是否分发结束;是,停止结束流程;否,进行步骤S4;步骤S4、执行剧情数据中的剧情指令,继续按堵塞时间轴分发堵塞时间轴对应的剧情数据。2.根据权利要求1所述的一种自动生成游戏剧情的实现方法,其特征在于:所述步骤S1进一步具体包括:步骤S11、输入用于游戏剧情的创建的剧情数据,判断输入剧情数据类型是否是Json数据,是,进入步骤S12,否,判断是否是Json文件路径,是,读取文件中的Json数据,并进入步骤S12,否,停止流程;步骤S12、将Json数据识别为Json实例类型;步骤S13、创建一个剧情数据结构;步骤S14、将Json数据中的基础数据填充到剧情数据结构的对应字段值中;步骤S15、无匹配字段的数据填充到剧情数据结构的拓展字段队列中;步骤S16、判断剧情数据结构中的剧情数据是否是根节点数据,否,添加到父节点剧情数据的子数据中;是,记录为根节点剧情数据;步骤S17、判断Json数据是否包含子数据,是,进入步骤S13;否,返回创建的根节点剧情数据,并结束流程。3.根据权利要求1所述的一种自动生成游戏剧情的实现方法,其特征在于:所述解析转换后的数据生成堵塞时间轴进一步具体为:步骤S21、输入转换后的用于游戏剧情创建的剧情数据;该剧情数据中包含多个子剧情数据,剧情数据中记录的数据包括剧情指令及其执行方式、剧情节点时间长度、是否堵塞节点、堵塞条件、是否支持跳过;步骤S22、创建一个堵塞时间轴;步骤S23、读取用于游戏剧情创建的剧情数据中的所有剧情节点数据;将所有剧情节点数据加入一个剧情节点数据队列中;步骤S24、判断剧情节点数据队列是否为空,是,返回堵塞时间轴,并结束流程;否,进入步骤S25;步骤S25、从剧情节点数据队列中读取一个剧情节点数据,将剧情节点数据加入堵塞时间轴的当前节点位置;堵塞时间轴的当前时间值向后移动到剧情节点数据中接入的时间值;步骤S26、判断剧情节点数据中是否记录了堵塞值,该堵塞值为堵塞条件对应的数据值;否,进入步骤S27;是,堵塞时间轴中添加堵塞条件节点,设置堵塞值调整为剧情节点数
据中记录的堵塞条件;堵塞时间轴当前时间轴向后移动一个堵塞节点单位时间值,进入步骤S27;步骤S27、判断剧情数据节点队列中是否还有其它剧情数据节点,是,执行步骤S25;否,返回堵塞时间轴,并结束流程。4.根据权利要求3所述的一种自动生成游戏剧情的实现方法,其特征在于:所述堵塞时间轴包括:堵塞时间轴的进度值和时间节点集合,所述时间节点集合由多个时间节点组成,每个时间节点包括时间长度、进度值、以及堵塞条件。5.根据权利要求4所述的一种自动生成游戏剧情的实现方法,其特征在于:所述步骤S3进一步具体包括:步骤S31、输入堵塞时间轴对应的剧情数据;步骤S32、读取堵塞时间轴的进度值;步骤S33、判断堵塞时间轴是否执行完成,是,堵塞时间轴对应的剧情数据分发结束并结束流程,否,读取当前进度值的剧情数据;步骤S34、读取剧情数据中的剧情指令数据集合,将剧情指令数据集合中的数据加入一个剧情指令数据队列;步骤S35、判断剧情指令数据队列是否为空,是,更新堵塞时间轴进度值到下一节点,并执行步骤S33,否,执行步骤S36;步骤S36、从剧情指令数据队列中读取一个剧情指令数据,执行剧情指令数据;步骤S37、判断剧情指令数据队列中是否还有其它剧情指令数据,是,执行步骤S36;否,更新堵塞时间轴进度值到下一节点,并执行步骤S33。6.根据权利要求4所述的一种自动生成游戏剧情的实现方法,其特征在于:步骤S4进一步具体包括:步骤S41、输入剧情指令数据,读取剧情指令数据中的剧情指令;步骤S42、判断剧情指令是否有注册了对应的执行方式,否,剧情指令执行完成并结束流程,是,进入步骤S43,步骤S43、执行对应的执行方式传入剧情指令数据;步骤S44、判断是否同步执行执行方式;否,等待异步执行方式执行完成,返回执行成功事件;剧情指令执行完成;是,返回执行成功事件,剧情指令执行完成。7.一种自动生成游戏剧情的实现系统,其特征在于:所述实现系统包括数据转换模块、数据解析模块、数据分...
【专利技术属性】
技术研发人员:刘德建,温荣泉,陈宏展,
申请(专利权)人:福建天晴数码有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。