第一次在这个站发文,写的不好和不完善的地方请指出(有错误请批评-_-!)。谢谢各位。
我们尽量简化讨论内容,只对典型性和特殊性卡牌进行讨论。试图用构建等式的方法,来衡量卡牌的价值。
我们分为两部分来讨论整个卡牌的设计。第一部分为基本数值,第二部分为不定数值。(有Indeterminate后缀的变量)
定义基本数值:源于卡牌本身定义,简单容易考虑。
定义不定数值:影响游戏决策,或其它更复杂的情况(如战吼、亡语、直接消灭、复活、过量伤害、变形、卡组等多种依托于决策的模式)。
引入一个未定义的变量成为General,作为我们衡量的基本中间变量。
考虑三种基本牌,怪物(随从)、法术、武器。
怪物:
Monster=(BasicAttack+GainAttack)*Frequency*Target*ε(BasicMonsterHp+GainMonsterHP )*HpToGeneral +(BasicMonsterHp+GainMonsterHP)*HpToGeneral+CardChange*CardToGeneral+(BasicCrystal+GainCrystal)*CrystalToGeneral+MagicBool*Magic+MonsterIndeterminate
怪物=
(基本攻击+攻击增益或减益)*次数*目标个数*[(怪物基本血量+血量增益或减益)>0时则为1否则为0]*血对中间变量变换系数 +(怪物基本血量+血量增益或减益)*血对中间变量系数 +使用怪物后的手牌变化*卡对中间变量变换系数 +(基本水晶消耗或获得+消耗水晶或获得水晶增益)*水晶对中间变量变换系数 +怪物法术开关*法术内容 +怪物不定数值
这里把怪物效果等效为一种不消耗手牌和水晶的法术,使用时间是卡牌或决策确定的。
法术: Magic= [(BasicAttack+GainAttack+BasicTreat+GainTreat)*Restore*Target]*HpToGeneral+CardChange*CardToGeneral+(BasicCrystal+GainCrystal)*CrystalToGeneral+MonsterBool*Monster+MagicIndeterminate
法术= (基本攻击+攻击增益或减益+基本治疗+治疗增益或减益)*次数*目标数量*血对中间变量变换系数 +使用怪物的手牌变化*卡对中间变量变换系数 +(基本水晶消耗或获得+消耗水晶或获得水晶增益)*水晶对中间变量变换系数 + 召唤怪物开关*怪物内容 +法术不定数值
武器: Weapon= [(BasicAttack+GainAttack)*Frequency*Target*ε(BasicWeaponHp+GainAttack)+PlayerHpChange]*HpToGeneral+CardChange*CardToGeneral+(BasicCrystal+GainCrystal)*CrystalToGeneral+MagicBool’*Magic+MonsterBool’*Monster+WeaponIndeterminate
武器= {(基本攻击+攻击增益或减益)*次数*目标个数*[(武器基本血量+武器血量增益或减益使用情况)>0时则为1否则为0]+玩家使用武器前后血量变化}*血对中间变量变换系数 +使用武器的手牌变化*卡对中间变量变换系数 +(基本水晶消耗或获得+消耗水晶或获得水晶增益)*水晶对中间变量变换系数 +武器效果法术开关*法术内容 +武器召唤怪物开关*怪物内容 +武器不定数值
我们需要考虑有哪些变量可以由单个卡牌直接输入;哪些是由不同卡牌确定的,需要动态输入;哪些变量需要简化分析而常量化。首先观察由单个卡牌直接确定的。
显然随从、法术、武器牌均直接确定的有,BasicAttack与BasicCrystal。随从牌中,还有BasiMonsterHp直接确定,法术牌中还有BasicTreat直接确定,武器牌中BasicWeaponHp同样直接确定。卡牌数量本身基本消耗为1,由规则确定。
观察到,三个基本卡牌类,均有丰富的相互嵌套关联(使用其它卡牌属性)与动态属性(被其它卡牌影响)。动态输入的属性即为:不仅有卡牌本身决定的属性。(这里认为,与随从效果等效的Magic效果,也与其它卡牌相关了,并没有设置可以直接确定变量。这样似乎更典型)
现在来讨论ToGeneral后缀的变量的含义。为了统一衡量牌的”能力”我们引入一个通量,不同的变量通过ToGeneral后缀的变量的变换,成为这个通量。为了方便简化,我们不妨设置它为常量,即一个变换系数。 上面式子中,有HpToGeneral,CrystalToGeneral, CardToGeneral.由于战斗为回合制的原因,我们还应引入TimeGeneral方便衡量。
每一个新的回合,玩家在基础设定下可以得到(可能被牌更改的):
1个水晶,1个水晶上限(10为最大值),1张手牌.1次使用英雄技能的机会,1次使用武器的机会。非本回合怪的攻击机会。新的计时(烧绳子)。
如果要科学的分析ToGeneral后缀需要整个炉石牌库来获得统计取值(对比下才有价值)。
给一个范例,直接观察0费以说明由卡牌获得有ToGeneral后缀变量系数的办法,另外我们尽量避免卡组效果、极端条件与效果牌,还有影响决策的效果,以确定基本数值的准确:
观察0费卡牌:
活动假人:1手牌,0费,0攻,2血,嘲讽。(战士) 鱼人宝宝:1手牌,0费,1攻,1血,占场1无效果。(中立鱼人) 治疗之环:1手牌,0费,敌我群+4血(牧师) 伺机待发:1手牌,-3费,本回合需其它法术牌。(盗贼史诗) 怒火中烧:1手牌,0费,3攻,-1血(战士) 激活:1手牌,-2费,无条件。(德鲁伊) 可以得到,值约为1手牌=2±1费=2血(随从)=2攻击(随从)=k*General+c 我们可以随意定义General前系数k与常数c来定义General变量. 不妨把k=2,c=0.如此: HpToGeneral=1, CrystalToGeneral=1,CardToGeneral=2,基本的TimeGeneral包含策略类内容,需要在策略效果来讨论。
我们暂时没有讨论高费卡牌的等式有什么变化,但是由于高费卡牌有卡手牌、回合数限制、场面限制等情况,手牌与水晶价值应更高。
关于与策略有关的复杂效果是炉石玩法的核心,十分复杂又有趣。我需要一些时间来仔细考虑。
流程:
1、用三个等式建立了炉石传说构成三类卡牌的基本变量。
2、只由单个卡牌决定的变量,直接由各个卡牌直接输入。
3、分析当前炉石数据库,获得血、水晶、卡牌基本属性变为通用值的系数。(或仅分析所有本费(需要直接消耗的水晶)卡牌,获得血、水晶、卡牌基本属性变为通用值的系数)
4、 对一张牌完整基本数值的分析,应确定了之前卡牌的使用(即所有其它卡牌的影响已经确定),才能开始。把这些影响和卡牌的基本效果填入变量值,就能分析出这个卡牌的价值。
5、获得卡牌的General,并根据它与其它属性的比例定义其意义(如我们举例内容,可以认为General就为半张手牌,用半张手牌来衡量其它属性)
结论:
可以看到,就算卡牌不影响决策,炉石卡牌本身也十分复杂。它固有复杂并不多(如水晶每回合增加,抽牌),但自发复杂(如果卡牌本身奇怪的效果也算的话)却十分大,如相互嵌套的卡牌效果。保持了优雅同时增加了玩家自由度,降低了游戏门槛。
个性化的卡牌有个性化的效果、历史背景甚至配音,足够保证整个世界的多汁性。
炉石卡牌与卡牌之间有很大的相关度,这样加大了分析难度,所以我们有那么多的变量需要输入。下一篇文章会继续试图完成整个公式,在加入卡牌对人为决策的影响等复杂情况后综合考虑。 |