一种桌面卡牌游戏引擎制造技术

技术编号:15762635 阅读:61 留言:0更新日期:2017-07-05 22:21
本发明专利技术公开了一种桌面卡牌游戏引擎,其涉及桌面卡牌游戏与编程语言技术领域,其包括控制模块、核心模块、语法分析模块、卡牌管理模块、数据库模块、通信模块;所述控制模块用于处理分发事件,初始化游戏资源;所述核心模块用来模拟实际效果流程,其中包含实际效果处理的核心机制与语言解释器;所述卡牌管理模块用于管理卡牌包、卡牌、效果,可独立于游戏单独进行数据库的编辑,也可用于游戏牌库编辑;所述语法分析模块用于将数据库中卡牌及效果文本转换为可使用的游戏资源;所述通信模块将实际游戏中玩家可视资源通过通信传给客户端,并进行操作上的交互。本发明专利技术能够实现游戏处理引擎核心和使得玩家能够胜任自定义卡牌工作。

A desktop card game engine

The invention discloses a desktop card game engine, which relates to a desktop card game and programming language technology field, which comprises a control module, parsing module, card management module, database module, communication module; the control module is used for processing events, initialization of the core game resources; module is used to simulate the actual effect of the process, including the actual effect of processing core mechanism and language interpreter; the card management module for the management of card bag, card, the effect can be independent of the game alone database editor, can also be used for game library editing; the syntax analysis module for conversion card the text can be used for brand and effect of game resources database; the communication module will be the actual game game player visual resources through the communication to the client, and Perform operational interaction. The invention can realize the core of the game processing engine and enable the player to be competent for the work of the custom card.

