'雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?'

"

都說遊戲玩的開心最重要。有些玩家,玩遊戲的目的是為了滿足社交需求,大家玩、他也跟著一起玩,最後搞得大家都很快樂;而有些玩家則不同,他們是為了滿足自己、在遊戲中有更高的追求。

這些玩家,他們追求更加合理的過關方式,更加正確的操作方法,更加準確的成功機率,以及更加精準的數據分析。

在日益複雜的遊戲系統當中,開發商已經不滿足於簡單的加減法公式,用攻擊力減去防禦力的方法已經過時,愈來愈多的增益效果(BUFF)和減益效果(DEBUFF)被添加到遊戲當中,越來越多的數字參與到傷害計算過程裡,遊戲的機制也變得越來越複雜……

當一個個增益效果在頭上亮起的時候,你使出渾身解數,一刀劈在怪物頭上,打出了99999點傷害!可你知道,這些增益效果到底為你增加了多少傷害,而哪些增益效果比較厲害,哪些增益效果其實只佔據了很小一部分?

雲玩家Hotspot的上一篇科普文章什麼是“隨機”?教你分清“偽隨機”和“真隨機”為大家科普了偽隨機和真隨機的區別,今天就來科普一下什麼是“線性疊加”和“非線性疊加”。

簡單易懂的“線性疊加”

當多個增益效果疊加在一起時,我們通常會使用“線性疊加”、“非線性疊加”來描述這些增益效果的疊加方式。

在談及“非線性疊加”之前,讓我們好好了解一下相對更簡單、更容易理解的“線性疊加”。

所謂“線性疊加”(Linear Superposition),即是指兩個變量之間的關係遵從一次函數關係——而一次函數,也就是直線,在數學上可以理解為“一階導數為常數的函數”。“線性疊加”,也就是指“遵從直線的疊加方式”。在計算過程中,每次數值的疊加都會增加相同比例的量,譬如買一個橘子用三塊錢,買十個橘子就要用三十塊錢。

"

都說遊戲玩的開心最重要。有些玩家,玩遊戲的目的是為了滿足社交需求,大家玩、他也跟著一起玩,最後搞得大家都很快樂;而有些玩家則不同,他們是為了滿足自己、在遊戲中有更高的追求。

這些玩家,他們追求更加合理的過關方式,更加正確的操作方法,更加準確的成功機率,以及更加精準的數據分析。

在日益複雜的遊戲系統當中,開發商已經不滿足於簡單的加減法公式,用攻擊力減去防禦力的方法已經過時,愈來愈多的增益效果(BUFF)和減益效果(DEBUFF)被添加到遊戲當中,越來越多的數字參與到傷害計算過程裡,遊戲的機制也變得越來越複雜……

當一個個增益效果在頭上亮起的時候,你使出渾身解數,一刀劈在怪物頭上,打出了99999點傷害!可你知道,這些增益效果到底為你增加了多少傷害,而哪些增益效果比較厲害,哪些增益效果其實只佔據了很小一部分?

雲玩家Hotspot的上一篇科普文章什麼是“隨機”?教你分清“偽隨機”和“真隨機”為大家科普了偽隨機和真隨機的區別,今天就來科普一下什麼是“線性疊加”和“非線性疊加”。

簡單易懂的“線性疊加”

當多個增益效果疊加在一起時,我們通常會使用“線性疊加”、“非線性疊加”來描述這些增益效果的疊加方式。

在談及“非線性疊加”之前,讓我們好好了解一下相對更簡單、更容易理解的“線性疊加”。

所謂“線性疊加”(Linear Superposition),即是指兩個變量之間的關係遵從一次函數關係——而一次函數,也就是直線,在數學上可以理解為“一階導數為常數的函數”。“線性疊加”,也就是指“遵從直線的疊加方式”。在計算過程中,每次數值的疊加都會增加相同比例的量,譬如買一個橘子用三塊錢,買十個橘子就要用三十塊錢。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

一般來講,遊戲中的“線性疊加”,指的就是“加法疊算”。比如一個角色的攻擊力為100點,路過的聖騎士為他施加了一個王者祝福,假設這個王者祝福的增益是線性疊加,令他獲得了20%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)=120點攻擊力。

此時又路過了一個假面騎士,為他施加了一個王者祝福2,令他獲得了30%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)+(100*0.3)=150點攻擊力。

舉個例子來說,《Fate/Grand Order》(《命運-冠位指定》)的所有增益、減益效果都是線性疊加的。如果你為一名英靈疊加了兩層50%的攻擊力加成,那麼這名英靈造成的傷害就翻倍;而如果一名英靈獲得了兩層50%的受傷減免,那麼這名英靈的受傷減免將疊加至驚人的100%,也就是我們常說的:無敵!(這個無敵甚至不能被無敵貫通,真是太無敵了)

"

都說遊戲玩的開心最重要。有些玩家,玩遊戲的目的是為了滿足社交需求,大家玩、他也跟著一起玩,最後搞得大家都很快樂;而有些玩家則不同,他們是為了滿足自己、在遊戲中有更高的追求。

這些玩家,他們追求更加合理的過關方式,更加正確的操作方法,更加準確的成功機率,以及更加精準的數據分析。

在日益複雜的遊戲系統當中,開發商已經不滿足於簡單的加減法公式,用攻擊力減去防禦力的方法已經過時,愈來愈多的增益效果(BUFF)和減益效果(DEBUFF)被添加到遊戲當中,越來越多的數字參與到傷害計算過程裡,遊戲的機制也變得越來越複雜……

當一個個增益效果在頭上亮起的時候,你使出渾身解數,一刀劈在怪物頭上,打出了99999點傷害!可你知道,這些增益效果到底為你增加了多少傷害,而哪些增益效果比較厲害,哪些增益效果其實只佔據了很小一部分?

雲玩家Hotspot的上一篇科普文章什麼是“隨機”?教你分清“偽隨機”和“真隨機”為大家科普了偽隨機和真隨機的區別,今天就來科普一下什麼是“線性疊加”和“非線性疊加”。

簡單易懂的“線性疊加”

當多個增益效果疊加在一起時,我們通常會使用“線性疊加”、“非線性疊加”來描述這些增益效果的疊加方式。

在談及“非線性疊加”之前,讓我們好好了解一下相對更簡單、更容易理解的“線性疊加”。

所謂“線性疊加”(Linear Superposition),即是指兩個變量之間的關係遵從一次函數關係——而一次函數,也就是直線,在數學上可以理解為“一階導數為常數的函數”。“線性疊加”,也就是指“遵從直線的疊加方式”。在計算過程中,每次數值的疊加都會增加相同比例的量,譬如買一個橘子用三塊錢,買十個橘子就要用三十塊錢。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

一般來講,遊戲中的“線性疊加”,指的就是“加法疊算”。比如一個角色的攻擊力為100點,路過的聖騎士為他施加了一個王者祝福,假設這個王者祝福的增益是線性疊加,令他獲得了20%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)=120點攻擊力。

此時又路過了一個假面騎士,為他施加了一個王者祝福2,令他獲得了30%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)+(100*0.3)=150點攻擊力。

舉個例子來說,《Fate/Grand Order》(《命運-冠位指定》)的所有增益、減益效果都是線性疊加的。如果你為一名英靈疊加了兩層50%的攻擊力加成,那麼這名英靈造成的傷害就翻倍;而如果一名英靈獲得了兩層50%的受傷減免,那麼這名英靈的受傷減免將疊加至驚人的100%,也就是我們常說的:無敵!(這個無敵甚至不能被無敵貫通,真是太無敵了)

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

而《Fate/Grand Order》中常見的低星英靈過高難本也正是依賴於“線性疊加”的機制,使用阿斯忒裡俄斯(小牛)的寶具降低BOSS的攻擊力、使用布狄卡的寶具提升防禦力等等操作,儘可能地使己方英靈達成“偽無敵”(減傷疊加至100%)的效果,免除BOSS對其造成的傷害。

“非線性疊加”是怎麼疊加的?

在理解了“線性疊加”以後,“非線性疊加”的意義就躍然紙上了。

從概念上來說,“非線性疊加”(Non-Linear Superposition)當然是指並非一次的函數關係——圖像不是直線,變量不成正比。譬如,買一個橘子用三塊錢,買十個橘子時,老闆說:算你批發價,十個橘子只用二十五塊。那麼平均下來,你買一個橘子只用了兩塊五,低於一個橘子的單價三塊錢。對“十個橘子”的疊加態而言,每個橘子的疊加價格變少了,這就是一種“非線性”。

大部分遊戲中的“非線性疊加”相對來說更加容易理解一些。如果有部分數值聲明是“非線性疊加”的,那麼通常來說,這些數值是相互獨立的。與“線性疊加”相對的,“非限定疊加”的部分通常是“乘法疊算”。

還是拿數值最好理解、最好研究的兩款相似的遊戲《Dota2》和《英雄聯盟》來說。在《英雄聯盟》中,所有英雄都有“暴擊機率”這個屬性,而購買“綠叉”、“電刀”、“無盡”等裝備將會為英雄疊加暴擊機率。

"

都說遊戲玩的開心最重要。有些玩家,玩遊戲的目的是為了滿足社交需求,大家玩、他也跟著一起玩,最後搞得大家都很快樂;而有些玩家則不同,他們是為了滿足自己、在遊戲中有更高的追求。

這些玩家,他們追求更加合理的過關方式,更加正確的操作方法,更加準確的成功機率,以及更加精準的數據分析。

