一种游戏玩法的游戏公式编译方法及其系统与流程

文档序号:23002886发布日期:2020-11-20 11:50阅读:168来源:国知局
一种游戏玩法的游戏公式编译方法及其系统与流程

本发明涉及网络游戏技术领域,特别是一种游戏玩法的游戏公式编译方法及其系统。



背景技术:

游戏公式编译器,作为一种游戏玩法的扩展,相当于开放接口给用户,用户可以根据自己的经验和想法,基于游戏提供的接口,编写自己可行的的游戏地图玩法,也作为游戏公司内部常用玩法的编辑,实现接口不管对内对外,都可以达到接口一致,且不限用户的任意组合。

现有游戏玩法通常是游戏策划人员定好玩法,然后由程序人员和美术制作人员基于游戏策划想法实现的。

在游戏中设计中,策划的工作就是用程序和美工能够理解的方式,撰写游戏设计文档,对游戏的整体模式进行叙述。美术人员则制作各种美术素材,使游戏里的各种东西得以呈现在我们面前,而程序人员则要把策划人员设计的游戏规则,用各种代码加以实现,使美术人员制作的素材按照策划人员制订的游戏规则在游戏里达成互动。

由于策划想法是开放给所有用户的通用玩法,必然会做一些大众化的妥协,或者对一些游戏规则进行平衡;这样开发出来的游戏有一定的局限性。



技术实现要素:

为克服上述问题,本发明的目的是提供一种游戏玩法的游戏公式编译方法,统一接口,既提升了公司内部游戏策划快速实现玩法的效率,同时把接口开放给众多不会编程和美术但有能力对游戏主线进行编辑的游戏玩家,集合不同玩家的思想做出不同玩法的游戏,丰富和壮大了游戏生态圈。

本发明采用以下方案实现:一种游戏玩法的游戏公式编译方法,所述方法包括如下步骤:

步骤s1、基于游戏引擎设置好可开放给用户的接口,用户根据接口输入游戏玩法;

步骤s2、对用户输入的游戏玩法进行分词处理;

步骤s3、分词处理后,再对每个分词进行语法分析;

步骤s4、语法分析生产语法树后进行语义分析;

步骤s5、对语义分析树进行代码执行,生成用户所表达的游戏剧情主线,呈现给玩家。

进一步的,所述方法设置有游戏公式库,所述接口为游戏公式库支持的接口,所述用户输入的游戏玩法必须符合公式库中的写法规则;所述公式库的写法规则包括:游戏故事背景内容、游戏角色的属性内容、游戏角色出生地、游戏任务内容、以及游戏胜利条件。

进一步的,所述步骤s2进一步具体为:设置一公式字符表库,所述公式字符表库中存储有“变量”,“符号”,“关键词”,“常数”;从左到右一个字符一个字符地读入用户输入的游戏玩法内容;一边读取字符,一边将字符与公式字符表库进行对应匹配取出相应的词;识别出一个个“变量”,“符号”,“关键词”,“常数”,共同组成词法表。

进一步的,所述步骤s3进一步具体为:对处理后的词法表进行语法分析,生成语法树,即分析游戏玩法内容在结构上是否正确,是否上下文无关;如果出错,则提示用户详细错在哪一行,哪一个词上,而且解释给用户错误原因,错误原因包括:参数设置不准确,单词拼写错误,或者标识符未定义;待用户修改错误后,语法分析结束后。

进一步的,所述步骤s4进一步具体为:语法分析后生成的语法树要进一步进行语义分析,语义分析就是对用户的游戏玩法分解成详细的公式集,形成游戏系统能理解和执行的实质性工作;详细步骤如下:

步骤s41、审查每个运算符是否具有游戏系统规范允许的运算对象,运算对象包括:运算左值右值是否能类型匹配,参数调用是否符合规范,或者变量使用前是否已被声明;

步骤s42、对结构上正确的游戏玩法进行上下文有关性质的审查,有关性质的审查包括:程序局部变量在使用前是否有赋值、方法的每条路径是否都有返回值、或者是否所有的异常都被正确处理;

步骤s43、当审查不符合规范时,游戏系统要报告详细错误反馈给用户。

