基本介紹
- 中文名:圓桌理論
- 相關遊戲:《World of Warcraft》
- 用途:攻擊判定
- 影響:針對不同職業的“免傷”方法
遊戲概論,機率論算法,圓桌理論算法,猜測與驗證,
遊戲概論
《魔獸世界》中,“攻擊”的結果由以下部分組成,並按照攻擊結果的優先權的遞減排列(頂部結果的優先權高於其下面的部分):
先判定是否未命中--> 如果命中是否躲閃 --> 如果未躲閃是否招架【從背後攻擊則沒有】-> 如果未招架是否偏斜(僅出現在玩家和玩家寵物對怪物時,因為Boss等級比玩家高3級)--> 如果未偏斜則是否格擋【從背後攻擊則沒有】 --> 是否被怪物碾壓(僅出現在怪物對玩家和玩家寶寶時)--> 最後才是普通攻擊
也就是說,每次近戰攻擊(除玩家的造成黃色傷害的技能攻擊外)都可能會出現未命中,躲閃,招架,格擋,偏斜,暴擊,碾壓,除此之外將是一次普通攻擊。由於存在優先權的問題,所以這個列表中有些近戰攻擊結果有0%幾率存在;例如,玩家的自動攻擊造成碾壓的幾率是0%,怪物的攻擊有0%的幾率被偏斜,對沒有裝備盾牌的玩家的攻擊被格擋的幾率是0%,等等。
如果未命中,躲閃,招架,格擋幾率的和達到100%或更高,攻擊的結果不僅不會出現普通攻擊,還會連暴擊和碾壓也不會出現。
也就是說,如果優先權高的各部分和超過100%,會把優先權低的各種結果擠出桌面。即為“圓桌理論”。
某些玩家堅持原則上的機率論算法,而某些玩家堅持“圓桌定律”,但是兩者並不存在誰對誰錯的問題,毫無疑問,都是物理上可實現的(有許多統計學原理是不能夠物理實現的),而且更重要的是,各存在優劣,再次將兩種判斷方法逐一舉例說明,並說明其優勢和劣勢。
機率論算法
首先我們確定研究的樣本,假設有一個戰士對於他的目標作出了一次攻擊動作,出於簡化命題並使之通俗易懂的原理,我們不考慮過多的可能性,我們只考慮躲閃,招架,攻擊命中造成普通攻擊,攻擊命中造成致命攻擊四種情況。
目標的躲閃幾率……20%
目標的招架幾率……5%
戰士的致命一擊率……30%
在上述條件下,我們可以看到的擊中結果有如下幾種:
1、目標躲閃此次攻擊,幾率是20%
2、目標招架此次攻擊,幾率是(1-20%)*5%,(因為如果出現了躲閃,那么此次攻擊的結果被歸類為被躲閃),計算得到的值是4%,要低於目標的原始5%招架幾率
3、目標無法躲閃或者招架此次攻擊,幾率是1-20%-(1-20%)*5%=76%(也就是說去掉出現躲閃的幾率和去掉出現招架的幾率,注意此處兩者並沒有重疊部分,所以這個計算是合理的),那么在這76%的命中幾率中:
致命一擊占76%*30%=22.8%,小於原始30%致命一擊率
普通攻擊占76%*70%=53.2%
最終運算結果是:
--> 出現躲閃字樣 20%
--> 出現招架字樣 4%(小於5%)
--> 出現致命一擊 22.8%(小於30%)
--> 出現普通攻擊 53.2%
將所有可能性加在一起,20%+4%+22.8%+53.2%=100%,結果是合理的,可以涵蓋整個並且不超出樣本範圍,是物理可行的算法。
當然,這裡的優先權別可能有所出入,比方說先進行招架判斷再進行躲閃判斷,那么最終招架幾率是5%,而最終躲閃變為(1-5%)*20%。
可是不管優先權別怎么樣排列,處於低級別的判定因素在計算其最終出現幾率時,都要乘以(1-n%)的因子,使之低於原始幾率。這對於各種因素來講就造成了不平衡。
比方說,在上述的例子中,目標每提高躲閃1%,就能實實在在的提高1%的幾率不被戰士攻擊到,然而當你提高1%招架的時候,只能提高(1-躲閃幾率)*1%的幾率不被戰士攻擊到,受到了衰減,要低於1%,所以相對來說,提高躲閃可以得到更多的收益。在優先權列表中越是靠後的屬性,受到的衰減越嚴重,也就越不平衡。
那么,綜上所述,使用傳統的機率論算法來進行判定,好處在於,無論如何都會得到可行的結果,最終各種情況所占的比例加起來可以涵蓋到並且只能涵蓋到一個樣本範圍,在物理上可行。而壞處在於,逐級判定對於各個屬性引入了優先權別概念,使各個屬性有了優劣之分,不能平等的影響最終出現的結果。但是,這個結果非常容易平衡,只要在裝備屬性上將提高不同屬性所需要的物品等級加以區別(也就是俗稱的分值),就可以起到調整的作用,為什麼1%躲閃和1%招架所需要的分值不同?可能就是為了平衡優先權。
考慮開了閃避的情況:
目標的躲閃幾率……70%(20%+50%)
目標的招架幾率……5%
戰士的致命一擊率……30%
最終計算的結果是:
--> 出現躲閃字樣 70%
--> 出現招架字樣 1.5%(減少了3.5%,約為自身2/3)
--> 出現致命一擊 8.55%(減少了15.25%,約為自身2/3)
--> 出現普通攻擊 19.95%(減少了33.25%,約為自身2/3)
結果依然合理,大量增加的躲閃幾率受到後面的各個因素分攤,使得出現招架,出現致命一擊和出現普通攻擊的幾率相互之間能夠維持一個比較穩定的比例,這使得傳統機率論算法對於某些屬性的突變具備更強大和更公平的平衡機制,這是傳統機率論算法的另一個優勢。
圓桌理論算法
起初我認為圓桌理論算法是荒謬的,因為我無法理解為什麼圓桌理論要為了讓所有屬性不受影響的反應出原始出現幾率而犧牲掉其中某種因素,使之呈現出完全依附於別的屬性的,不可預測的特性(也就是大多數圓桌理論者津津樂道的吃完普通攻擊吃致命一擊),可是經過思考後,我發現這正是圓桌理論的優越之處。
對於同樣的例子:
目標的躲閃幾率……20%
目標的招架幾率……5%
戰士的致命一擊率……30%
圓桌理論的算法是:保證每一個影響因素都能在統計中呈現出原始的出現幾率,以普通攻擊填充樣本中沒有被覆蓋到的部分。
結果幾乎不需要進行運算:
--> 出現躲閃字樣的幾率 20%
--> 出現招架字樣的幾率 5%
--> 出現致命一擊的幾率 30% --> 出現普通攻擊的幾率(1-20%-5%-30%)=45%
我們可以看到,相對於傳統的機率論算法只有第一個被考慮的因素能反應出原始出現幾率的特點,圓桌理論所計算出的結果中,幾乎所有被考慮的因素都能夠直接在大量的攻擊中表現出原始的幾率,不存在優先權造成的衰減因子,而作為唯一的犧牲品,普通攻擊的出現幾率完全依附於其他的因素,也即相當於,將躲閃,招架,致命一擊處於同一優先權,而普通攻擊作為最低級的因素存在。
同時犧牲了普通攻擊的優先權後,我們發現結果是合理的100%,為了證明他的可行性,我可以舉出一種可行的判斷方法:系統考慮了目標和戰士的各個屬性後,生成一張表格(也可以說是數組),1-20號元素代表躲閃,21-25號元素代表招架,26-55號元素代表致命一擊,56-100號元素代表普通攻擊,判斷結果的時候只要生成一個隨即的1-100的數作為指針的指,即可按照相對的元素內容來判斷結果,這個判斷方法完全可行並且準確反映了圓桌理論的運算結果。
所以我們可以看到,在這個例子中,圓桌理論的結果也是100%,物理可行,同時相對於傳統的機率論算法,圓桌理論以犧牲普通攻擊(當然後面會討論到其它情況下對其它屬性的犧牲)的方法,使得每一個元素都能準確地按照其原始出現幾率反映在樣本中,其餘因素中不存在優先關係,也不存在衰減因子,這是圓桌理論的優勢,以一種近似於統計統籌的方法來平衡元素使之合理,而不是依靠單純的機率理論來維持其合理性。
看似圓桌理論是平等的,只犧牲一個因素就能保證其餘因素的公平公正的優秀方法,但是事實並非如此,這裡就要探討吃完普通攻擊吃致命一擊的問題了。很明顯,當各種因素的出現幾率增加的時候,會出現普通攻擊即使全部被犧牲掉,也不能滿足結果100%的合理性要求的情況。這種情況下,就要有另一個因素作出犧牲,以維持算法的物理可實現性,舉個例子:
目標的躲閃幾率……70%(20%+50%開了躲閃)
目標的招架幾率……5%
戰士的致命一擊率……30%
此時按照剛才的圓桌理論算法結果為:
--> 出現躲閃字樣的幾率 70%
--> 出現招架字樣的幾率 5%
--> 出現致命一擊的幾率 30%
--> 出現普通攻擊的幾率(1-70%-5%-30%)=-5%
很明顯,是不合理的,所謂的-5%無法反映在實際的物理器件和自然界之中,所以造成這個結果不可能有相匹配的算法來實現。
所以,為了使圓桌理論能夠在任何情況下保持其可實現性和合理性,只靠犧牲普通攻擊是不夠的,這裡我們需要犧牲致命一擊的屬性,將最終結果調整為:
出現躲閃字樣的幾率 70%
出現招架字樣的幾率 5%
出現致命一擊的幾率 25%(30%-5%)
出現普通攻擊的幾率 0 %
使之合理。
那么,隨著屬性的增加,也就要繼續吃掉其他屬性,例如當躲閃提高到90%,招架提高到15%的時候,會出現如下的屬性:
出現躲閃字樣的幾率 90%
出現招架字樣的幾率 10%(15%-5%)
出現致命一擊的幾率 0%
出現普通攻擊的幾率 0%
這一次,作出犧牲的是普通攻擊,致命一擊還有招架,其中致命一擊已經完全被犧牲掉,這對於結果的公平性是很大的負面影響。
那么,現在可以看出圓桌理論的全部特性了,也就是說,在屬性的某一特定的變化範圍內,犧牲特定的屬性,使得其它屬性能夠體現出原始的出現幾率,優點是在所能夠反映出原始幾率的這些因素中保證互相平等,在體現出0%幾率的元素中保證互相平等,缺點在於,仍然引入了屬性的優先權,只不過這個優先權是分為三級,第一級的所有元素可以不受影響的反映出原始出現幾率,第二級元素受到第一級元素的極大衝擊和制約,但是仍然能夠體現出一部分原始屬性,第三級元素則完全被犧牲掉,永遠不會發生,對於他們完全不存在公平性可言。換句話說,對於某一屬性的突發猛烈變化,圓桌理論的協調方式是殘忍而且不公平的(它會無條件的使某些因素永遠不會發生),這毫無疑問不夠和諧(orz一個),是一個極大的劣勢。
猜測與驗證
測試結果基本是符合圓桌理論的,在一個閃避17%的潛行者開閃避後,其他玩家25%致命幾率對他造成的平砍傷害……只要能造成傷害,全部是致命,在幾次實驗中沒有出現例外,但一個閃避為26%的潛行者開了閃避後玩家近戰攻擊基本不造成傷害,這裡只考慮了平砍傷害,受到雙手持武的影響,“miss率+躲閃率+招架率”基本已經吃光了普通攻擊傷害。