在日益複雜的遊戲系統當中,開發商已經不滿足於簡單的加減法公式,用攻擊力減去防禦力的方法已經過時,愈來愈多的增益效果(BUFF)和減益效果(DEBUFF)被添加到遊戲當中,越來越多的數字參與到傷害計算過程裡,遊戲的機制也變得越來越複雜……

當一個個增益效果在頭上亮起的時候,你使出渾身解數,一刀劈在怪物頭上,打出了99999點傷害!可你知道,這些增益效果到底為你增加了多少傷害,而哪些增益效果比較厲害,哪些增益效果其實只佔據了很小一部分?

雲玩家Hotspot的上一篇科普文章什麼是“隨機”?教你分清“偽隨機”和“真隨機”為大家科普了偽隨機和真隨機的區別,今天就來科普一下什麼是“線性疊加”和“非線性疊加”。

簡單易懂的“線性疊加”

當多個增益效果疊加在一起時,我們通常會使用“線性疊加”、“非線性疊加”來描述這些增益效果的疊加方式。

在談及“非線性疊加”之前,讓我們好好了解一下相對更簡單、更容易理解的“線性疊加”。

所謂“線性疊加”(Linear Superposition),即是指兩個變量之間的關係遵從一次函數關係——而一次函數,也就是直線,在數學上可以理解為“一階導數為常數的函數”。“線性疊加”,也就是指“遵從直線的疊加方式”。在計算過程中,每次數值的疊加都會增加相同比例的量,譬如買一個橘子用三塊錢,買十個橘子就要用三十塊錢。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

一般來講,遊戲中的“線性疊加”,指的就是“加法疊算”。比如一個角色的攻擊力為100點,路過的聖騎士為他施加了一個王者祝福,假設這個王者祝福的增益是線性疊加,令他獲得了20%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)=120點攻擊力。

此時又路過了一個假面騎士,為他施加了一個王者祝福2,令他獲得了30%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)+(100*0.3)=150點攻擊力。

舉個例子來說,《Fate/Grand Order》(《命運-冠位指定》)的所有增益、減益效果都是線性疊加的。如果你為一名英靈疊加了兩層50%的攻擊力加成,那麼這名英靈造成的傷害就翻倍;而如果一名英靈獲得了兩層50%的受傷減免,那麼這名英靈的受傷減免將疊加至驚人的100%,也就是我們常說的:無敵!(這個無敵甚至不能被無敵貫通,真是太無敵了)

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

而《Fate/Grand Order》中常見的低星英靈過高難本也正是依賴於“線性疊加”的機制,使用阿斯忒裡俄斯(小牛)的寶具降低BOSS的攻擊力、使用布狄卡的寶具提升防禦力等等操作,儘可能地使己方英靈達成“偽無敵”(減傷疊加至100%)的效果,免除BOSS對其造成的傷害。

“非線性疊加”是怎麼疊加的?

在理解了“線性疊加”以後,“非線性疊加”的意義就躍然紙上了。

從概念上來說,“非線性疊加”(Non-Linear Superposition)當然是指並非一次的函數關係——圖像不是直線,變量不成正比。譬如,買一個橘子用三塊錢,買十個橘子時,老闆說:算你批發價,十個橘子只用二十五塊。那麼平均下來,你買一個橘子只用了兩塊五,低於一個橘子的單價三塊錢。對“十個橘子”的疊加態而言,每個橘子的疊加價格變少了,這就是一種“非線性”。

大部分遊戲中的“非線性疊加”相對來說更加容易理解一些。如果有部分數值聲明是“非線性疊加”的,那麼通常來說,這些數值是相互獨立的。與“線性疊加”相對的,“非限定疊加”的部分通常是“乘法疊算”。

還是拿數值最好理解、最好研究的兩款相似的遊戲《Dota2》和《英雄聯盟》來說。在《英雄聯盟》中,所有英雄都有“暴擊機率”這個屬性,而購買“綠叉”、“電刀”、“無盡”等裝備將會為英雄疊加暴擊機率。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

在《英雄聯盟》中,“暴擊機率”是“線性疊加”的。綠叉提供30%暴擊,無盡提供25%暴擊。很容易理解,如果一個英雄同時裝備綠叉和無盡,那麼他的暴擊機率將會疊加至30%+25%=55%。

而在《Dota2》中,“暴擊率”是“非線性疊加”的。譬如幻影刺客的大招“恩賜解脫”擁有15%機率造成200%/325%/450%傷害,而道具“代達羅斯之殤”提供30%機率造成235%傷害。在“非線性疊加”的情況下,幻影刺客裝備代達羅斯之殤進行一次普通攻擊時,將會分別對“恩賜解脫”和“代達羅斯之殤”的暴擊機率進行一次獨立計算。

"

都說遊戲玩的開心最重要。有些玩家,玩遊戲的目的是為了滿足社交需求,大家玩、他也跟著一起玩,最後搞得大家都很快樂;而有些玩家則不同,他們是為了滿足自己、在遊戲中有更高的追求。

這些玩家,他們追求更加合理的過關方式,更加正確的操作方法,更加準確的成功機率,以及更加精準的數據分析。

在日益複雜的遊戲系統當中,開發商已經不滿足於簡單的加減法公式,用攻擊力減去防禦力的方法已經過時,愈來愈多的增益效果(BUFF)和減益效果(DEBUFF)被添加到遊戲當中,越來越多的數字參與到傷害計算過程裡,遊戲的機制也變得越來越複雜……

當一個個增益效果在頭上亮起的時候,你使出渾身解數,一刀劈在怪物頭上,打出了99999點傷害!可你知道,這些增益效果到底為你增加了多少傷害,而哪些增益效果比較厲害,哪些增益效果其實只佔據了很小一部分?

雲玩家Hotspot的上一篇科普文章什麼是“隨機”?教你分清“偽隨機”和“真隨機”為大家科普了偽隨機和真隨機的區別,今天就來科普一下什麼是“線性疊加”和“非線性疊加”。

簡單易懂的“線性疊加”

當多個增益效果疊加在一起時,我們通常會使用“線性疊加”、“非線性疊加”來描述這些增益效果的疊加方式。

在談及“非線性疊加”之前,讓我們好好了解一下相對更簡單、更容易理解的“線性疊加”。

所謂“線性疊加”(Linear Superposition),即是指兩個變量之間的關係遵從一次函數關係——而一次函數,也就是直線,在數學上可以理解為“一階導數為常數的函數”。“線性疊加”,也就是指“遵從直線的疊加方式”。在計算過程中,每次數值的疊加都會增加相同比例的量,譬如買一個橘子用三塊錢,買十個橘子就要用三十塊錢。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

一般來講,遊戲中的“線性疊加”,指的就是“加法疊算”。比如一個角色的攻擊力為100點,路過的聖騎士為他施加了一個王者祝福,假設這個王者祝福的增益是線性疊加,令他獲得了20%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)=120點攻擊力。

此時又路過了一個假面騎士,為他施加了一個王者祝福2,令他獲得了30%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)+(100*0.3)=150點攻擊力。

舉個例子來說,《Fate/Grand Order》(《命運-冠位指定》)的所有增益、減益效果都是線性疊加的。如果你為一名英靈疊加了兩層50%的攻擊力加成,那麼這名英靈造成的傷害就翻倍;而如果一名英靈獲得了兩層50%的受傷減免,那麼這名英靈的受傷減免將疊加至驚人的100%,也就是我們常說的:無敵!(這個無敵甚至不能被無敵貫通,真是太無敵了)

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

而《Fate/Grand Order》中常見的低星英靈過高難本也正是依賴於“線性疊加”的機制,使用阿斯忒裡俄斯(小牛)的寶具降低BOSS的攻擊力、使用布狄卡的寶具提升防禦力等等操作,儘可能地使己方英靈達成“偽無敵”(減傷疊加至100%)的效果,免除BOSS對其造成的傷害。

“非線性疊加”是怎麼疊加的?

在理解了“線性疊加”以後,“非線性疊加”的意義就躍然紙上了。

從概念上來說,“非線性疊加”(Non-Linear Superposition)當然是指並非一次的函數關係——圖像不是直線,變量不成正比。譬如,買一個橘子用三塊錢,買十個橘子時,老闆說:算你批發價,十個橘子只用二十五塊。那麼平均下來,你買一個橘子只用了兩塊五,低於一個橘子的單價三塊錢。對“十個橘子”的疊加態而言,每個橘子的疊加價格變少了,這就是一種“非線性”。

大部分遊戲中的“非線性疊加”相對來說更加容易理解一些。如果有部分數值聲明是“非線性疊加”的,那麼通常來說,這些數值是相互獨立的。與“線性疊加”相對的,“非限定疊加”的部分通常是“乘法疊算”。

還是拿數值最好理解、最好研究的兩款相似的遊戲《Dota2》和《英雄聯盟》來說。在《英雄聯盟》中,所有英雄都有“暴擊機率”這個屬性,而購買“綠叉”、“電刀”、“無盡”等裝備將會為英雄疊加暴擊機率。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

在《英雄聯盟》中,“暴擊機率”是“線性疊加”的。綠叉提供30%暴擊,無盡提供25%暴擊。很容易理解,如果一個英雄同時裝備綠叉和無盡,那麼他的暴擊機率將會疊加至30%+25%=55%。

而在《Dota2》中,“暴擊率”是“非線性疊加”的。譬如幻影刺客的大招“恩賜解脫”擁有15%機率造成200%/325%/450%傷害,而道具“代達羅斯之殤”提供30%機率造成235%傷害。在“非線性疊加”的情況下,幻影刺客裝備代達羅斯之殤進行一次普通攻擊時,將會分別對“恩賜解脫”和“代達羅斯之殤”的暴擊機率進行一次獨立計算。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