【技术实现步骤摘要】
一种桌面卡牌游戏引擎
本专利技术涉及桌面卡牌游戏与编程语言
,特指一种桌面卡牌游戏引擎。
技术介绍
卡牌类游戏是桌面游戏的一个类别,也是其中占比非常大的一个类别。主要包含以TCG(TradingCardGame集换式卡牌游戏)及其变种类型,针对广泛的以牌(特指单张牌)为核心的一大类桌面游戏,这些桌面游戏的存在以下共同点:一是牌之外的附带部件少,区别于版图、棋类游戏;二是重视牌与牌的互动而不是排列组合,区别于传统的扑克、麻将等游戏。由RPG(Role-PlayingGame)游戏进化而来的卡牌类游戏很自然地带有了RPG游戏的很多元素。首先,卡牌类游戏的基本元素有:区域、卡牌、效果,大多数卡牌类游戏都会有生物、法术、装备等不同类型的卡牌,这些牌会游走于战场的各个区域之间,通过效果、战斗等互动手段来进行对决,对于生物而言,生命值、攻击力等属性也是不可或缺的。其次是时间的离散性。卡牌类游戏的初衷是在桌面上进行RPG游戏的凝练,而桌面这一场合很难采取回合制以外的游戏方式,原因是缺少时钟。游戏的突现性也是一个重要的特征,很少有桌面游戏会选择设计固定数目的关卡,这十分不利于游戏的可玩性。而无限制的设计对于桌面游戏的开发与发行都是不可能的。所以桌面游戏往往把多变性体现在卡牌(或其他元素)的互动上。卡牌类游戏的原本设计目的是在桌面上,用卡牌来表示玩家的动作,进行交互式的游戏。而随着时代的发展,人们对互联网的依赖越来越大。卡牌类游戏的玩家们希望在不能见面时,也能通过网络进行游戏,这便产生了用计算机实现卡牌类游戏的需求。目前市面上的卡牌类游戏,一些主流游戏厂商大都推出了自己的自动化游戏对战平台,如万智牌的magiconline、三国杀的三国杀online、风声online(已停服),但小众游戏基本都没有实现,而有实现的游戏也多不是最新版本。另外,多有着商业运营的所不可避免的高昂费用。此处高昂费用并非指游戏发行时收取的购入费用,而是指在游戏中购买虚拟卡牌的费用。在商业运营模式下此费用会虚高不下。有民间爱好者自发的团体或个人来实现,但往往没有持续的热情,通常在几个版本后放弃,另外与游戏规则不同的Bugs也经常出现。比较成功的案例有游戏王的ygopro(ygocore或mycard为不同版本名,均为基于同一开源软件所构建)。非自动化平台,这种方案是一个代替方案,并不能直接解决以上需求。该方案实现一个“桌子”,提供给玩家自己操作卡牌的功能,而游戏卡牌的效果需要玩家自行模拟操作完成。该方案是成功的,它提供了玩家通过网络进行游戏的功能,同时缺点也很明显——复杂。玩家会进行繁复的操作以至于消耗过多的时间,玩家很容易记不清效果的正确处理规则,导致游戏非正常进行。早期游戏王对战工具NBX(netbattleX)、仍在使用的万智牌对战工具MWS(magicworkstations[5])都是采取了这种方案,后者由于框架的开阔,被应用于许多其他同类型游戏的网络对战。目前,卡牌类游戏的自动化实现存在以下几个难点:1、牌池庞大,需要实现的卡牌众多;2、更新速度快,新出现的卡牌往往带来新的机制;3、卡牌效果歧义与特例较多;上述难点使得自动化实现卡牌类游戏一直以来都是个很繁重的工作。以往的自动化实现架构多为两个部分,第一部分是使用通用程序设计语言实现的核心系统,能够管理游戏资源,同时提供接口以便于对效果的分类。第二部分是使用脚本语言(如LUA)实现的卡牌效果,这有助于渐进地实现整个游戏,同时脚本语言的轻便也被体现出来。但是上面所述的自动化实现架构也存在着许多问题。例如游戏资源交由核心管理,意味着对于游戏规则架构的修改需要核心的修改,而使用通用语言的核心本身不会很易于维护,同时游戏规则不成体系,易产生冲突。脚本语言虽然简便,但亦需有编程基础的人来更新维护,即对于牌池的扩展仍需开发者来进行,不能将扩展牌池的任务交给玩家。对于卡牌类游戏,自定义是游戏的一大乐趣,同时也是新版本的开发测试的重要组成。
技术实现思路
本专利技术所要解决的技术问题为提出一种能够实现游戏处理引擎核心和使得玩家能够胜任自定义卡牌工作的桌面卡牌游戏引擎,有效克服目前自动化实现卡牌类游戏所存在的技术问题。本专利技术的具体技术方案是:一种桌面卡牌游戏引擎,所述桌面卡牌游戏引擎包括:核心模块、控制模块、文法分析模块、卡牌管理模块、数据库模块、通信模块;所述核心模块用来模拟实际效果流程,其包含实际效果处理的核心机制与语言解释器;所述控制模块用于处理分发事件、初始化游戏资源,为主控制流程;所述卡牌管理模块用于管理卡牌包、卡牌、效果,其独立于游戏单独进行数据库的编辑或/和用于游戏牌库编辑;所述文法分析模块用于将数据库中卡牌及效果文本转换为可使用的游戏资源;所述通信模块用于将实际游戏中玩家可视资源通过通信传给客户端,并进行操作上的交互。作为本专利技术技术方案的进一步改进,所述控制模块包括游戏初始化单元、游戏设置读取单元与游戏主控制流程单元;所述游戏初始化单元用于创建客户端资源、客户端通信线程,加载核心模块、文法分析模块、数据库模块;所述游戏设置读取单元用于将游戏所使用卡牌扩展包、游戏规则效果从数据库模块中读取出来,加载至核心模块中;所述主控制流程单元用于分发处理用户级事件,调用核心模块处理效果,将核心模块中的游戏资源信息显示给客户端。作为本专利技术技术方案的进一步改进,所述文法分析模块包括效果描述语言的文法结构、LR分析与抽象语法树的文法解析器;所述效果描述语言的文法结构包括元素的描述方式、效果的描述方式、以及条件分支与循环过程结构的支持方式;所述基于LR分析与抽象语法树的文法解析器的语言定义于LR文法中,使用LR分析器进行解析,将效果转化为抽象语法树后存于游戏资源中。作为本专利技术技术方案的进一步改进,所述元素的描述方式为:所述元素包括区域、卡牌、效果、属性;游戏玩家拥有区域,区域拥有卡牌,卡牌拥有效果,区域、卡牌、效果可归类为对象,对象间使用拥有的方式获取,对象间是递归拥有的。所述效果的描述包括:将卡牌效果分解为动作,所有每个动作均视为一个效果,所述一个效果含有多条命令,每条命令含有效果调用名、施法者、目标、参数;条件分支与循环过程结构的支持方式包括:1)分支结构,在每条命令前加入条件,而所有命令仍构成同一效果,每个效果只可能有一层命令调用,分支的层数只有一层,复杂的分支结构使用多个效果叠加来实现;2)循环结构,选用递归的方式模拟可以实现不定次数的循环结构。作为本专利技术技术方案的进一步改进,所述核心模块的核心机制包括基于栈的效果调用机制、基于队列的事件机制、属性栈机制和世界分支机制;所述基于栈的效果调用机制包括:将一切的游戏动作均定义为效果,效果可以由效果产生,也可由效果触发。产生效果是指效果中所定义的必须发生的效果,产生效果是原效果的子效果;触发效果是指其它效果响应原效果后接连发生;由效果产生或触发的效果将在效果栈的最上层出现,并优先结算,为了动态处理接在效果后触发的效果,设置一个活动表记录活动的效果,以便在效果结束时进行搜索,直到调用了最底层的内建效果,则由核心模块中的内建效果对游戏资源进行操作;所述基于队列的事件机制包括:通过事件机制使用串行的方式模拟实体卡牌上描述的同时发生的效果;当一个效果同时产生本文档来自技高网
...
一种桌面卡牌游戏引擎

