游戏开发论坛

 找回密码
 ????
搜索
查看: 8210|回复: 1

[原创] 关于《炉石传说》卡牌价值的一些分析(上)

[复制链接]

6

主题

30

帖子

129

积分

注册会员

Rank: 2

积分
129
QQ
发表于 2017-2-17 13:33:13 | 显示全部楼层 |阅读模式
       第一次在这个站发文,写的不好和不完善的地方请指出(有错误请批评-_-!)。谢谢各位。

       我们尽量简化讨论内容,只对典型性和特殊性卡牌进行讨论。试图用构建等式的方法,来衡量卡牌的价值。

       2333.png

      我们分为两部分来讨论整个卡牌的设计。第一部分为基本数值,第二部分为不定数值。(有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就为半张手牌,用半张手牌来衡量其它属性)

  结论:

  可以看到,就算卡牌不影响决策,炉石卡牌本身也十分复杂。它固有复杂并不多(如水晶每回合增加,抽牌),但自发复杂(如果卡牌本身奇怪的效果也算的话)却十分大,如相互嵌套的卡牌效果。保持了优雅同时增加了玩家自由度,降低了游戏门槛。

  个性化的卡牌有个性化的效果、历史背景甚至配音,足够保证整个世界的多汁性。

  炉石卡牌与卡牌之间有很大的相关度,这样加大了分析难度,所以我们有那么多的变量需要输入。下一篇文章会继续试图完成整个公式,在加入卡牌对人为决策的影响等复杂情况后综合考虑。

3

主题

174

帖子

3537

积分

论坛元老

Rank: 8Rank: 8

积分
3537
发表于 2017-10-25 10:47:07 | 显示全部楼层
图画的太乱了
您需要登录后才可以回帖 登录 | ????

本版积分规则

????|????|????|????|?????? ( ?ICP?17032699?-3 )

GMT+8, 2025-5-23 20:02

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表