也就是說,幻影刺客的一次普通攻擊將會發生四種情況:1.觸發“恩賜解脫”的暴擊、沒有觸發“代達羅斯之殤”;2.觸發“代達羅斯之殤”的暴擊、沒有觸發“恩賜解脫”;3.同時觸發“恩賜解脫”和“代達羅斯之殤”的暴擊;4.沒有觸發“恩賜解脫”和“代達羅斯之殤”任何一方的暴擊。

顯而易見,前3種情況都能算作觸發暴擊,而沒有觸發暴擊的只有第4種。也就是說,幻影刺客的暴擊率被提升至了P(A)=1-(1-0.15)*(1-0.3)=40.5%。

(題外話,4種情況中,其中1和2的情況比較好理解,各自發生了一次200%/325%/450%倍率和235%倍率的暴擊。而3的情況,同時觸發兩種暴擊時,會採用倍率較高的那一方來計算這次暴擊。也就是說,PA出大炮的收益並非簡單使用暴擊概率模型就能推算得出。具體的收益算法我們今後有空再來分析。)

到了這一步,就能很清楚地看出,幻影刺客的暴擊率並非簡單的15%+30%=45%,而是更低的40.5%。代達羅斯之殤所提供的暴擊率實際上被“稀釋”了,並沒有發揮出它應有的30%效果。

在船長“昆卡”的水刀還沒被削弱之前,中單船長通常堆疊2~3件代達羅斯之殤作為暴擊輸出裝備。2件代達羅斯之殤“非線性疊加”的暴擊率為51%(虧損9%),3件代達羅斯之殤“非線性疊加”的暴擊率為65.7%(虧損24.3%)。所以到了版本末期,船長很少補出第三把大炮,而是轉出狂戰斧、輝耀、聖劍等其他屬性的裝備作為傷害補償。

(順帶一提,類似船長的水刀、狂戰斧的濺射、猛獁的授予力量等一系列“分裂”效果,是線性疊加的,也就是可以簡單地做加法計算。)

不僅暴擊率如此,閃避率也是如此。

幻影刺客(為什麼每次談及數值的話題總能用上這個神奇的女人?)的被動“魅影無形”滿級時能夠提供50%閃避機率,道具“蝴蝶”提供35%閃避機率,在被普通攻擊命中時,需要獨立計算雙方各自的閃避——同樣的,幻影刺客的閃避機率被提升至P(B)=1-(1-0.5)*(1-0.35)=67.5%,蝴蝶提供的35%閃避被“稀釋”到了17.5%,幾乎虧損了一半的收益。這也是為什麼幻影刺客通常不出大炮和蝴蝶的原因。

"

都說遊戲玩的開心最重要。有些玩家,玩遊戲的目的是為了滿足社交需求,大家玩、他也跟著一起玩,最後搞得大家都很快樂;而有些玩家則不同,他們是為了滿足自己、在遊戲中有更高的追求。

這些玩家,他們追求更加合理的過關方式,更加正確的操作方法,更加準確的成功機率,以及更加精準的數據分析。

在日益複雜的遊戲系統當中,開發商已經不滿足於簡單的加減法公式,用攻擊力減去防禦力的方法已經過時,愈來愈多的增益效果(BUFF)和減益效果(DEBUFF)被添加到遊戲當中,越來越多的數字參與到傷害計算過程裡,遊戲的機制也變得越來越複雜……

當一個個增益效果在頭上亮起的時候,你使出渾身解數,一刀劈在怪物頭上,打出了99999點傷害!可你知道,這些增益效果到底為你增加了多少傷害,而哪些增益效果比較厲害,哪些增益效果其實只佔據了很小一部分?

雲玩家Hotspot的上一篇科普文章什麼是“隨機”?教你分清“偽隨機”和“真隨機”為大家科普了偽隨機和真隨機的區別,今天就來科普一下什麼是“線性疊加”和“非線性疊加”。

簡單易懂的“線性疊加”

當多個增益效果疊加在一起時,我們通常會使用“線性疊加”、“非線性疊加”來描述這些增益效果的疊加方式。

在談及“非線性疊加”之前,讓我們好好了解一下相對更簡單、更容易理解的“線性疊加”。

所謂“線性疊加”(Linear Superposition),即是指兩個變量之間的關係遵從一次函數關係——而一次函數,也就是直線,在數學上可以理解為“一階導數為常數的函數”。“線性疊加”,也就是指“遵從直線的疊加方式”。在計算過程中,每次數值的疊加都會增加相同比例的量,譬如買一個橘子用三塊錢,買十個橘子就要用三十塊錢。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

一般來講,遊戲中的“線性疊加”,指的就是“加法疊算”。比如一個角色的攻擊力為100點,路過的聖騎士為他施加了一個王者祝福,假設這個王者祝福的增益是線性疊加,令他獲得了20%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)=120點攻擊力。

此時又路過了一個假面騎士,為他施加了一個王者祝福2,令他獲得了30%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)+(100*0.3)=150點攻擊力。

舉個例子來說,《Fate/Grand Order》(《命運-冠位指定》)的所有增益、減益效果都是線性疊加的。如果你為一名英靈疊加了兩層50%的攻擊力加成,那麼這名英靈造成的傷害就翻倍;而如果一名英靈獲得了兩層50%的受傷減免,那麼這名英靈的受傷減免將疊加至驚人的100%,也就是我們常說的:無敵!(這個無敵甚至不能被無敵貫通,真是太無敵了)

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

而《Fate/Grand Order》中常見的低星英靈過高難本也正是依賴於“線性疊加”的機制,使用阿斯忒裡俄斯(小牛)的寶具降低BOSS的攻擊力、使用布狄卡的寶具提升防禦力等等操作,儘可能地使己方英靈達成“偽無敵”(減傷疊加至100%)的效果,免除BOSS對其造成的傷害。

“非線性疊加”是怎麼疊加的?

在理解了“線性疊加”以後,“非線性疊加”的意義就躍然紙上了。

從概念上來說,“非線性疊加”(Non-Linear Superposition)當然是指並非一次的函數關係——圖像不是直線,變量不成正比。譬如,買一個橘子用三塊錢,買十個橘子時,老闆說:算你批發價,十個橘子只用二十五塊。那麼平均下來,你買一個橘子只用了兩塊五,低於一個橘子的單價三塊錢。對“十個橘子”的疊加態而言,每個橘子的疊加價格變少了,這就是一種“非線性”。

大部分遊戲中的“非線性疊加”相對來說更加容易理解一些。如果有部分數值聲明是“非線性疊加”的,那麼通常來說,這些數值是相互獨立的。與“線性疊加”相對的,“非限定疊加”的部分通常是“乘法疊算”。

還是拿數值最好理解、最好研究的兩款相似的遊戲《Dota2》和《英雄聯盟》來說。在《英雄聯盟》中,所有英雄都有“暴擊機率”這個屬性,而購買“綠叉”、“電刀”、“無盡”等裝備將會為英雄疊加暴擊機率。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

在《英雄聯盟》中,“暴擊機率”是“線性疊加”的。綠叉提供30%暴擊,無盡提供25%暴擊。很容易理解,如果一個英雄同時裝備綠叉和無盡,那麼他的暴擊機率將會疊加至30%+25%=55%。

而在《Dota2》中,“暴擊率”是“非線性疊加”的。譬如幻影刺客的大招“恩賜解脫”擁有15%機率造成200%/325%/450%傷害,而道具“代達羅斯之殤”提供30%機率造成235%傷害。在“非線性疊加”的情況下,幻影刺客裝備代達羅斯之殤進行一次普通攻擊時,將會分別對“恩賜解脫”和“代達羅斯之殤”的暴擊機率進行一次獨立計算。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

也就是說,幻影刺客的一次普通攻擊將會發生四種情況:1.觸發“恩賜解脫”的暴擊、沒有觸發“代達羅斯之殤”;2.觸發“代達羅斯之殤”的暴擊、沒有觸發“恩賜解脫”;3.同時觸發“恩賜解脫”和“代達羅斯之殤”的暴擊;4.沒有觸發“恩賜解脫”和“代達羅斯之殤”任何一方的暴擊。

顯而易見,前3種情況都能算作觸發暴擊,而沒有觸發暴擊的只有第4種。也就是說,幻影刺客的暴擊率被提升至了P(A)=1-(1-0.15)*(1-0.3)=40.5%。

(題外話,4種情況中,其中1和2的情況比較好理解,各自發生了一次200%/325%/450%倍率和235%倍率的暴擊。而3的情況,同時觸發兩種暴擊時,會採用倍率較高的那一方來計算這次暴擊。也就是說,PA出大炮的收益並非簡單使用暴擊概率模型就能推算得出。具體的收益算法我們今後有空再來分析。)

到了這一步,就能很清楚地看出,幻影刺客的暴擊率並非簡單的15%+30%=45%,而是更低的40.5%。代達羅斯之殤所提供的暴擊率實際上被“稀釋”了,並沒有發揮出它應有的30%效果。

在船長“昆卡”的水刀還沒被削弱之前,中單船長通常堆疊2~3件代達羅斯之殤作為暴擊輸出裝備。2件代達羅斯之殤“非線性疊加”的暴擊率為51%(虧損9%),3件代達羅斯之殤“非線性疊加”的暴擊率為65.7%(虧損24.3%)。所以到了版本末期,船長很少補出第三把大炮,而是轉出狂戰斧、輝耀、聖劍等其他屬性的裝備作為傷害補償。

