「爐石卡牌價值計算器」編寫準備

「爐石卡牌價值計算器」編寫準備

來自專欄 爐石傳說卡費體系

今天花了2個小時時間把「這是秘密」所發布的所有關於爐石模型的文章都看了一遍,梳理了其中真正有信息量的關於爐石卡牌模型的內容,整理成了這個文檔,預計下周基於這個文檔寫一個「爐石卡牌價值計算器」,這裡先發布一下梳理出的內容希望「這是秘密」以及其他對其模型有研究和理解的朋友們看看,有什麼梳理錯了的地方。

關於每一篇文章的梳理結果在文末,列表裡只保留了較新的結論,方括弧[]中是該條結論的出處。一些撕逼類的文章我壓根沒看,可能存在一定的遺漏,不得不說整個卡費體系的文章非常亂。

首先聲明,我對任何試圖給爐石傳說卡牌制定模型的行為的評價都是「有一定意義,意義不大,很不科學」,我本人並不100%認可這是秘密提出的這個模型,但這種分析過程是有一定意義的

梳理並製作卡牌價值計算器的目的1是為了幫助自己梳理爐石中的卡牌設計思路(前陣子面試被問到了),2是為了通過這個過程指出「這是秘密」的這個模型的問題和不足。

不得不說,僅僅是梳理這個的過程就已經發現了不少阻礙我寫代碼的地方,例如其中很多地方提到了「當前回合的XXX」這種會動態變化的東西,我都只能以卡牌法力水晶消耗量為計算依據。

我的觀點是,既然提出卡牌價值、卡牌模型這個概念,那就要將「卡牌本身的價值」和「使用卡牌時帶來的價值分開」。「卡牌本身的價值」在卡牌模型不變的情況下是不會變的,是根據卡面信息直接計算出來的;而根據遊戲環境、對局狀態的不同,同一張卡打出時實際產生的價值必然會不同,這2者完全不是一個概念,後者是無法構建一個簡單的模型的,因為太過複雜了的。因此諸如「2費時使用這張卡價值為3費,3費回合使用這張卡價值只有2.5費」這種模型描述都是沒有意義的。

請注意本文的目的是撰寫「爐石卡牌價值計算器」,請不要討論「模型錯了」「模型沒用」這些話題。

隨從

--身材=squr(攻*血)[2]

----0/2隨從=0.5[1]

----0/3隨從=0.5[9]

--嘲諷=ROUNDUP(血/(水晶消耗+1))*0.5[8]

--衝鋒=攻擊*0.35[3]

----有聖盾時的衝鋒=攻擊*0.5[4]

--風怒=攻擊*0.25[11]

--聖盾=squr(攻擊)[4]

--劇毒=(水晶消耗+1+隨從血量)/2[15]

--吸血=攻*0.5[17]

--亡語

----若亡語為召喚隨從,則價值為隨從價值-SQRT(水晶消耗+2)+1[9]

------嘲諷生物的亡語效果不計算「-SQRT(水晶消耗+2)+1」的部分[27]

------自身的衝鋒價值>=自身血量的隨從傷害價值的生物不計算「-SQRT(水晶消耗+2)+1」的部分[27]

--法傷

----法傷+1=0.5[14]

----法傷+2=3[14]

--潛行=ROUNDUP(攻/(水晶消耗+1))*0.5[13]

--突襲=攻*0.25[26]

隨從特殊效果

--回合結束全體隨從回1血=0.5費[1]

隨從戰吼、法術效果:

--獲得2點護甲=1費[1]

--任意單位回2血=1費[1]

--造成傷害

----任意單位1傷=1費[1]

----一點隨從傷害=0.75費[6]

----對敵方所有隨從造成1點傷害=2費[10]

----對敵方英雄2傷=1費[1]

--抽牌

----抽一張牌=2費[18]

----抽一張特定牌=2費[18]

----發現一張牌並置入手中=2費[18]

----隨機將一張牌置入手中=2費[18]