本发明还提供了一种游戏玩法的游戏公式编译系统,所述系统包括设置接口模块、分词处理模块、语法分析模块、语义分析模块、以及剧情形成模块;

所述设置接口模块,用于基于游戏引擎设置好可开放给用户的接口,用户根据接口输入游戏玩法;

所述分词处理模块,用于对用户输入的游戏玩法进行分词处理;

所述语法分析模块,用于分词处理后,再对每个分词进行语法分析;

所述语义分析模块,用于语法分析生产语法树后进行语义分析;

所述剧情形成模块,用于对语义分析树进行代码执行,生成用户所表达的游戏剧情主线,呈现给玩家。

进一步的,所述系统设置有游戏公式库,所述接口为游戏公式库支持的接口,所述用户输入的游戏玩法必须符合公式库中的写法规则;所述公式库的写法规则包括:游戏故事背景内容、游戏角色的属性内容、游戏角色出生地、游戏任务内容、以及游戏胜利条件。

进一步的,所述分词处理模块的实现方式进一步具体为:设置一公式字符表库,所述公式字符表库中存储有“变量”,“符号”,“关键词”,“常数”;从左到右一个字符一个字符地读入用户输入的游戏玩法内容;一边读取字符,一边将字符与公式字符表库进行对应匹配取出相应的词;识别出一个个“变量”,“符号”,“关键词”,“常数”,共同组成词法表。

进一步的,所述语法分析模块的实现方式进一步具体为:对处理后的词法表进行语法分析,生成语法树,即分析游戏玩法内容在结构上是否正确,是否上下文无关;如果出错,则提示用户详细错在哪一行,哪一个词上,而且解释给用户错误原因,错误原因包括:参数设置不准确,单词拼写错误,或者标识符未定义;待用户修改错误后,语法分析结束后。

进一步的,所述语义分析模块的实现方式进一步具体为:语法分析后生成的语法树要进一步进行语义分析,语义分析就是对用户的游戏玩法分解成详细的公式集,形成游戏系统能理解和执行的实质性工作;即:

审查每个运算符是否具有游戏系统规范允许的运算对象,运算对象包括:运算左值右值是否能类型匹配,参数调用是否符合规范,或者变量使用前是否已被声明;

对结构上正确的游戏玩法进行上下文有关性质的审查,有关性质的审查包括:程序局部变量在使用前是否有赋值、方法的每条路径是否都有返回值、或者是否所有的异常都被正确处理;

当审查不符合规范时,游戏系统要报告详细错误反馈给用户。

本发明的有益效果在于:本发明涉及游戏玩家通过公式编辑自定义玩法,更具体地说,相当是可以玩家自己执行游戏策划的职能,生成自己想要表达的一种游戏玩法;该方法因为是统一接口,既提升了公司内部游戏策划快速实现玩法的效率,同时把接口开放给众多不会编程和美术但有能力对游戏主线进行编辑的游戏玩家,集合不同玩家的思想做出不同玩法的游戏,丰富和壮大了游戏生态圈。另外,本发明让玩家和设计者的界限,变得越加模糊,同时玩家们也更愿意分享自己制作的主线游戏故事给更多的玩家群,普通玩家也能体验除官方版本外的另类新奇玩法,对公司和玩家双边都能获益。

附图说明

图1是本发明的方法流程示意图。

图2是本发明的实施例中方法流程示意图。

图3是本发明的系统原理框图。

具体实施方式

下面结合附图对本发明做进一步说明。

请参阅图1所示,本发明的一种游戏玩法的游戏公式编译方法,所述方法包括如下步骤:

步骤s1、基于游戏引擎设置好可开放给用户的接口,用户根据接口输入游戏玩法;

步骤s2、对用户输入的游戏玩法进行分词处理;

步骤s3、分词处理后,再对每个分词进行语法分析;

步骤s4、语法分析生产语法树后进行语义分析;

步骤s5、对语义分析树进行代码执行,生成用户所表达的游戏剧情主线,呈现给玩家。

其中,所述方法设置有游戏公式库,所述接口为游戏公式库支持的接口,所述用户输入的游戏玩法必须符合公式库中的写法规则;所述公式库的写法规则包括:游戏故事背景内容、游戏角色的属性内容、游戏角色出生地、游戏任务内容、以及游戏胜利条件。