(順帶一提,類似船長的水刀、狂戰斧的濺射、猛獁的授予力量等一系列“分裂”效果,是線性疊加的,也就是可以簡單地做加法計算。)

不僅暴擊率如此,閃避率也是如此。

幻影刺客(為什麼每次談及數值的話題總能用上這個神奇的女人?)的被動“魅影無形”滿級時能夠提供50%閃避機率,道具“蝴蝶”提供35%閃避機率,在被普通攻擊命中時,需要獨立計算雙方各自的閃避——同樣的,幻影刺客的閃避機率被提升至P(B)=1-(1-0.5)*(1-0.35)=67.5%,蝴蝶提供的35%閃避被“稀釋”到了17.5%,幾乎虧損了一半的收益。這也是為什麼幻影刺客通常不出大炮和蝴蝶的原因。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

提到“閃避”,就不得不提“閃避”的宿敵“金箍棒”。在某次版本更新時,金箍棒的效果從100%必中削弱至75%,與閃避的剋制公式更加撲朔迷離。

"

都說遊戲玩的開心最重要。有些玩家,玩遊戲的目的是為了滿足社交需求,大家玩、他也跟著一起玩,最後搞得大家都很快樂;而有些玩家則不同,他們是為了滿足自己、在遊戲中有更高的追求。

這些玩家,他們追求更加合理的過關方式,更加正確的操作方法,更加準確的成功機率,以及更加精準的數據分析。

在日益複雜的遊戲系統當中,開發商已經不滿足於簡單的加減法公式,用攻擊力減去防禦力的方法已經過時,愈來愈多的增益效果(BUFF)和減益效果(DEBUFF)被添加到遊戲當中,越來越多的數字參與到傷害計算過程裡,遊戲的機制也變得越來越複雜……

當一個個增益效果在頭上亮起的時候,你使出渾身解數,一刀劈在怪物頭上,打出了99999點傷害!可你知道,這些增益效果到底為你增加了多少傷害,而哪些增益效果比較厲害,哪些增益效果其實只佔據了很小一部分?

雲玩家Hotspot的上一篇科普文章什麼是“隨機”?教你分清“偽隨機”和“真隨機”為大家科普了偽隨機和真隨機的區別,今天就來科普一下什麼是“線性疊加”和“非線性疊加”。

簡單易懂的“線性疊加”

當多個增益效果疊加在一起時,我們通常會使用“線性疊加”、“非線性疊加”來描述這些增益效果的疊加方式。

在談及“非線性疊加”之前,讓我們好好了解一下相對更簡單、更容易理解的“線性疊加”。

所謂“線性疊加”(Linear Superposition),即是指兩個變量之間的關係遵從一次函數關係——而一次函數,也就是直線,在數學上可以理解為“一階導數為常數的函數”。“線性疊加”,也就是指“遵從直線的疊加方式”。在計算過程中,每次數值的疊加都會增加相同比例的量,譬如買一個橘子用三塊錢,買十個橘子就要用三十塊錢。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

一般來講,遊戲中的“線性疊加”,指的就是“加法疊算”。比如一個角色的攻擊力為100點,路過的聖騎士為他施加了一個王者祝福,假設這個王者祝福的增益是線性疊加,令他獲得了20%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)=120點攻擊力。

此時又路過了一個假面騎士,為他施加了一個王者祝福2,令他獲得了30%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)+(100*0.3)=150點攻擊力。

舉個例子來說,《Fate/Grand Order》(《命運-冠位指定》)的所有增益、減益效果都是線性疊加的。如果你為一名英靈疊加了兩層50%的攻擊力加成,那麼這名英靈造成的傷害就翻倍;而如果一名英靈獲得了兩層50%的受傷減免,那麼這名英靈的受傷減免將疊加至驚人的100%,也就是我們常說的:無敵!(這個無敵甚至不能被無敵貫通,真是太無敵了)

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

而《Fate/Grand Order》中常見的低星英靈過高難本也正是依賴於“線性疊加”的機制,使用阿斯忒裡俄斯(小牛)的寶具降低BOSS的攻擊力、使用布狄卡的寶具提升防禦力等等操作,儘可能地使己方英靈達成“偽無敵”(減傷疊加至100%)的效果,免除BOSS對其造成的傷害。

“非線性疊加”是怎麼疊加的?

在理解了“線性疊加”以後,“非線性疊加”的意義就躍然紙上了。

從概念上來說,“非線性疊加”(Non-Linear Superposition)當然是指並非一次的函數關係——圖像不是直線,變量不成正比。譬如,買一個橘子用三塊錢,買十個橘子時,老闆說:算你批發價,十個橘子只用二十五塊。那麼平均下來,你買一個橘子只用了兩塊五,低於一個橘子的單價三塊錢。對“十個橘子”的疊加態而言,每個橘子的疊加價格變少了,這就是一種“非線性”。

大部分遊戲中的“非線性疊加”相對來說更加容易理解一些。如果有部分數值聲明是“非線性疊加”的,那麼通常來說,這些數值是相互獨立的。與“線性疊加”相對的,“非限定疊加”的部分通常是“乘法疊算”。

還是拿數值最好理解、最好研究的兩款相似的遊戲《Dota2》和《英雄聯盟》來說。在《英雄聯盟》中,所有英雄都有“暴擊機率”這個屬性,而購買“綠叉”、“電刀”、“無盡”等裝備將會為英雄疊加暴擊機率。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

在《英雄聯盟》中,“暴擊機率”是“線性疊加”的。綠叉提供30%暴擊,無盡提供25%暴擊。很容易理解,如果一個英雄同時裝備綠叉和無盡,那麼他的暴擊機率將會疊加至30%+25%=55%。

而在《Dota2》中,“暴擊率”是“非線性疊加”的。譬如幻影刺客的大招“恩賜解脫”擁有15%機率造成200%/325%/450%傷害,而道具“代達羅斯之殤”提供30%機率造成235%傷害。在“非線性疊加”的情況下,幻影刺客裝備代達羅斯之殤進行一次普通攻擊時,將會分別對“恩賜解脫”和“代達羅斯之殤”的暴擊機率進行一次獨立計算。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

也就是說,幻影刺客的一次普通攻擊將會發生四種情況:1.觸發“恩賜解脫”的暴擊、沒有觸發“代達羅斯之殤”;2.觸發“代達羅斯之殤”的暴擊、沒有觸發“恩賜解脫”;3.同時觸發“恩賜解脫”和“代達羅斯之殤”的暴擊;4.沒有觸發“恩賜解脫”和“代達羅斯之殤”任何一方的暴擊。

顯而易見,前3種情況都能算作觸發暴擊,而沒有觸發暴擊的只有第4種。也就是說,幻影刺客的暴擊率被提升至了P(A)=1-(1-0.15)*(1-0.3)=40.5%。

(題外話,4種情況中,其中1和2的情況比較好理解,各自發生了一次200%/325%/450%倍率和235%倍率的暴擊。而3的情況,同時觸發兩種暴擊時,會採用倍率較高的那一方來計算這次暴擊。也就是說,PA出大炮的收益並非簡單使用暴擊概率模型就能推算得出。具體的收益算法我們今後有空再來分析。)

到了這一步,就能很清楚地看出,幻影刺客的暴擊率並非簡單的15%+30%=45%,而是更低的40.5%。代達羅斯之殤所提供的暴擊率實際上被“稀釋”了,並沒有發揮出它應有的30%效果。

在船長“昆卡”的水刀還沒被削弱之前,中單船長通常堆疊2~3件代達羅斯之殤作為暴擊輸出裝備。2件代達羅斯之殤“非線性疊加”的暴擊率為51%(虧損9%),3件代達羅斯之殤“非線性疊加”的暴擊率為65.7%(虧損24.3%)。所以到了版本末期,船長很少補出第三把大炮,而是轉出狂戰斧、輝耀、聖劍等其他屬性的裝備作為傷害補償。

(順帶一提,類似船長的水刀、狂戰斧的濺射、猛獁的授予力量等一系列“分裂”效果,是線性疊加的,也就是可以簡單地做加法計算。)

不僅暴擊率如此,閃避率也是如此。

幻影刺客(為什麼每次談及數值的話題總能用上這個神奇的女人?)的被動“魅影無形”滿級時能夠提供50%閃避機率,道具“蝴蝶”提供35%閃避機率,在被普通攻擊命中時,需要獨立計算雙方各自的閃避——同樣的,幻影刺客的閃避機率被提升至P(B)=1-(1-0.5)*(1-0.35)=67.5%,蝴蝶提供的35%閃避被“稀釋”到了17.5%,幾乎虧損了一半的收益。這也是為什麼幻影刺客通常不出大炮和蝴蝶的原因。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

提到“閃避”,就不得不提“閃避”的宿敵“金箍棒”。在某次版本更新時,金箍棒的效果從100%必中削弱至75%,與閃避的剋制公式更加撲朔迷離。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

在裝備金箍棒的英雄分別攻擊裝備蝴蝶的普通英雄、沒有裝備蝴蝶的幻影刺客和裝備蝴蝶的幻影刺客時,各自的閃避機率分別為8.75%、12.5%和16.875%。蝴蝶在面對金箍棒時效果從35%降低至8.75%和4.375%,甚至還不如輝耀附加的閃避效果,可以說是性價比極低了。