【技术保护点】
一种桌面卡牌游戏引擎,其特征在于,所述桌面卡牌游戏引擎包括:核心模块、控制模块、文法分析模块、卡牌管理模块、数据库模块、通信模块;所述核心模块用来模拟实际效果流程,其包含实际效果处理的核心机制与语言解释器;所述控制模块用于处理分发事件、初始化游戏资源,为主控制流程;所述卡牌管理模块用于管理卡牌包、卡牌、效果,其独立于游戏单独进行数据库的编辑或/和用于游戏牌库编辑;所述文法分析模块用于将数据库中卡牌及效果文本转换为可使用的游戏资源;所述通信模块用于将实际游戏中玩家可视资源通过通信传给客户端,并进行操作上的交互。

【技术特征摘要】
1.一种桌面卡牌游戏引擎,其特征在于,所述桌面卡牌游戏引擎包括:核心模块、控制模块、文法分析模块、卡牌管理模块、数据库模块、通信模块;所述核心模块用来模拟实际效果流程,其包含实际效果处理的核心机制与语言解释器;所述控制模块用于处理分发事件、初始化游戏资源,为主控制流程;所述卡牌管理模块用于管理卡牌包、卡牌、效果,其独立于游戏单独进行数据库的编辑或/和用于游戏牌库编辑;所述文法分析模块用于将数据库中卡牌及效果文本转换为可使用的游戏资源;所述通信模块用于将实际游戏中玩家可视资源通过通信传给客户端,并进行操作上的交互。2.根据权利要求1所述的一种桌面卡牌游戏引擎,其特征在于,所述控制模块包括游戏初始化单元、游戏设置读取单元与游戏主控制流程单元;所述游戏初始化单元用于创建客户端资源、客户端通信线程,加载核心模块、文法分析模块、数据库模块;所述游戏设置读取单元用于将游戏所使用卡牌扩展包、游戏规则效果从数据库模块中读取出来,加载至核心模块中;所述主控制流程单元用于分发处理用户级事件,调用核心模块处理效果,将核心模块中的游戏资源信息显示给客户端。3.根据权利要求1所述的一种桌面卡牌游戏引擎,其特征在于,所述文法分析模块包括效果描述语言的文法结构、LR分析与抽象语法树的文法解析器;所述效果描述语言的文法结构包括元素的描述方式、效果的描述方式、以及条件分支与循环过程结构的支持方式;所述基于LR分析与抽象语法树的文法解析器的语言定义于LR文法中,使用LR分析器进行解析,将效果转化为抽象语法树后存于游戏资源中。4.根据权利要求1-3任一项所述的一种桌面卡牌游戏引擎,其特征在于,所述元素的描述方式为:所述元素包括区域、卡牌、效果、属性;游戏玩家拥有区域,区域拥有卡牌,卡牌拥有效果,区域、卡牌、效果可归类为对象,对象间使用拥有的方式获取,对象间是递归拥有的;所述效果的描述包括:将卡牌效果分解为动作,所有每个动作均视为一个效果,所述一个效果含有多条命令,每条命令含有效果调用名、施法者、目标、参数;条件分支与循环过程结构的支持方式包括:1)分支结构,在每条命令前加入条件,而所有命令仍构成同一效果,每个效果只可能有一层命令调用,分支的层数只有一层,复杂的分支结构使用多个效果叠加来实现;2)循环结构,选用递归的方式模拟可以实现不定次数的循环结构。5.根据权利要求4所述的一种桌面卡牌游戏引擎,其特征在于,所述核心模块的核心机制包括基于栈的效果调用机制、基于队列的事件机制、属性栈机制和世界分支机制;所述基于栈的效果调用机制包括:将一切的游戏动作均定义为效果,效果可以由效果产生,也可由效果触发;产生效果是指效果中所定义的必须发生的效果,产生效果是原效果的子效果;触发效果是指其它效果响应原效果后接连发生;由效果产生或触发的效果将在效果栈的最上层出现,并优先结算,为了动态处理接在效果后触发的效果,设置一个活动表记录活动的效果,以便在效果结束时进行搜索,直到调用了最底层的内建效果,则由核心模块中的内建效果对游戏资源进行操作;所述基于队列的事件机制包括:通过事件机制使用串行的方式模拟实体卡牌上描述的同时发生的效果;当一个效果同时产生了多个效果时,在所述多个效果结算完毕之前,所述多个效果将不能触发新的效果,但所述多个效果仍将产生子效果,进而对局面进行改变,在所述多个效果的最后一个效果处理完之前,所述多个效果的其他前面的效果可能已经处理完成;所述多个效...

【专利技术属性】
技术研发人员:白亮栾绍童
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1