下面结合一具体实施例对本发明作进一步说明:

请参阅图2所示,本发明的一种游戏玩法的游戏公式编译方法,该方法包含提取游戏系统支持的接口做成公式存储模块,在游戏系统界面上编制玩法,进行分词处理,语法分析,语义分析,该方法执行六个主要步骤:

1.系统公式存储模块收集,并开放公式存储模块中的接口给用户。详细步骤如下

(1)基于游戏引擎,此次采用s3游戏引擎(s3游戏引擎是网龙自主研发的一款游戏引擎,游戏引擎包括以下模块:图像渲染模块、物理系统模块、碰撞检测模块、脚本模块、场景管理模块、文件管理系统模块等)定好可开放给用户的接口,并把这些接口收入公式存储模块。比如,角色的走路动作(在系统中对应move),普通攻击对应(putong_hit),重生点(setbornpos),移动速度(movediff),血量(blood),任务奖励(reward),技能伤害值(skilldamagevalue),防御能力(def),魔法值(mp),胜利条件(win),任务绑定(bind)等。

例子如:

一个退伍军人乘坐飞机,由于天气原因,一阵电磁干扰音中,整架飞机毫无征兆地折断成三段,坠落到荒岛之上。醒来时,他已经光着身子,身边只放了一个破笔记本。点击笔记本,笔记本显示需要收集火柴和武器。荒岛中有一些怪物,需要杀死一只老虎得到虎皮做衣服,并前往山上找到火堆,中间可以通过补充野果得到不同的血量,如果被林中怪物打死,需要回重生地点,重新开始征程。

游戏玩家用公式库支持的接口写法:

故事背景:“你是一个优秀的退伍军人,正在坐在飞机航班上,一阵电磁干扰音中,架飞机毫无征兆地折断成三段,坠落到荒岛之上。醒来时,你已经光着身子,身边只放了一个破笔记本。”

主角血量:100

移动速度:10

技能伤害值:5

得到武器的技能伤害值:10

防御能力:3

得到武器防御能力:5

重生地点:当前位置

笔记本绑定任务:“你现在需要收集火柴和武器,并杀死一只老虎,躲避怪物,前往山上找到火堆,然后点燃火堆,放出求救信号,才能离开小岛”

胜利条件:是否杀死老虎,是否得到火柴,是否点起了火堆。

转换为公式库支持的函数写法:

storyback:“你是一个优秀的退伍军人,正在坐在飞机航班上,一阵电磁干扰音中,架飞机毫无征兆地折断成三段,坠落到荒岛之上,醒来时,你已经光着身子,身边只放了一个破笔记本。”

begin

roleblood:100

skilldamagevalue:5

weaponskilldamagevalue:10

definition:3

weapondefinition:5

setbornpos:qvector(0,0,0)

movediff:10px

bindbooknote:1.killertigle2.getmatch3.lightthefire

win:iskiller(tigler)andisget(match)andislight(fire)

end

(2)公式存储模块中的游戏规则转化成用户可理解的常用语,比如玩家通常不需要内部实现真正的函数接口,系统对外一定会用“走路”(内部会调用onmove),“重生地点”(内部会调用setbornpos)这些来代替游戏的基本执行函数集;

(3)这些接口面向用户后,还要做好注释和例子来告诉玩家这些子规则的用法以及所起的作用;

2.玩家了解公式存储模块收集的规则后,在游戏系统上编写自己的游戏故事公式(对本系统来说就是源程序)

3.游戏系统对玩家输入的游戏故事公式按公式存储模块收集的规则进行分词处理。详细步骤如下:

(1)从左到右一个字符一个字符地读入源程序;

(2)一边读取字符,一边对应公式字符表库(细分为符号表,关键词表)取出相应的词,在符号表库以外,则是符号和变量;

(3)识别出一个个“变量”,“符号”,“关键词”,“常数”,共同组成词法表。

4.游戏系统对步骤3处理后的词法表进行语法分析,生成游戏系统可以理解的语法树。详细步骤如下:

(1)分析源程序在结构上是否正确,是否上下文无关;