除了《Dota2》之外,像《最終幻想14》中易傷減益與其他增益之間的效果提升也是非線性疊加的。譬如忍者的背刺提供10%易傷效果,換算得10%傷害增加;龍騎士的龍眼效果會使目標獲得5%傷害增加,那麼同時獲得龍眼增益、背刺增益的角色將會獲得1.05*1.10=1.155倍傷害增加,比1+0.1+0.05=1.15還高了0.05倍率。

"

都說遊戲玩的開心最重要。有些玩家,玩遊戲的目的是為了滿足社交需求,大家玩、他也跟著一起玩,最後搞得大家都很快樂;而有些玩家則不同,他們是為了滿足自己、在遊戲中有更高的追求。

這些玩家,他們追求更加合理的過關方式,更加正確的操作方法,更加準確的成功機率,以及更加精準的數據分析。

在日益複雜的遊戲系統當中,開發商已經不滿足於簡單的加減法公式,用攻擊力減去防禦力的方法已經過時,愈來愈多的增益效果(BUFF)和減益效果(DEBUFF)被添加到遊戲當中,越來越多的數字參與到傷害計算過程裡,遊戲的機制也變得越來越複雜……

當一個個增益效果在頭上亮起的時候,你使出渾身解數,一刀劈在怪物頭上,打出了99999點傷害!可你知道,這些增益效果到底為你增加了多少傷害,而哪些增益效果比較厲害,哪些增益效果其實只佔據了很小一部分?

雲玩家Hotspot的上一篇科普文章什麼是“隨機”?教你分清“偽隨機”和“真隨機”為大家科普了偽隨機和真隨機的區別,今天就來科普一下什麼是“線性疊加”和“非線性疊加”。

簡單易懂的“線性疊加”

當多個增益效果疊加在一起時,我們通常會使用“線性疊加”、“非線性疊加”來描述這些增益效果的疊加方式。

在談及“非線性疊加”之前,讓我們好好了解一下相對更簡單、更容易理解的“線性疊加”。

所謂“線性疊加”(Linear Superposition),即是指兩個變量之間的關係遵從一次函數關係——而一次函數,也就是直線,在數學上可以理解為“一階導數為常數的函數”。“線性疊加”,也就是指“遵從直線的疊加方式”。在計算過程中,每次數值的疊加都會增加相同比例的量,譬如買一個橘子用三塊錢,買十個橘子就要用三十塊錢。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

一般來講,遊戲中的“線性疊加”,指的就是“加法疊算”。比如一個角色的攻擊力為100點,路過的聖騎士為他施加了一個王者祝福,假設這個王者祝福的增益是線性疊加,令他獲得了20%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)=120點攻擊力。

此時又路過了一個假面騎士,為他施加了一個王者祝福2,令他獲得了30%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)+(100*0.3)=150點攻擊力。

舉個例子來說,《Fate/Grand Order》(《命運-冠位指定》)的所有增益、減益效果都是線性疊加的。如果你為一名英靈疊加了兩層50%的攻擊力加成,那麼這名英靈造成的傷害就翻倍;而如果一名英靈獲得了兩層50%的受傷減免,那麼這名英靈的受傷減免將疊加至驚人的100%,也就是我們常說的:無敵!(這個無敵甚至不能被無敵貫通,真是太無敵了)

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

而《Fate/Grand Order》中常見的低星英靈過高難本也正是依賴於“線性疊加”的機制,使用阿斯忒裡俄斯(小牛)的寶具降低BOSS的攻擊力、使用布狄卡的寶具提升防禦力等等操作,儘可能地使己方英靈達成“偽無敵”(減傷疊加至100%)的效果,免除BOSS對其造成的傷害。

“非線性疊加”是怎麼疊加的?

在理解了“線性疊加”以後,“非線性疊加”的意義就躍然紙上了。

從概念上來說,“非線性疊加”(Non-Linear Superposition)當然是指並非一次的函數關係——圖像不是直線,變量不成正比。譬如,買一個橘子用三塊錢,買十個橘子時,老闆說:算你批發價,十個橘子只用二十五塊。那麼平均下來,你買一個橘子只用了兩塊五,低於一個橘子的單價三塊錢。對“十個橘子”的疊加態而言,每個橘子的疊加價格變少了,這就是一種“非線性”。

大部分遊戲中的“非線性疊加”相對來說更加容易理解一些。如果有部分數值聲明是“非線性疊加”的,那麼通常來說,這些數值是相互獨立的。與“線性疊加”相對的,“非限定疊加”的部分通常是“乘法疊算”。

還是拿數值最好理解、最好研究的兩款相似的遊戲《Dota2》和《英雄聯盟》來說。在《英雄聯盟》中,所有英雄都有“暴擊機率”這個屬性,而購買“綠叉”、“電刀”、“無盡”等裝備將會為英雄疊加暴擊機率。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

在《英雄聯盟》中,“暴擊機率”是“線性疊加”的。綠叉提供30%暴擊,無盡提供25%暴擊。很容易理解,如果一個英雄同時裝備綠叉和無盡,那麼他的暴擊機率將會疊加至30%+25%=55%。

而在《Dota2》中,“暴擊率”是“非線性疊加”的。譬如幻影刺客的大招“恩賜解脫”擁有15%機率造成200%/325%/450%傷害,而道具“代達羅斯之殤”提供30%機率造成235%傷害。在“非線性疊加”的情況下,幻影刺客裝備代達羅斯之殤進行一次普通攻擊時,將會分別對“恩賜解脫”和“代達羅斯之殤”的暴擊機率進行一次獨立計算。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

也就是說,幻影刺客的一次普通攻擊將會發生四種情況:1.觸發“恩賜解脫”的暴擊、沒有觸發“代達羅斯之殤”;2.觸發“代達羅斯之殤”的暴擊、沒有觸發“恩賜解脫”;3.同時觸發“恩賜解脫”和“代達羅斯之殤”的暴擊;4.沒有觸發“恩賜解脫”和“代達羅斯之殤”任何一方的暴擊。

顯而易見,前3種情況都能算作觸發暴擊,而沒有觸發暴擊的只有第4種。也就是說,幻影刺客的暴擊率被提升至了P(A)=1-(1-0.15)*(1-0.3)=40.5%。

(題外話,4種情況中,其中1和2的情況比較好理解,各自發生了一次200%/325%/450%倍率和235%倍率的暴擊。而3的情況,同時觸發兩種暴擊時,會採用倍率較高的那一方來計算這次暴擊。也就是說,PA出大炮的收益並非簡單使用暴擊概率模型就能推算得出。具體的收益算法我們今後有空再來分析。)

到了這一步,就能很清楚地看出,幻影刺客的暴擊率並非簡單的15%+30%=45%,而是更低的40.5%。代達羅斯之殤所提供的暴擊率實際上被“稀釋”了,並沒有發揮出它應有的30%效果。

在船長“昆卡”的水刀還沒被削弱之前,中單船長通常堆疊2~3件代達羅斯之殤作為暴擊輸出裝備。2件代達羅斯之殤“非線性疊加”的暴擊率為51%(虧損9%),3件代達羅斯之殤“非線性疊加”的暴擊率為65.7%(虧損24.3%)。所以到了版本末期,船長很少補出第三把大炮,而是轉出狂戰斧、輝耀、聖劍等其他屬性的裝備作為傷害補償。

(順帶一提,類似船長的水刀、狂戰斧的濺射、猛獁的授予力量等一系列“分裂”效果,是線性疊加的,也就是可以簡單地做加法計算。)

不僅暴擊率如此,閃避率也是如此。

幻影刺客(為什麼每次談及數值的話題總能用上這個神奇的女人?)的被動“魅影無形”滿級時能夠提供50%閃避機率,道具“蝴蝶”提供35%閃避機率,在被普通攻擊命中時,需要獨立計算雙方各自的閃避——同樣的,幻影刺客的閃避機率被提升至P(B)=1-(1-0.5)*(1-0.35)=67.5%,蝴蝶提供的35%閃避被“稀釋”到了17.5%,幾乎虧損了一半的收益。這也是為什麼幻影刺客通常不出大炮和蝴蝶的原因。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

提到“閃避”,就不得不提“閃避”的宿敵“金箍棒”。在某次版本更新時,金箍棒的效果從100%必中削弱至75%,與閃避的剋制公式更加撲朔迷離。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

在裝備金箍棒的英雄分別攻擊裝備蝴蝶的普通英雄、沒有裝備蝴蝶的幻影刺客和裝備蝴蝶的幻影刺客時,各自的閃避機率分別為8.75%、12.5%和16.875%。蝴蝶在面對金箍棒時效果從35%降低至8.75%和4.375%,甚至還不如輝耀附加的閃避效果,可以說是性價比極低了。

除了《Dota2》之外,像《最終幻想14》中易傷減益與其他增益之間的效果提升也是非線性疊加的。譬如忍者的背刺提供10%易傷效果,換算得10%傷害增加;龍騎士的龍眼效果會使目標獲得5%傷害增加,那麼同時獲得龍眼增益、背刺增益的角色將會獲得1.05*1.10=1.155倍傷害增加,比1+0.1+0.05=1.15還高了0.05倍率。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

非常好懂的一點在於,由於是乘法疊算,因此在倍率低於100%時(常見於命中率、閃避率、暴擊率等上限100%的數值),“非線性疊加”的效果是越疊越差的,也就是常說的“邊際效益遞減”;反之在倍率高於100%時(常見於傷害增加等),“非線性疊加”的效果是越疊越好的,即“邊際效益遞增”。

