CN109364490A - 卡牌游戏测试方法、装置及存储介质 - Google Patents
卡牌游戏测试方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109364490A CN109364490A CN201811477354.XA CN201811477354A CN109364490A CN 109364490 A CN109364490 A CN 109364490A CN 201811477354 A CN201811477354 A CN 201811477354A CN 109364490 A CN109364490 A CN 109364490A
- Authority
- CN
- China
- Prior art keywords
- card
- card games
- machine learning
- status data
- log
- 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/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种卡牌游戏测试方法、装置及存储介质,该方法包括:获取与卡牌游戏相关的日志,日志用于记录玩家行为及在玩家行为下设备的反映信息;从日志中提取可被机器学习的状态数据,该状态数据用于反映卡牌游戏的在各时刻的状态;对状态数据进行机器学习,得到机器学习模型;基于机器学习模型对卡牌游戏进行测试。通过本发明实施例可以在有限的时间内,完成对卡牌游戏的客观测试。
Description
技术领域
本发明实施例涉及测试技术,尤其涉及一种卡牌游戏测试方法、装置及存储介质。
背景技术
集换式卡牌游戏,是以收集卡牌为基础,游戏者通过购买随机补充包,运用自己的策略,组合符合规则的套牌进行游戏,由于套牌不同,每一局抓到的卡牌次序不同,整个游戏过程充满了随机性。这种游戏类型所决定的随机性提升了对测试人员的测试能力要求。
现有的对于集换式卡牌游戏的测试多为人工修改数据表或代码,以测试人员的经验来完成对卡牌游戏的测试。但考虑到卡牌游戏的随机性及测试人员本能能力的差异,人工测试卡牌游戏存在测试周期长、主观性强等问题。
发明内容
本发明实施例提供一种卡牌游戏测试方法、装置及存储介质,以在有限的时间内,完成对卡牌游戏的客观测试。
第一方面,本发明实施例提供一种卡牌游戏测试方法。该方法包括:
获取与卡牌游戏相关的日志,日志用于记录玩家行为及在玩家行为下设备的反映信息;
从日志中提取可被机器学习的状态数据,该状态数据用于反映卡牌游戏的在各时刻的状态;
对状态数据进行机器学习,得到机器学习模型;
基于机器学习模型对卡牌游戏进行测试。
第二方面,本发明实施例提供一种卡牌游戏测试装置。该装置包括:
获取模块,用于获取与卡牌游戏相关的日志,日志用于记录玩家行为及在玩家行为下设备的反映信息;
提取模块,用于从日志中提取可被机器学习的状态数据,该状态数据用于反映卡牌游戏的在各时刻的状态;
学习模块,用于对状态数据进行机器学习,得到机器学习模型;
测试模块,用于基于机器学习模型对卡牌游戏进行测试。
第三方面,本发明实施例提供一种卡牌游戏测试装置,包括:存储器,用于存储程序指令;处理器,用于执行程序指令来实现如第一方面所述的卡牌游戏测试方法。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面所述的卡牌游戏测试方法。
本发明实施例提供一种卡牌游戏测试方法、装置及存储介质,首先获取与卡牌游戏相关的日志,日志用于记录玩家行为及在玩家行为下设备的反映信息,从日志中提取可被机器学习的状态数据,该状态数据用于反映卡牌游戏的在各时刻的状态,之后,对状态数据进行机器学习,得到机器学习模型,并基于机器学习模型对卡牌游戏进行测试。由于机器学习模型是对大量状态数据进行机器学习的结果,且学习过程和使用过程均由设备完成,因此,通过机器学习模型对卡牌游戏进行测试,可以在有限的时间内,完成对卡牌游戏的客观测试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的卡牌游戏测试方法的流程图;
图2为本发明另一实施例提供的卡牌游戏测试方法的流程图;
图3为本发明一实施例提供的卡牌游戏测试装置的结构示意图;
图4为本发明另一实施例提供的卡牌游戏测试装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例各部分及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明下述实施例所涉及的方法流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按照所描述的顺序执行。例如,有些步骤还可以分解,而有些步骤可以合并或部分合并,因此,实际执行的顺序可根据实际情况改变。
本发明下述实施例所涉及的方框图中的功能模块仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或者不同网络和/或处理器和/或微控制器中实现这些功能实体。
首先,对本发明实施例涉及的部分技术术语进行解释说明。
UI,即User Interface(用户界面)的简称,泛指用户的操作界面,包含移动应用,网页,智能穿戴设备等。UI设计主要指界面的样式,美观程度。而使用上,对软件的人机交互、操作逻辑、界面美观的整体设计则是同样重要的另一个门道。UI可以让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点。
日志(Log),服务器或者客户端用于记录用户行为或服务器必要信息的文本,一般按时间存放于多个文本文件中。
Buff和Debuff,Buff一词在游戏中的意思主要有两种:一是指增益系的各种魔法,这个词汇多流行于D&D跑团和网络游戏中,通常指给某一角色增加一种可以增强自身能力的“魔法”或“效果”;另外一个意思是指在游戏的版本更新时,对某一个职业、种族、技能等游戏内容进行增强。Buff的否定形式是“Debuff”,反义词是“nerf”,意思是给角色实施的各种减益的效果,减少角色的属性和能力。比如游戏里的某种具有减速、疲劳、虚弱等效果的状态,DeBuff状态可能使玩家的攻击、防御、速度、法术伤害等各项属性减少。
Bot指代游戏内机器人系统,一般为去除了渲染层,可执行游戏脚本,即一个免UI客户端,可以按照用户预设的行为运行。
以常规的测试方法来看,可以将卡牌划分成各个等价类,针对每个等价类进行测试。但是这种测试方法存在各种问题:
例如,等价类划分困难,难以准确定义何种卡牌为一类;等价类量级不可控,在游戏机制复杂的情况下,等价类可能劣化为单个卡牌;游戏里存在组合卡牌(简称:卡组)的概念,单个卡牌即使划分出等价类,也需要考虑互相组合的情况。因此,当卡牌数量达到一定程度后,最可能采用的测试方法是根据测试经验去抽选出可能互相产生影响的卡牌组成卡组,并且测试。这种测试方法无疑非常依赖对游戏的理解,同时也存在极大的遗漏。
另一方面,卡牌游戏引入一张新卡牌后的平衡性也存在很大的不确定性。例如,也许可以较为准确的判断新卡牌的强度,但是对于新卡牌和不同卡牌间的配合难以给出一个强度值。
又如,难以预测可能的卡牌组合,且卡牌组合较多,通过枚举的方式测试量级过于庞大,时间不足。
总结上述需求,发明人发现:要在有限的时间内,完成对卡牌游戏的客观测试,首先需要搜集卡牌游戏系统内日志(log)获取基础数据,针对基础数据进行加工,作为机器学习的输入,通过数层神经元的运算,可以获得结果输出,即玩家应该进行的目标操作。通过机器学习可以对玩家行为进行预测,避免过量的回归测试。
可选地,通过实现一个客户端免UI的Bot,可以在linux或者其他平台上启动Bot,避免局限于windows平台,同时降低多Bot对于物理机的负担。该Bot预留一个玩家决策接口,通过该接口可以运用机器学习所获得的数据来进行玩家行为的预测。
那么,最终问题就拆解为三个部分:1.如何搜集数据;2.如何进行机器学习;3.如何利用机器学习数据、搜集结果。下文将详细描述这三部分的实现细节。
图1为本发明一实施例提供的卡牌游戏测试方法的流程图。本发明实施例提供一种卡牌游戏测试方法,可以理解,该卡牌游戏测试方法可由卡牌游戏测试装置等执行相应的软件代码实现,也可由卡牌游戏测试装置执行相应的软件代码,并结合其他硬件实体实现。其中,卡牌游戏测试装置例如为计算机、测试机、服务器、物理机等设备或该些设备中集成的芯片或电路等,例如上文所述的Bot。
如图1所示,本实施例所示的卡牌游戏测试方法包括如下步骤:
S101、获取与卡牌游戏相关的日志。
其中,日志用于记录玩家行为及在玩家行为下设备的反映信息。
游戏(包括卡牌游戏)内有两类较易获得的数据,图像数据和日志。一般视频直播平台会存在较多游戏回放,可以通过快速截取视频获得较多图像数据;另一方面,游戏为了运营以及其他方面考虑,客户端以及服务器都会记录一定的日志,玩家的客户端日志不易获得,但是服务器日志可以较为容易获得。
从上述情况可以看出,从图像数据和日志都可以获取需要的数据。但图像数据毕竟是外部数据,即使是公司内部,也存在跨部门沟通成本,相对的,日志一般是运营系统提供给产品较为快捷的获取突击,从数据获取的难易度上来讲,日志较易获取。
另外,从数据的量级上对比。假设有100万个玩家,每天有30场游戏,每场游戏的决策有50次,那么每天可以获取1000000*30*50量级的日志,但是这100万个玩家中会有多少玩家会从事直播活动,在直播平台保存视频,无论通过什么形式去搜集视频数据也不可能超过能获得的日志的数据量,因此,在数据的量级上获取日志是占优的。
最后,从数据可用性考虑。游戏版本更新很频繁,有时甚至会影响游戏的整体UI布局,那么,视频搜集的数据就有非常明显的劣势,A版本的游戏数据,很可能在B版本因为视觉效果迭代不可用;而日志不存在这个问题,即使视觉效果迭代也不会影响服务器后来所存取的数据。
因此,本发明实施例首先获取与卡牌游戏相关的日志。
以下示例一段与卡牌游戏相关的常见日志:
2018-09-03 12:31:58,992-MobileServer-game1-server.ServerAvatar-INFO-[('UsedCardPileChange',{'cards':[{'canUse':False,'selfDamage':False,'critical':False,'canNotPlay':False,'cardID':ObjectId('5b8cb9340d0f0e2ea439b068'),'invalidReason':108,'energy':2,'cardTypeID':12042,'energyAll':False,'invalidReasonValue':[]}]}),('SyncCardUseTimes',{'use':0,'cardTypeID':12042,'preUse':1,'cardID':ObjectId('5b8cb9340d0f0e2ea439b068')}),('CardUseCompleted',{'pileType':3,'cardID':ObjectId('5b8cb9340d0f0e2ea439b068')})]
上述示例中,'UsedCardPileChange'是使用过卡牌后牌堆变化log的标记,用一个字典记录了变化的卡牌信息,上述log中存在很多不必关注信息,例如卡牌使用的所需要能量(energy)等,对于机器学习有效的信息有:'cardID':ObjectId('5b8cb9340d0f0e2ea439b068'),这里的ID并不是卡牌的ID,而是卡牌所实例化对象的游戏内ObjectId,这是游戏内为了处理同一ID卡牌的情况,需要使用游戏内接口,将ObjectId转化为所需要的卡牌的ID,这里不再列举具体代码。
其中,玩家出牌或者使用物品会有对应卡牌或物品的标签(ID)的日志。例如,玩家使用ID为3的卡牌,会出现一条带有”UsedCardPileChange”的日志,如果日志存在于直接可以操作的机器上,则在linux系统中使用命令行截取这条日志即可,例如:
cat input.file|grep“UsedCardPileChange”>output.file
如果不可以直接操作机器,可以使用脚本语言来获取。其中,脚本语言例如是为了实现从一段log中获取有效数据,可以定义一些关键字,例如UsedCardPileChange,通过get_today_log()来获取今天所有的相关log,存储为一个list。需注意的是,对于相关日志log量很大的情况,需要加以修改,例如不用获取今天的log接口而采用获取指定时间段的log,写入的output.file文件也加上时间标记即可,这里不做详细讨论。对今天log的list循环,逐行读取log信息判断每行中是否存在需要的关键字key_word,如果有,则写入output.file;否则不作处理。
S102、从日志中提取可被机器学习的状态数据。
其中,该状态数据用于反映卡牌游戏的在各时刻的状态。
卡牌游戏内出牌问题可以简化为一个决策问题,即在当前状态下应该打出什么样的卡牌。由于卡牌之间存在联动,单独打出牌a和先后打出牌b、牌a可能存在不同,这种情况将其简化为状态,打出牌b后产生了Buff,这导致了一个新的状态,后续的出牌变成了在这个新状态下的决策,因此需要构造机器可以学习的状态数据就可以实现机器学习的流程。
下面的问题就是如何将与卡牌游戏相关的日志转化为状态数据。
假设将一个卡牌类玩家对战环境(Player VS Environment,简称:PVE)游戏拆分为几个部分:人物、卡牌、物品、怪物。对于人物而言需要继续拆分为:人物当前血量,人物携带Buff(Debuff),人物的类型,等等。而怪物需要拆分为:怪物种类,怪物血量,怪物的攻击意图和怪物携带Buff(Debuff)等。如此一来,示例性地,该卡牌类PVE游戏中当前情况便可以拆分为:
人物当前血量,人物携带Buff(Debuff),人物的类型,当前卡牌,当前物品,怪物种类,怪物血量,怪物的攻击意图,怪物携带Buff(Debuff)。
可以把以上数据量化为一个数组[0,1,3,10,.......],如此该数组便是一个机器可以学习的状态数据。
例如,以下为一个日志的基本形式:
通常情况下,记录日志不可能在每一次出牌期间都详细记录,上述所有的状态,一般只会包含其中一部分,所以需要明确一个局的概念,对于一局而言,初始状态是明确的。在一局刚开始前,可以获取前文所述所有状态,后续游戏过程就是对初始状态的修改。其中,玩家操作,以及怪物行动都会记录对应的日志,整局游戏中,会对状态造成影响的就是这两个要素。整体流程如下:
游戏开始-》初始状态T0-》玩家回合-》根据玩家行为修改初始状态T0中部分状态变为状态T1-》怪物回合-》根据怪物行为修改状态T1中部分状态变为状态T2-》玩家回合......->游戏结束。
示例性地,相关代码中可以定义玩家回合的关键字集合以及怪物回合的关键字集合,之后遍历整个log,具体地:如果是玩家回合,根据log中玩家操作更新状态信息;如果是怪物回合,则根据log中怪物行为更新状态信息;若既不是玩家也不是怪物行为,什么都不做。如此便完成了日志的记录。
设定一个数组[人物当前血量,人物携带Buff(Debuff),人物的类型,当前卡牌,当前物品,怪物种类,怪物血量,怪物的攻击意图,怪物携带Buff(Debuff)],对日志中的状态数据进行遍历,便可以得到所期望的训练数据。
可以理解,通过该步骤的处理,可以避免状态数据过多所导致的状态数据占据过多空间的问题,减轻机器的成本压力。
需说明的是,在本发明任一实施例中,状态数据可以包括以下至少一个:人物状态数据,卡牌状态数据,物品状态数据和怪物状态数据等。示例性地,人物状态数据包括如前所述的人物当前血量,人物携带Buff(Debuff),人物的类型等;怪物状态数据包括如前所述的怪物种类,怪物血量,怪物的攻击意图和怪物携带Buff(Debuff)等;卡牌状态数据包括当前卡牌;物品状态数据包括当前物品。
S103、对状态数据进行机器学习,得到机器学习模型。
机器学习的过程即对训练数据进行训练得到机器学习模型的过程。
训练数据准备完成后便可以开始搭建神经网络。例如,可以使用PyTorch作为机器学习框架的代码,假设人物的卡牌以及各种状态共计30种,人物可以使用的物品为10种,则有:
all_status=30
can_use_obj_types=10
之后,实例化CardModule。
新建卡牌类,使用lstm模型,forward函数中给出推导过程。
对于训练数据,可以使用torch.optim.Adam作为优化器,对训练集中的训练数据进行遍历,通过训练模型学习得出的output,并使用多分类用的交叉熵损失函数,梯度置0,进行回溯。
如此,就完成了机器学习模型的训练。
S104、基于机器学习模型对卡牌游戏进行测试。
机器学习模型的输出可以把卡牌,物品部分转化为数组,决策所使用的卡牌或者物品位置1,即类似于[0,0,0,0,1,0,0,.....]的数组,这样根据输出便可以确定应该打出哪一张卡牌或者使用哪一个物品,从而完成对卡牌游戏的自动化测试。
对现有Bot对应策略接口进行修改,运用机器学习模型及当前状态数据,实现对卡牌游戏的测试。
相比人工测试,自动化测试可以节约大量时间,方便的提升测试的量级;另一方面,由于机器学习模型可以在不同机器上运作,且不同机器得出的运行结果也基本类似,不会出现类似不同测试人员所带来的测试结果的差异的问题,测试结果相对客观。
本实施例提供的卡牌游戏测试方法,首先获取与卡牌游戏相关的日志,日志用于记录玩家行为及在玩家行为下设备的反映信息,从日志中提取可被机器学习的状态数据,该状态数据用于反映卡牌游戏的在各时刻的状态,之后,对状态数据进行机器学习,得到机器学习模型,并基于机器学习模型对卡牌游戏进行测试。由于机器学习模型是对大量状态数据进行机器学习的结果,且学习过程和使用过程均由设备完成,因此,通过机器学习模型对卡牌游戏进行测试,可以在有限的时间内,完成对卡牌游戏的客观测试。
另外,本发明实施例提供的卡牌游戏测试方法还可以减少测试成本。
在上述实施例中,一种实现方式中,S104、基于机器学习模型对卡牌游戏进行测试,可以包括:使用机器学习模型,确定卡牌游戏中基于最新状态数据的目标操作;执行目标操作。可选地,所述执行目标操作之后,还可以包括:根据目标操作,更新状态数据。在具体的测试过程中,迭代以下步骤直至卡牌游戏结束:
使用机器学习模型,确定卡牌游戏中基于最新状态数据的目标操作;
执行目标操作;
根据目标操作,更新状态数据;
使用机器学习模型,确定卡牌游戏中基于最新状态数据的目标操作;
……。
另外,在测试过程中,通过修改数据表可以指定Bot所拥有的卡牌。例如,通过以下方式实现对数据表的修改:
打开对应文件读取所有内容,并且处理卡牌相关内容,对于记录卡牌的行,将原有内容替换成期望的内容;对于普通行不做处理,将之前内容写入原文件。
图2为本发明另一实施例提供的卡牌游戏测试方法的流程图。在图1所示流程的基础上,如图2所示,本实施例的卡牌游戏测试方法还可以包括:
S201、在卡牌游戏结束后,获取游戏结果。
S202、根据游戏结果评定卡组的胜率。
在实际应用中,可选地,获取游戏结果具体可以通过获取关键字“BattleEnd”对应的日志来实现。进一步通过游戏结果,可以评定卡组的胜率。其中,关键字“BattleEnd”对应的日志例如为:
2018-09-03 16:15:15,687-MobileServer-game1-server.ServerAvatar-INFO-[('BattleEnd',{'win':True})]
可选地,本实施例的卡牌游戏测试方法还可以包括:
S203、根据卡组的胜率,得到卡组中各卡牌的强度。
其中,卡牌对应的一定的强度。不同卡牌对应的强度可根据游戏需求进行调整。
S204、根据卡牌的强度对卡牌游戏进行调整。
例如,对该卡牌游戏中人物卡组的调整,等等。
通过上述步骤,可以在完成对卡牌游戏的客观测试的基础上,进一步以一种较为准确的方式来评估卡牌游戏的整体强度。
上文中详细描述了本发明实施例提供的卡牌游戏测试方法,下面将描述本发明实施例提供的卡牌游戏测试装置。
图3为本发明一实施例提供的卡牌游戏测试装置的结构示意图。本发明实施例提供一种卡牌游戏测试装置,该卡牌游戏测试装置例如可以为计算机、测试机、服务器等设备或该些设备中集成的芯片或电路等。
如图3所示,本实施例的卡牌游戏测试装置30包括:获取模块31、提取模块32、学习模块33和测试模块34。其中,各模块之间依次连接。
获取模块31,用于获取与所述卡牌游戏相关的日志。其中,日志用于记录玩家行为及在玩家行为下设备的反映信息。
提取模块32,用于从日志中提取可被机器学习的状态数据。该状态数据用于反映卡牌游戏的在各时刻的状态。
学习模块33,用于对状态数据进行机器学习,得到机器学习模型。
测试模块34,用于基于机器学习模型对卡牌游戏进行测试。
本实施例的卡牌游戏测试装置,首先获取与卡牌游戏相关的日志,日志用于记录玩家行为及在玩家行为下设备的反映信息,从日志中提取可被机器学习的状态数据,该状态数据用于反映卡牌游戏的在各时刻的状态,之后,对状态数据进行机器学习,得到机器学习模型,并基于机器学习模型对卡牌游戏进行测试。由于机器学习模型是对大量状态数据进行机器学习的结果,且学习过程和使用过程均由设备完成,因此,通过机器学习模型对卡牌游戏进行测试,可以在有限的时间内,完成对卡牌游戏的客观测试。
可选地,测试模块34可具体用于:使用机器学习模型,确定卡牌游戏中基于最新状态数据的目标操作;执行目标操作。
进一步地,测试模块34还可以用于:根据目标操作,更新状态数据。
一些实施例中,测试模块34还可以用于:在卡牌游戏结束后,获取游戏结果;根据游戏结果评定卡组的胜率。
可选地,测试模块34还可以用于:根据卡组的胜率,得到卡组中各卡牌的强度,从而在完成对卡牌游戏的客观测试的基础上,进一步以一种较为准确的方式来评估卡牌游戏的整体强度。
进一步地,测试模块34还可以用于:根据卡牌的强度对卡牌游戏进行调整。
图4为本发明另一实施例提供的卡牌游戏测试装置的结构示意图。如图4所示,本实施例的卡牌游戏测试装置40包括:存储器41和处理器42。其中,存储器41和处理器42之间可以通过总线43连接。
存储器41,用于存储程序指令。
处理器42,用于执行程序指令以实现如前所述的卡牌游戏测试方法。
本实施例的卡牌游戏测试装置,可以执行上述方法实施例中涉及的步骤,其实现原理和技术效果类似,在此不再赘述。
补充说明的是,图4仅为卡牌游戏测试装置的一种简单设计,本发明实施例不限制卡牌游戏测试装置中处理器、存储器等的个数。且,可选地,除图4所示的元件,卡牌游戏测试装置还可以包含其他元器件。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序可被处理器执行实现如上任一实施例所示的卡牌游戏测试方法,其具体实现及有效效果,可参见上述,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的计算机程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读内存(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种卡牌游戏测试方法,其特征在于,包括:
获取与所述卡牌游戏相关的日志,所述日志用于记录玩家行为及在所述玩家行为下设备的反映信息;
从所述日志中提取可被机器学习的状态数据,所述状态数据用于反映所述卡牌游戏的在各时刻的状态;
对所述状态数据进行机器学习,得到机器学习模型;
基于所述机器学习模型对所述卡牌游戏进行测试。
2.根据权利要求1所述的方法,其特征在于,所述基于所述机器学习模型对所述卡牌游戏进行测试,包括:
使用所述机器学习模型,确定所述卡牌游戏中基于最新状态数据的目标操作;
执行所述目标操作。
3.根据权利要求2所述的方法,其特征在于,所述执行所述目标操作之后,还包括:
根据所述目标操作,更新所述状态数据。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在所述卡牌游戏结束后,获取游戏结果;
根据所述游戏结果评定卡组的胜率。
5.根据权利要求4所述的方法,其特征在于,所述根据所述游戏结果评定卡组的胜率之后,所述方法还包括:
根据所述卡组的胜率,得到所述卡组中各卡牌的强度。
6.根据权利要求5所述的方法,其特征在于,所述根据所述卡组的胜率,得到所述卡组中各卡牌的强度之后,所述方法还包括:
根据卡牌的强度对所述卡牌游戏进行调整。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述状态数据包括以下至少一个:
人物状态数据,卡牌状态数据,物品状态数据和怪物状态数据。
8.一种卡牌游戏测试装置,其特征在于,包括:
获取模块,用于获取与所述卡牌游戏相关的日志,所述日志用于记录玩家行为及在所述玩家行为下设备的反映信息;
提取模块,用于从所述日志中提取可被机器学习的状态数据,所述状态数据用于反映所述卡牌游戏的在各时刻的状态;
学习模块,用于对所述状态数据进行机器学习,得到机器学习模型;
测试模块,用于基于所述机器学习模型对所述卡牌游戏进行测试。
9.一种卡牌游戏测试装置,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于执行所述程序指令来实现如权利要求1至7中任一项所述的卡牌游戏测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的卡牌游戏测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811477354.XA CN109364490A (zh) | 2018-12-05 | 2018-12-05 | 卡牌游戏测试方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811477354.XA CN109364490A (zh) | 2018-12-05 | 2018-12-05 | 卡牌游戏测试方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109364490A true CN109364490A (zh) | 2019-02-22 |
Family
ID=65376486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811477354.XA Pending CN109364490A (zh) | 2018-12-05 | 2018-12-05 | 卡牌游戏测试方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109364490A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815155A (zh) * | 2019-02-26 | 2019-05-28 | 网易(杭州)网络有限公司 | 一种游戏测试的方法及装置、电子设备、存储介质 |
CN110368690A (zh) * | 2019-07-31 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 游戏决策模型训练方法、游戏策略生成方法及装置 |
CN111265881A (zh) * | 2020-01-21 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 一种模型训练方法、内容生成方法以及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610897A (zh) * | 2015-10-27 | 2017-05-03 | 广州爱九游信息技术有限公司 | 一种游戏数值平衡的自动化测试方法和系统 |
CN107851231A (zh) * | 2015-07-28 | 2018-03-27 | 微软技术许可有限责任公司 | 基于活动模型的活动检测 |
CN108499108A (zh) * | 2017-02-28 | 2018-09-07 | 电子技术公司 | 视频游戏应用程序内玩游戏参数的实时动态修改和优化 |
CN108704311A (zh) * | 2018-04-19 | 2018-10-26 | 网易(杭州)网络有限公司 | 配置卡组的方法、装置、电子设备及存储介质 |
-
2018
- 2018-12-05 CN CN201811477354.XA patent/CN109364490A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851231A (zh) * | 2015-07-28 | 2018-03-27 | 微软技术许可有限责任公司 | 基于活动模型的活动检测 |
CN106610897A (zh) * | 2015-10-27 | 2017-05-03 | 广州爱九游信息技术有限公司 | 一种游戏数值平衡的自动化测试方法和系统 |
CN108499108A (zh) * | 2017-02-28 | 2018-09-07 | 电子技术公司 | 视频游戏应用程序内玩游戏参数的实时动态修改和优化 |
CN108704311A (zh) * | 2018-04-19 | 2018-10-26 | 网易(杭州)网络有限公司 | 配置卡组的方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
佚名: "利用AI技术自动测试游戏", 《HTTPS://WWW.GAMERES.COM/825347.HTML》 * |
肖明: "《信息计量学》", 31 August 2014 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815155A (zh) * | 2019-02-26 | 2019-05-28 | 网易(杭州)网络有限公司 | 一种游戏测试的方法及装置、电子设备、存储介质 |
CN110368690A (zh) * | 2019-07-31 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 游戏决策模型训练方法、游戏策略生成方法及装置 |
CN110368690B (zh) * | 2019-07-31 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 游戏决策模型训练方法、游戏策略生成方法及装置 |
CN111265881A (zh) * | 2020-01-21 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 一种模型训练方法、内容生成方法以及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Imagereward: Learning and evaluating human preferences for text-to-image generation | |
Sales et al. | Evaluation between humans and affective NPC in digital gaming scenario | |
Goldwaser et al. | Deep reinforcement learning for general game playing | |
Buzan | The logic of anarchy: neorealism to structural realism | |
Nelson | Technology, institutions, and economic growth | |
De Soto | The Austrian school: market order and entrepreneurial creativity | |
Ackland et al. | Online collective identity: The case of the environmental movement | |
Daré et al. | A role-playing game in irrigated system negotiation: between play and reality | |
CN109364490A (zh) | 卡牌游戏测试方法、装置及存储介质 | |
Halpern et al. | Debating rationality: Nonrational aspects of organizational decision making | |
Minniti | ENTREPRENEURSHIP The Engine of Growth | |
CN111569429A (zh) | 模型训练方法、模型使用方法、计算机设备及存储介质 | |
Eggertsson | Norms in economics, with special reference to economic decelopment | |
De Oliveira et al. | Game modeling using WorkFlow nets | |
Rebstock et al. | Learning policies from human data for skat | |
CN113393063A (zh) | 比赛结果预测方法、系统、程序产品及存储介质 | |
Hambly et al. | Political parties in the Pacific Islands | |
Andersen et al. | Towards a deep reinforcement learning approach for tower line wars | |
Huang et al. | PokerGPT: An End-to-End Lightweight Solver for Multi-Player Texas Hold'em via Large Language Model | |
Meltzoff et al. | Hunting for tuna and cash in the Solomons: a rebirth of artisanal fishing in Malaita | |
US10709983B1 (en) | Automated real-time engagement in an interactive environment | |
Heathcote et al. | Word frequency and word likeness mirror effects in episodic recognition memory | |
Sari et al. | Farmer Options and Risks in Complex Ecological-Social systems: The FORCES game designed for agroforestry management of upper watersheds | |
CN106919388A (zh) | 一种桌面卡牌游戏引擎 | |
Harviainen et al. | Central theories of games and play |
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: 20190222 |