----將一張指定的牌置入手中=1費[19]

--凍結一個單位=1費[5]

--過載=-過載費用+0.5[16]

--招募=直接計算平均被招募出的隨從的身材價值[21]

--獲得水晶

----當水晶消耗為2時獲得一個空的水晶=3費[22]

----當水晶消耗為4、5時獲得一個空的水晶=2費[22]

--消滅隨從

----消滅指定隨從=6費[23]

----隨機消滅一個隨從=4費[23]

----將一個隨從變形=6費-變形後隨從的價值[23]

--buff隨從

----buff隨從1血=0.5費[25]

----buff隨從1攻=0.5費[25]

----使隨從獲得嘲諷=0.5費[25]

法術專有效果

--無

英雄攻擊

--武器=攻*耐*0.5[7]

--1點英雄賣臉傷害=0.5費[1]

這裡我對「這是秘密」提出幾點建議:

1.既然你要提出模型體系,為什麼不像我梳理的這樣拿出一個「可執行」的模型計算列表出來,分在那麼多個文章里真正想討論測試的時候極其難找,我之前在你文章的評論區提過,到現在也沒有動靜。

2.目前這個列表裡有大量空缺的內容,例如雖然凍結1個單位價值1費,但是水元素的被動凍結不可能價值1費[5],是不是又得加上與「當前攻擊力」相關的計算變成ROUNDUP(血量/(水晶消耗+1))?消滅全部隨從怎麼算?0攻隨從怎麼算?各種回合結束時XXX的效果?不把完整的模型體系構建起來很多東西沒法討論。

3.就像我開篇說的,將卡麵價值和卡打出後產生的價值分開,不要混為一談諸如2費蝸牛和3費蝸牛的問題就是混為一談的結果。

4.能不能不要每篇文章都帶一個【卡費體系】的題目,明顯不是每篇文章的內容和側重點都不一樣,現在回頭改改題目也不是不行。

最後,關於這個計算器我是想寫成一個web頁面這樣大家比較好使用,但是我幾乎沒有web前端的開發經驗,有沒有朋友有那種帶輸入框、根據輸入框內的內容動態得出計算結果、有下拉菜單,同時還有+號可以增加輸入內容的樣例網站我參考一下?我雖然沒寫過,但是改過一些帶php、js的頁面,照貓畫虎還是會的

如果沒有參考我只能用C寫命令行程序了,因為我不想在這個上面耗費太多時間去寫帶UI的程序。

Reference:

[1]【卡費體系】爐石世界一切的基礎-英雄技能

【卡費體系】爐石世界一切的基礎-英雄技能

2點護甲=1費

任意單位回2血=1費

對敵方英雄2傷=1費

任意單位1傷=1費

//英雄->任意,額外0.5費

1/2武器=1費

1點英雄賣臉傷害=0.5費

0/2隨從=0.5費

嘲諷=0.5費

回合結束全體隨從回1血=0.5費

1點法傷=0.5費

1/1隨從=1費

抽一張牌=1費

//1張牌本身的費用1費

[2]【卡費體系】隨從身材的真實價值

【卡費體系】隨從身材的真實價值

隨從費用=squr(攻*血)

[3]【卡費體系】衝鋒

【卡費體系】衝鋒

衝鋒價值:攻擊/2*0.7

//0.7是隨便猜的

[4]【卡費體系】聖盾

【卡費體系】聖盾

聖盾價值:√攻擊

//衝鋒2/聖盾的計算中不乘0.7

[5]【卡費體系】冰凍

【卡費體系】冰凍

凍結價值:1 費

//冰霜元素的凍結和水元素的凍結?

[6]【卡費體系】隨從傷害魔法

【卡費體系】隨從傷害魔法

一點隨從傷害=0.75費

//說了一堆,從0.5到1都有,按文章末尾的說法為準

[7]【卡費體系】武器

【卡費體系】武器

費用=攻*耐/2

[8]【卡費體系】嘲諷