“邊際效益”與“等比血量”的換算

有一點要提及的是,“邊際效益遞減”也並不是總是等同於“效益遞減”。

還是拿《Dota2》和《英雄聯盟》來舉例。早先,在《Dota2》的護甲減傷公式還沒有徹底脫離war3公式之前,《Dota2》和《英雄聯盟》的護甲減傷公式分別是:0.05*護甲/(1+0.05*護甲),以及護甲/(100+護甲)。

(換算可得,當護甲分別為20和100時,護甲所提供的物理減傷達到50%。可以推算得《英雄聯盟》的護甲的效果和5倍《Dota2》護甲是等值的,從《Dota2》公式中得出的結論與《英雄聯盟》相同,因此之後將省略《英雄聯盟》部分的推算。)

從公式上就可以看出護甲減傷是服從“非線性疊加”,而減傷百分比的倍率低於100%,很明顯護甲收益是“邊際效益遞減”的。

當護甲為0時提供0%減傷,當護甲為3時提供13%減傷,約等於每點護甲提供4%減傷

當護甲為87時提供81.31%減傷,當護甲為90時提供81.82%減傷,約等於每點護甲提供了0.16%減傷

隨著護甲不斷提升,每點護甲提供減傷百分比的提升越來越少,疊護甲似乎效果越來越小……

但是!

雖然護甲減傷的收益在遞減,但是換算成等比血量的提升卻是相同的。根據護甲減傷公式可得每1點HP變為1/(1-0.05*護甲/(1+0.05*護甲)),等價於1*(1+0.05*護甲),即無論當前護甲有多少,每1點護甲都能提供5%的等比血量提升(《英雄聯盟》中看做1點護甲提供1%等比血量提升)

舉個例子,想要達到98%減傷,需要980護甲;而想要達到99%減傷,則需要驚人的1980護甲。儘管看似這多出來的1000護甲只提供了1%的減傷,但仔細計算一下就能發現,這1000護甲能讓英雄的血量翻一倍。

假設一個單位有2點血,原本需要100傷害(經過98%減免後為2點)才能殺死他,現在卻需要200傷害(經過99%減免後為2點)。

也就是說,儘管護甲減傷是非線性疊加,但是護甲所提供的等比血量卻是服從線性疊加的。除非對方使用魔法傷害攻擊,否則在面對相同的物理傷害時,無腦堆疊護甲幾乎不會是一個錯誤的選擇。

——以上結論,目前對《英雄聯盟》、以及其他使用相似公式的遊戲(比如《魔獸爭霸》)仍舊適用。而對新版本的《Dota2》已不再適用,因為《Dota2》在去年曾經修改過一次護甲公式,目前的護甲減傷公式為:0.052*護甲/(0.9+0.048*護甲)

每1點HP則根據公式修改而變為1/(1-0.052*護甲/ (0.9+0.048*護甲)),等價於(0.9+0.048*護甲) /(0.9-0.004*護甲),不再服從於線性疊加,想要計算也變得相對困難起來。(下圖以及等比血量公式均來自於貼吧)

"

都說遊戲玩的開心最重要。有些玩家,玩遊戲的目的是為了滿足社交需求,大家玩、他也跟著一起玩,最後搞得大家都很快樂;而有些玩家則不同,他們是為了滿足自己、在遊戲中有更高的追求。

這些玩家,他們追求更加合理的過關方式,更加正確的操作方法,更加準確的成功機率,以及更加精準的數據分析。

在日益複雜的遊戲系統當中,開發商已經不滿足於簡單的加減法公式,用攻擊力減去防禦力的方法已經過時,愈來愈多的增益效果(BUFF)和減益效果(DEBUFF)被添加到遊戲當中,越來越多的數字參與到傷害計算過程裡,遊戲的機制也變得越來越複雜……

當一個個增益效果在頭上亮起的時候,你使出渾身解數,一刀劈在怪物頭上,打出了99999點傷害!可你知道,這些增益效果到底為你增加了多少傷害,而哪些增益效果比較厲害,哪些增益效果其實只佔據了很小一部分?

雲玩家Hotspot的上一篇科普文章什麼是“隨機”?教你分清“偽隨機”和“真隨機”為大家科普了偽隨機和真隨機的區別,今天就來科普一下什麼是“線性疊加”和“非線性疊加”。

簡單易懂的“線性疊加”

當多個增益效果疊加在一起時,我們通常會使用“線性疊加”、“非線性疊加”來描述這些增益效果的疊加方式。

在談及“非線性疊加”之前,讓我們好好了解一下相對更簡單、更容易理解的“線性疊加”。

所謂“線性疊加”(Linear Superposition),即是指兩個變量之間的關係遵從一次函數關係——而一次函數,也就是直線,在數學上可以理解為“一階導數為常數的函數”。“線性疊加”,也就是指“遵從直線的疊加方式”。在計算過程中,每次數值的疊加都會增加相同比例的量,譬如買一個橘子用三塊錢,買十個橘子就要用三十塊錢。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

一般來講,遊戲中的“線性疊加”,指的就是“加法疊算”。比如一個角色的攻擊力為100點,路過的聖騎士為他施加了一個王者祝福,假設這個王者祝福的增益是線性疊加,令他獲得了20%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)=120點攻擊力。

此時又路過了一個假面騎士,為他施加了一個王者祝福2,令他獲得了30%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)+(100*0.3)=150點攻擊力。

舉個例子來說,《Fate/Grand Order》(《命運-冠位指定》)的所有增益、減益效果都是線性疊加的。如果你為一名英靈疊加了兩層50%的攻擊力加成,那麼這名英靈造成的傷害就翻倍;而如果一名英靈獲得了兩層50%的受傷減免,那麼這名英靈的受傷減免將疊加至驚人的100%,也就是我們常說的:無敵!(這個無敵甚至不能被無敵貫通,真是太無敵了)

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

而《Fate/Grand Order》中常見的低星英靈過高難本也正是依賴於“線性疊加”的機制,使用阿斯忒裡俄斯(小牛)的寶具降低BOSS的攻擊力、使用布狄卡的寶具提升防禦力等等操作,儘可能地使己方英靈達成“偽無敵”(減傷疊加至100%)的效果,免除BOSS對其造成的傷害。

“非線性疊加”是怎麼疊加的?

在理解了“線性疊加”以後,“非線性疊加”的意義就躍然紙上了。

從概念上來說,“非線性疊加”(Non-Linear Superposition)當然是指並非一次的函數關係——圖像不是直線,變量不成正比。譬如,買一個橘子用三塊錢,買十個橘子時,老闆說:算你批發價,十個橘子只用二十五塊。那麼平均下來,你買一個橘子只用了兩塊五,低於一個橘子的單價三塊錢。對“十個橘子”的疊加態而言,每個橘子的疊加價格變少了,這就是一種“非線性”。

大部分遊戲中的“非線性疊加”相對來說更加容易理解一些。如果有部分數值聲明是“非線性疊加”的,那麼通常來說,這些數值是相互獨立的。與“線性疊加”相對的,“非限定疊加”的部分通常是“乘法疊算”。

還是拿數值最好理解、最好研究的兩款相似的遊戲《Dota2》和《英雄聯盟》來說。在《英雄聯盟》中,所有英雄都有“暴擊機率”這個屬性,而購買“綠叉”、“電刀”、“無盡”等裝備將會為英雄疊加暴擊機率。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

在《英雄聯盟》中,“暴擊機率”是“線性疊加”的。綠叉提供30%暴擊,無盡提供25%暴擊。很容易理解,如果一個英雄同時裝備綠叉和無盡,那麼他的暴擊機率將會疊加至30%+25%=55%。

而在《Dota2》中,“暴擊率”是“非線性疊加”的。譬如幻影刺客的大招“恩賜解脫”擁有15%機率造成200%/325%/450%傷害,而道具“代達羅斯之殤”提供30%機率造成235%傷害。在“非線性疊加”的情況下,幻影刺客裝備代達羅斯之殤進行一次普通攻擊時,將會分別對“恩賜解脫”和“代達羅斯之殤”的暴擊機率進行一次獨立計算。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

也就是說,幻影刺客的一次普通攻擊將會發生四種情況:1.觸發“恩賜解脫”的暴擊、沒有觸發“代達羅斯之殤”;2.觸發“代達羅斯之殤”的暴擊、沒有觸發“恩賜解脫”;3.同時觸發“恩賜解脫”和“代達羅斯之殤”的暴擊;4.沒有觸發“恩賜解脫”和“代達羅斯之殤”任何一方的暴擊。

顯而易見,前3種情況都能算作觸發暴擊,而沒有觸發暴擊的只有第4種。也就是說,幻影刺客的暴擊率被提升至了P(A)=1-(1-0.15)*(1-0.3)=40.5%。

(題外話,4種情況中,其中1和2的情況比較好理解,各自發生了一次200%/325%/450%倍率和235%倍率的暴擊。而3的情況,同時觸發兩種暴擊時,會採用倍率較高的那一方來計算這次暴擊。也就是說,PA出大炮的收益並非簡單使用暴擊概率模型就能推算得出。具體的收益算法我們今後有空再來分析。)

到了這一步,就能很清楚地看出,幻影刺客的暴擊率並非簡單的15%+30%=45%,而是更低的40.5%。代達羅斯之殤所提供的暴擊率實際上被“稀釋”了,並沒有發揮出它應有的30%效果。