(2)如果出错,则提示用户详细错在哪一行,哪一个词上,而且解释给用户错误原因。比如参数设置不准确,单词拼写错误,标识符未定义,游戏系统不能理解的未知错误等(待用户修改错误后,重新执行步骤3)

(3)语法分析结束后,接着进行步骤5。

5.语法分析后生成的语法树要进一步进行语义分析,语义分析就是对用户的玩法分解成详细的公式集,形成游戏系统可以理解和执行的实质性工作。详细步骤如下:

(1)审查每个运算符是否具有系统规范允许的运算对象,如运算左值右值是否可以类型匹配,参数调用是否符合规范,变量使用前是否已被声明;

(2)对结构上正确的源程序进行上下文有关性质的审查,如程序局部变量在使用前是否有赋值、方法的每条路径是否都有返回值、是否所有的异常都被正确处理了等问题;

(3)当不符合语言规范时,系统要报告详细错误反馈给用户(待用户修改错误后,重新执行步骤3)

(4)语法分析结束后,进行步骤6。

6.系统对语义分析树进行代码执行,生成用户所表达的剧情主线,呈现给玩家。

请参阅图3所示,本发明还提供了一种游戏玩法的游戏公式编译系统,所述系统包括设置接口模块、分词处理模块、语法分析模块、语义分析模块、以及剧情形成模块;

所述设置接口模块,用于基于游戏引擎设置好可开放给用户的接口,用户根据接口输入游戏玩法;

所述分词处理模块,用于对用户输入的游戏玩法进行分词处理;

所述语法分析模块,用于分词处理后,再对每个分词进行语法分析;

所述语义分析模块,用于语法分析生产语法树后进行语义分析;

所述剧情形成模块,用于对语义分析树进行代码执行,生成用户所表达的游戏剧情主线,呈现给玩家。

所述系统设置有游戏公式库,所述接口为游戏公式库支持的接口,所述用户输入的游戏玩法必须符合公式库中的写法规则;所述公式库的写法规则包括:游戏故事背景内容、游戏角色的属性内容、游戏角色出生地、游戏任务内容、以及游戏胜利条件。

其中,所述分词处理模块的实现方式进一步具体为:设置一公式字符表库,所述公式字符表库中存储有“变量”,“符号”,“关键词”,“常数”;从左到右一个字符一个字符地读入用户输入的游戏玩法内容;一边读取字符,一边将字符与公式字符表库进行对应匹配取出相应的词;识别出一个个“变量”,“符号”,“关键词”,“常数”,共同组成词法表。

所述语法分析模块的实现方式进一步具体为:对处理后的词法表进行语法分析,生成语法树,即分析游戏玩法内容在结构上是否正确,是否上下文无关;如果出错,则提示用户详细错在哪一行,哪一个词上,而且解释给用户错误原因,错误原因包括:参数设置不准确,单词拼写错误,或者标识符未定义;待用户修改错误后,语法分析结束后。

所述语义分析模块的实现方式进一步具体为:语法分析后生成的语法树要进一步进行语义分析,语义分析就是对用户的游戏玩法分解成详细的公式集,形成游戏系统能理解和执行的实质性工作;即:

审查每个运算符是否具有游戏系统规范允许的运算对象,运算对象包括:运算左值右值是否能类型匹配,参数调用是否符合规范,或者变量使用前是否已被声明;

对结构上正确的游戏玩法进行上下文有关性质的审查,有关性质的审查包括:程序局部变量在使用前是否有赋值、方法的每条路径是否都有返回值、或者是否所有的异常都被正确处理;

当审查不符合规范时,游戏系统要报告详细错误反馈给用户。

比如“ihaveadreamtoday。”:

(1)词法分析:想要获取这句话的意思,那么首先系统需要对输入的信息进行一个个单词识别,也就是录入源程序,这属于词法分析;

(2)语法分析:这句话录入程序,接下来系统就要进行识别每一个单词分别都是什么格式,英语语法的主谓宾、定状补,进而确定要翻译的语句的结构;

(3)语义分析:获取了句子的单词,词性,接下来就是最后的输出阶段啦,语义分析,通过语义分析输出该翻译字句的中文含义:“我今天有一个梦想”。

以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1