【卡費體系】嘲諷

風怒=攻擊*0.25

嘲諷=ROUNDUP(血/(水晶消耗+1))*0.5

//原文為上取整(血/當前標準身材的攻)*0.5,當前標準身材的攻根據[2]里的說法等於卡面費用+1

[9]【卡費體系】亡語衰減

【卡費體系】亡語衰減

若亡語為召喚隨從,則價值為隨從價值-SQRT(水晶消耗+2)+1

//原文為亡語衰減SQRT(下一回合標準身材的攻)-1費,有可能「下個回合」並不是水晶消耗+2的回合,但這無法編程計算

//03身材,基本不能計算價值,給個0.5費吧

[10]【卡費體系】隨從群傷魔法

【卡費體系】隨從群傷魔法

對敵方所有隨從造成1點傷害=2費

[11]【卡費體系】風怒

【卡費體系】風怒

費用=攻*0.25

//原文為費用=攻*0.5*0.5

[12]【卡費體系】種族屬性

【卡費體系】種族屬性

種族屬性是不計算費用

[13]【卡費體系】潛行

【卡費體系】潛行

ROUNDUP(攻/(水晶消耗+1))*0.5

[14]【卡費體系】法術傷害+傷害衰減

【卡費體系】法術傷害+傷害衰減

法傷+1=0.5費

法傷+2=3費

[15]【卡費體系】劇毒

【卡費體系】劇毒

劇毒=(水晶消耗+1+隨從血量)/2

[16]【卡費體系】劇毒補完

【卡費體系】劇毒補完

過載=-過載費用+0.5

//大蜘蛛價值至少8費

[17]【卡費體系】吸血

【卡費體系】吸血

吸血=攻/2

//還需要計算能吸幾次?

[18]【卡費體系】過牌,指定過牌,發現,隨機置入,指定置入

【卡費體系】過牌,指定過牌,發現,隨機置入,指定置入

過牌,指定過牌,發現,隨機置入,指定置入=2費

[19]【卡費體系】我的確又錯了,多謝下列同學的指點

【卡費體系】我的確又錯了,多謝下列同學的指點

發現,隨機置入還是應該計算為2費,只有指定置入為1費

[19]【卡費體系】過牌補完

【卡費體系】過牌補完

說了一堆,似乎沒有改變什麼,提出了抽牌本身價值1費,但不知道怎麼應用到價值計算中

[20]【卡費體系】英雄技能的實際價值和模型價值

【卡費體系】英雄技能的實際價值和模型價值

無新內容

[21]【卡費體系】招募

【卡費體系】招募

招募=直接計算平均被招募出的隨從的身材價值

[22]【卡費體系】法力水晶

【卡費體系】法力水晶

當水晶消耗為2時獲得一個空的水晶=3費

當水晶消耗為45時獲得一個空的水晶=2費

[23]【卡費體系】消滅,隨機消滅

【卡費體系】消滅,隨機消滅

消滅指定隨從=6費

//痛、滅等帶條件消滅涉及到隨從平均費用問題

隨機消滅一個隨從=4費

[24]【卡費體系】沉默

【卡費體系】沉默

沉默一個隨從=1.5費

[25]【卡費體系】BUFF

【卡費體系】BUFF

buff隨從1血=buff隨從1攻=使隨從獲得嘲諷=0.5費

//原文寫了一些由於情況不同導致價值不同的分析,沒有給出可程序化的結論

[26]【卡費體系】突襲

【卡費體系】突襲

突襲=攻*0.5*0.5

[27]【卡費體系】亡語衰減補完

【卡費體系】亡語衰減補完

嘲諷生物的亡語效果不計算衰減

自身的衝鋒價值>=自身血量的隨從傷害價值的生物不計算亡語衰減

//後面這條判斷起來有點複雜,不過還是能判斷的


推薦閱讀:

TAG:爐石傳說Hearthstone | 遊戲設計 | 網路遊戲 |