在船長“昆卡”的水刀還沒被削弱之前,中單船長通常堆疊2~3件代達羅斯之殤作為暴擊輸出裝備。2件代達羅斯之殤“非線性疊加”的暴擊率為51%(虧損9%),3件代達羅斯之殤“非線性疊加”的暴擊率為65.7%(虧損24.3%)。所以到了版本末期,船長很少補出第三把大炮,而是轉出狂戰斧、輝耀、聖劍等其他屬性的裝備作為傷害補償。

(順帶一提,類似船長的水刀、狂戰斧的濺射、猛獁的授予力量等一系列“分裂”效果,是線性疊加的,也就是可以簡單地做加法計算。)

不僅暴擊率如此,閃避率也是如此。

幻影刺客(為什麼每次談及數值的話題總能用上這個神奇的女人?)的被動“魅影無形”滿級時能夠提供50%閃避機率,道具“蝴蝶”提供35%閃避機率,在被普通攻擊命中時,需要獨立計算雙方各自的閃避——同樣的,幻影刺客的閃避機率被提升至P(B)=1-(1-0.5)*(1-0.35)=67.5%,蝴蝶提供的35%閃避被“稀釋”到了17.5%,幾乎虧損了一半的收益。這也是為什麼幻影刺客通常不出大炮和蝴蝶的原因。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

提到“閃避”,就不得不提“閃避”的宿敵“金箍棒”。在某次版本更新時,金箍棒的效果從100%必中削弱至75%,與閃避的剋制公式更加撲朔迷離。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

在裝備金箍棒的英雄分別攻擊裝備蝴蝶的普通英雄、沒有裝備蝴蝶的幻影刺客和裝備蝴蝶的幻影刺客時,各自的閃避機率分別為8.75%、12.5%和16.875%。蝴蝶在面對金箍棒時效果從35%降低至8.75%和4.375%,甚至還不如輝耀附加的閃避效果,可以說是性價比極低了。

除了《Dota2》之外,像《最終幻想14》中易傷減益與其他增益之間的效果提升也是非線性疊加的。譬如忍者的背刺提供10%易傷效果,換算得10%傷害增加;龍騎士的龍眼效果會使目標獲得5%傷害增加,那麼同時獲得龍眼增益、背刺增益的角色將會獲得1.05*1.10=1.155倍傷害增加,比1+0.1+0.05=1.15還高了0.05倍率。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

非常好懂的一點在於,由於是乘法疊算,因此在倍率低於100%時(常見於命中率、閃避率、暴擊率等上限100%的數值),“非線性疊加”的效果是越疊越差的,也就是常說的“邊際效益遞減”;反之在倍率高於100%時(常見於傷害增加等),“非線性疊加”的效果是越疊越好的,即“邊際效益遞增”。

“邊際效益”與“等比血量”的換算

有一點要提及的是,“邊際效益遞減”也並不是總是等同於“效益遞減”。

還是拿《Dota2》和《英雄聯盟》來舉例。早先,在《Dota2》的護甲減傷公式還沒有徹底脫離war3公式之前,《Dota2》和《英雄聯盟》的護甲減傷公式分別是:0.05*護甲/(1+0.05*護甲),以及護甲/(100+護甲)。

(換算可得,當護甲分別為20和100時,護甲所提供的物理減傷達到50%。可以推算得《英雄聯盟》的護甲的效果和5倍《Dota2》護甲是等值的,從《Dota2》公式中得出的結論與《英雄聯盟》相同,因此之後將省略《英雄聯盟》部分的推算。)

從公式上就可以看出護甲減傷是服從“非線性疊加”,而減傷百分比的倍率低於100%,很明顯護甲收益是“邊際效益遞減”的。

當護甲為0時提供0%減傷,當護甲為3時提供13%減傷,約等於每點護甲提供4%減傷

當護甲為87時提供81.31%減傷,當護甲為90時提供81.82%減傷,約等於每點護甲提供了0.16%減傷

隨著護甲不斷提升,每點護甲提供減傷百分比的提升越來越少,疊護甲似乎效果越來越小……

但是!

雖然護甲減傷的收益在遞減,但是換算成等比血量的提升卻是相同的。根據護甲減傷公式可得每1點HP變為1/(1-0.05*護甲/(1+0.05*護甲)),等價於1*(1+0.05*護甲),即無論當前護甲有多少,每1點護甲都能提供5%的等比血量提升(《英雄聯盟》中看做1點護甲提供1%等比血量提升)

舉個例子,想要達到98%減傷,需要980護甲;而想要達到99%減傷,則需要驚人的1980護甲。儘管看似這多出來的1000護甲只提供了1%的減傷,但仔細計算一下就能發現,這1000護甲能讓英雄的血量翻一倍。

假設一個單位有2點血,原本需要100傷害(經過98%減免後為2點)才能殺死他,現在卻需要200傷害(經過99%減免後為2點)。

也就是說,儘管護甲減傷是非線性疊加,但是護甲所提供的等比血量卻是服從線性疊加的。除非對方使用魔法傷害攻擊,否則在面對相同的物理傷害時,無腦堆疊護甲幾乎不會是一個錯誤的選擇。

——以上結論,目前對《英雄聯盟》、以及其他使用相似公式的遊戲(比如《魔獸爭霸》)仍舊適用。而對新版本的《Dota2》已不再適用,因為《Dota2》在去年曾經修改過一次護甲公式,目前的護甲減傷公式為:0.052*護甲/(0.9+0.048*護甲)

每1點HP則根據公式修改而變為1/(1-0.052*護甲/ (0.9+0.048*護甲)),等價於(0.9+0.048*護甲) /(0.9-0.004*護甲),不再服從於線性疊加,想要計算也變得相對困難起來。(下圖以及等比血量公式均來自於貼吧)

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

不過可以看到新版的護甲減傷公式更加“奔放”,在護甲達到30時、再向上堆疊護甲將會獲得巨大的減傷和等比血量提升。當護甲達到210時,等比血量提升甚至達到了驚人的18200%;當護甲達到225時,函數計算結果趨向正無窮,也就是物理免疫——這是舊版本公式達不到的一個巔峰。

"

都說遊戲玩的開心最重要。有些玩家,玩遊戲的目的是為了滿足社交需求,大家玩、他也跟著一起玩,最後搞得大家都很快樂;而有些玩家則不同,他們是為了滿足自己、在遊戲中有更高的追求。

這些玩家,他們追求更加合理的過關方式,更加正確的操作方法,更加準確的成功機率,以及更加精準的數據分析。

在日益複雜的遊戲系統當中,開發商已經不滿足於簡單的加減法公式,用攻擊力減去防禦力的方法已經過時,愈來愈多的增益效果(BUFF)和減益效果(DEBUFF)被添加到遊戲當中,越來越多的數字參與到傷害計算過程裡,遊戲的機制也變得越來越複雜……

當一個個增益效果在頭上亮起的時候,你使出渾身解數,一刀劈在怪物頭上,打出了99999點傷害!可你知道,這些增益效果到底為你增加了多少傷害,而哪些增益效果比較厲害,哪些增益效果其實只佔據了很小一部分?

雲玩家Hotspot的上一篇科普文章什麼是“隨機”?教你分清“偽隨機”和“真隨機”為大家科普了偽隨機和真隨機的區別,今天就來科普一下什麼是“線性疊加”和“非線性疊加”。

簡單易懂的“線性疊加”

當多個增益效果疊加在一起時,我們通常會使用“線性疊加”、“非線性疊加”來描述這些增益效果的疊加方式。

在談及“非線性疊加”之前,讓我們好好了解一下相對更簡單、更容易理解的“線性疊加”。

所謂“線性疊加”(Linear Superposition),即是指兩個變量之間的關係遵從一次函數關係——而一次函數,也就是直線,在數學上可以理解為“一階導數為常數的函數”。“線性疊加”,也就是指“遵從直線的疊加方式”。在計算過程中,每次數值的疊加都會增加相同比例的量,譬如買一個橘子用三塊錢,買十個橘子就要用三十塊錢。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

一般來講,遊戲中的“線性疊加”,指的就是“加法疊算”。比如一個角色的攻擊力為100點,路過的聖騎士為他施加了一個王者祝福,假設這個王者祝福的增益是線性疊加,令他獲得了20%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)=120點攻擊力。

此時又路過了一個假面騎士,為他施加了一個王者祝福2,令他獲得了30%的攻擊力提升,那麼這個角色的攻擊力就變為100+(100*0.2)+(100*0.3)=150點攻擊力。

舉個例子來說,《Fate/Grand Order》(《命運-冠位指定》)的所有增益、減益效果都是線性疊加的。如果你為一名英靈疊加了兩層50%的攻擊力加成,那麼這名英靈造成的傷害就翻倍;而如果一名英靈獲得了兩層50%的受傷減免,那麼這名英靈的受傷減免將疊加至驚人的100%,也就是我們常說的:無敵!(這個無敵甚至不能被無敵貫通,真是太無敵了)

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

而《Fate/Grand Order》中常見的低星英靈過高難本也正是依賴於“線性疊加”的機制,使用阿斯忒裡俄斯(小牛)的寶具降低BOSS的攻擊力、使用布狄卡的寶具提升防禦力等等操作,儘可能地使己方英靈達成“偽無敵”(減傷疊加至100%)的效果,免除BOSS對其造成的傷害。

“非線性疊加”是怎麼疊加的?

在理解了“線性疊加”以後,“非線性疊加”的意義就躍然紙上了。

從概念上來說,“非線性疊加”(Non-Linear Superposition)當然是指並非一次的函數關係——圖像不是直線,變量不成正比。譬如,買一個橘子用三塊錢,買十個橘子時,老闆說:算你批發價,十個橘子只用二十五塊。那麼平均下來,你買一個橘子只用了兩塊五,低於一個橘子的單價三塊錢。對“十個橘子”的疊加態而言,每個橘子的疊加價格變少了,這就是一種“非線性”。

大部分遊戲中的“非線性疊加”相對來說更加容易理解一些。如果有部分數值聲明是“非線性疊加”的,那麼通常來說,這些數值是相互獨立的。與“線性疊加”相對的,“非限定疊加”的部分通常是“乘法疊算”。

還是拿數值最好理解、最好研究的兩款相似的遊戲《Dota2》和《英雄聯盟》來說。在《英雄聯盟》中,所有英雄都有“暴擊機率”這個屬性,而購買“綠叉”、“電刀”、“無盡”等裝備將會為英雄疊加暴擊機率。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

在《英雄聯盟》中,“暴擊機率”是“線性疊加”的。綠叉提供30%暴擊,無盡提供25%暴擊。很容易理解,如果一個英雄同時裝備綠叉和無盡,那麼他的暴擊機率將會疊加至30%+25%=55%。

而在《Dota2》中,“暴擊率”是“非線性疊加”的。譬如幻影刺客的大招“恩賜解脫”擁有15%機率造成200%/325%/450%傷害,而道具“代達羅斯之殤”提供30%機率造成235%傷害。在“非線性疊加”的情況下,幻影刺客裝備代達羅斯之殤進行一次普通攻擊時,將會分別對“恩賜解脫”和“代達羅斯之殤”的暴擊機率進行一次獨立計算。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

也就是說,幻影刺客的一次普通攻擊將會發生四種情況:1.觸發“恩賜解脫”的暴擊、沒有觸發“代達羅斯之殤”;2.觸發“代達羅斯之殤”的暴擊、沒有觸發“恩賜解脫”;3.同時觸發“恩賜解脫”和“代達羅斯之殤”的暴擊;4.沒有觸發“恩賜解脫”和“代達羅斯之殤”任何一方的暴擊。

顯而易見,前3種情況都能算作觸發暴擊,而沒有觸發暴擊的只有第4種。也就是說,幻影刺客的暴擊率被提升至了P(A)=1-(1-0.15)*(1-0.3)=40.5%。

(題外話,4種情況中,其中1和2的情況比較好理解,各自發生了一次200%/325%/450%倍率和235%倍率的暴擊。而3的情況,同時觸發兩種暴擊時,會採用倍率較高的那一方來計算這次暴擊。也就是說,PA出大炮的收益並非簡單使用暴擊概率模型就能推算得出。具體的收益算法我們今後有空再來分析。)

到了這一步,就能很清楚地看出,幻影刺客的暴擊率並非簡單的15%+30%=45%,而是更低的40.5%。代達羅斯之殤所提供的暴擊率實際上被“稀釋”了,並沒有發揮出它應有的30%效果。

在船長“昆卡”的水刀還沒被削弱之前,中單船長通常堆疊2~3件代達羅斯之殤作為暴擊輸出裝備。2件代達羅斯之殤“非線性疊加”的暴擊率為51%(虧損9%),3件代達羅斯之殤“非線性疊加”的暴擊率為65.7%(虧損24.3%)。所以到了版本末期,船長很少補出第三把大炮,而是轉出狂戰斧、輝耀、聖劍等其他屬性的裝備作為傷害補償。

(順帶一提,類似船長的水刀、狂戰斧的濺射、猛獁的授予力量等一系列“分裂”效果,是線性疊加的,也就是可以簡單地做加法計算。)

不僅暴擊率如此,閃避率也是如此。

幻影刺客(為什麼每次談及數值的話題總能用上這個神奇的女人?)的被動“魅影無形”滿級時能夠提供50%閃避機率,道具“蝴蝶”提供35%閃避機率,在被普通攻擊命中時,需要獨立計算雙方各自的閃避——同樣的,幻影刺客的閃避機率被提升至P(B)=1-(1-0.5)*(1-0.35)=67.5%,蝴蝶提供的35%閃避被“稀釋”到了17.5%,幾乎虧損了一半的收益。這也是為什麼幻影刺客通常不出大炮和蝴蝶的原因。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

提到“閃避”,就不得不提“閃避”的宿敵“金箍棒”。在某次版本更新時,金箍棒的效果從100%必中削弱至75%,與閃避的剋制公式更加撲朔迷離。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

在裝備金箍棒的英雄分別攻擊裝備蝴蝶的普通英雄、沒有裝備蝴蝶的幻影刺客和裝備蝴蝶的幻影刺客時,各自的閃避機率分別為8.75%、12.5%和16.875%。蝴蝶在面對金箍棒時效果從35%降低至8.75%和4.375%,甚至還不如輝耀附加的閃避效果,可以說是性價比極低了。

除了《Dota2》之外,像《最終幻想14》中易傷減益與其他增益之間的效果提升也是非線性疊加的。譬如忍者的背刺提供10%易傷效果,換算得10%傷害增加;龍騎士的龍眼效果會使目標獲得5%傷害增加,那麼同時獲得龍眼增益、背刺增益的角色將會獲得1.05*1.10=1.155倍傷害增加,比1+0.1+0.05=1.15還高了0.05倍率。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

非常好懂的一點在於,由於是乘法疊算,因此在倍率低於100%時(常見於命中率、閃避率、暴擊率等上限100%的數值),“非線性疊加”的效果是越疊越差的,也就是常說的“邊際效益遞減”;反之在倍率高於100%時(常見於傷害增加等),“非線性疊加”的效果是越疊越好的,即“邊際效益遞增”。

“邊際效益”與“等比血量”的換算

有一點要提及的是,“邊際效益遞減”也並不是總是等同於“效益遞減”。

還是拿《Dota2》和《英雄聯盟》來舉例。早先,在《Dota2》的護甲減傷公式還沒有徹底脫離war3公式之前,《Dota2》和《英雄聯盟》的護甲減傷公式分別是:0.05*護甲/(1+0.05*護甲),以及護甲/(100+護甲)。

(換算可得,當護甲分別為20和100時,護甲所提供的物理減傷達到50%。可以推算得《英雄聯盟》的護甲的效果和5倍《Dota2》護甲是等值的,從《Dota2》公式中得出的結論與《英雄聯盟》相同,因此之後將省略《英雄聯盟》部分的推算。)

從公式上就可以看出護甲減傷是服從“非線性疊加”,而減傷百分比的倍率低於100%,很明顯護甲收益是“邊際效益遞減”的。

當護甲為0時提供0%減傷,當護甲為3時提供13%減傷,約等於每點護甲提供4%減傷

當護甲為87時提供81.31%減傷,當護甲為90時提供81.82%減傷,約等於每點護甲提供了0.16%減傷

隨著護甲不斷提升,每點護甲提供減傷百分比的提升越來越少,疊護甲似乎效果越來越小……

但是!

雖然護甲減傷的收益在遞減,但是換算成等比血量的提升卻是相同的。根據護甲減傷公式可得每1點HP變為1/(1-0.05*護甲/(1+0.05*護甲)),等價於1*(1+0.05*護甲),即無論當前護甲有多少,每1點護甲都能提供5%的等比血量提升(《英雄聯盟》中看做1點護甲提供1%等比血量提升)

舉個例子,想要達到98%減傷,需要980護甲;而想要達到99%減傷,則需要驚人的1980護甲。儘管看似這多出來的1000護甲只提供了1%的減傷,但仔細計算一下就能發現,這1000護甲能讓英雄的血量翻一倍。

假設一個單位有2點血,原本需要100傷害(經過98%減免後為2點)才能殺死他,現在卻需要200傷害(經過99%減免後為2點)。

也就是說,儘管護甲減傷是非線性疊加,但是護甲所提供的等比血量卻是服從線性疊加的。除非對方使用魔法傷害攻擊,否則在面對相同的物理傷害時,無腦堆疊護甲幾乎不會是一個錯誤的選擇。

——以上結論,目前對《英雄聯盟》、以及其他使用相似公式的遊戲(比如《魔獸爭霸》)仍舊適用。而對新版本的《Dota2》已不再適用,因為《Dota2》在去年曾經修改過一次護甲公式,目前的護甲減傷公式為:0.052*護甲/(0.9+0.048*護甲)

每1點HP則根據公式修改而變為1/(1-0.052*護甲/ (0.9+0.048*護甲)),等價於(0.9+0.048*護甲) /(0.9-0.004*護甲),不再服從於線性疊加,想要計算也變得相對困難起來。(下圖以及等比血量公式均來自於貼吧)

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

不過可以看到新版的護甲減傷公式更加“奔放”,在護甲達到30時、再向上堆疊護甲將會獲得巨大的減傷和等比血量提升。當護甲達到210時,等比血量提升甚至達到了驚人的18200%;當護甲達到225時,函數計算結果趨向正無窮,也就是物理免疫——這是舊版本公式達不到的一個巔峰。

雲玩家科普:什麼是“非線性疊加”?線性又是哪條線?

護甲公式的更改使得高護甲單位和高護甲裝備收益頗大,也促使了炎陽紋章這類裝備的崛起。在TI9的比賽上,OG體系使這件默默無聞的裝備聲名鵲起,通過堆疊護甲促成“超級核心”的打法也成為TI賽場上的主流。

相信在TI比賽結束後的第一個Major中,更多有關護甲的研究會引領比賽的節奏吧。

(圖片來源於網絡)

"

相關推薦

推薦中...