維基週報連載:Zollo傷害定理:關於Diep.io子彈傷害的那些事
- 作者:AC0xRPFS001
- 狀態:<連載中>
一、你要的是身體傷害,還是血量值?[]
這是個平常的上學日,身為班上幾乎是領頭羊的我,秉持著風行草偃的精神,一向十分提早來到學校上課。
當我走進門時,有件事令我十分得吃驚:平時總趕著最後一刻來進教室的Arras,今天竟然比我早來,而且已經在位置上就緒!不過他的樣子幾乎是要睡著了。
我用著一般的步伐走到他旁邊,聽到腳步聲而被我驚醒的Arras抬頭看了我,
「AC,你來啦,我在這睡了一晚就是在等你。」Arras對著我說。
原來是這樣才比我早到,我收回本來要稱讚他的話。
「讓你等了這麼久,還真是不好意思。你到底怎麼睡在這裡的?還有你在等我做什麼?」我回應道。
「這個啦,這個!」他拿出手機,指著上面的圖片,我仔細一看......
「這個,不是小佐給的身體血量、身體傷害與本體總傷害的數值嗎?」我問道。
「是阿,只是我有點不太懂,這到底是在表達什麼......」Arras有點不好意思的說出這句話。
這也不能怪他不懂,玩遊戲從來不需要把專業領域的知識搞懂啊。
但如果他有心要領悟的話,我要盡我所能把他教會。
「那個,Arras」我開口叫了一下他。
「?」他做了一個疑惑的表情給我。
「你是哪裡不懂呢?」我開始打探他的問題在哪。
「這張表的數據是怎麼來的......」Arras苦惱的看著螢幕,說出了這句話
「這個啊,」我開始解釋:
* * * * * * * * * * * * * * * * * * *
最上方粉紅色的那一排代表技能點數與血量值的對應,例如五點血量值代表擁有238點血量
左方紫色那一列代表著技能點數與身體傷害的對應,例如兩點身體傷害代表擁有28點身體傷害值
將兩個數據相乘就是本體總傷害
以剛剛的例子來說五點血量值加上兩點身體傷害,則身體總傷害就是238乘上28,可以從表格直接對應到,是6664點身體總傷害
* * * * * * * * * * * * * * * * * * *
「是6664點身體總傷害。」我說完一切。
「我一開始看到一堆數字就退縮了,沒想到原來這麼簡單。」Arras回答著
太好了,我本這麼想著,但是......
「這到底有什麼意義」Arras這麼的提問。
「什麼?」這次,輪到我露出了疑惑的表情。
「那個,求出了這些數據,究竟代表著什麼意義?」
一時之間,我啞口無言。他問了一個我無法回答的問題。
我平時只觀看並使用這些表面上的數據,從未去深刻了解他背後代表了什麼。Arras竟然一句話就把我打的體無完膚,這不對啊......
就在我這樣想時......
「為了要更深入的了解遊戲。」背後突然傳來一個聲音。
「咦?」我與Arras同時回頭。
「為了要更深入的了解遊戲遊戲的運作模式,並盡可能的尋找最佳解答。」小佐突然出現在我們的後方。
小佐是我們班的班長,我們知道的數據基本上都是小佐給出來的。他有著非常聰明的頭腦,除了作文,幾乎沒有什麼是可以難倒他的。
「竟然這個時候才出現,這個時間已經遲到了吧,你身為班長這樣好嗎?」我詢問小佐。
「半路被教官叫去了。」小佐不急不忙的回答。
「好......不過你剛剛說的到底是什麼意思?」我繼續對小佐提問。
「這其實很簡單」小佐徐徐說道「有了這些數據,就可以知道要怎麼樣才能更有效的發揮有限的技能點,同時也是為了更了解隱藏在遊戲下的數據機制。」
我無可反駁。
「很多遊戲都有所謂的挑戰世界極限,這種情況下要對遊戲有更多更多的了解」小佐繼續補充「這個表格只不過是冰山一角,真的要說的話還是有很多不僅限於數據的東西等著我們去發掘的。」
「原來如此,這樣我就大概可以懂了......」Arras小聲地回應。
就在我思索著小佐剛剛說的話時,早自習的鐘聲響起,小佐班長徐徐走上講台。
「早自習了,全班安靜,要考國文。」小佐大聲說道。
「齁......」全班開始哀號。
在考試的期間,我一直思索著小佐剛剛說的話......
二、與你相撞[]
這是第二天的中午,在電腦教室中。
「啊......好慢啊......」我一邊伸懶腰一邊等著另外兩位。
我、小佐,和Arras好不容易約到了電腦教室,要來做些diep.io相關的事,但是另外兩隻怎麼這麼慢?
Arras就算了,畢竟也習慣了;倒是小佐,身為班長,平時也都會提前到達,怎麼已經等了半小時了仍然還沒到。
就當我這麼想的時候......
「欸?你怎麼這麼早來?」我看到小佐跟Arras在門口。
「這是我要問你的吧?」我說「不是約好了五點十分到,現在都已經五點四十幾了,遲到半小時耶!」
「奇怪」小佐回應道「明明就是約五十分的說,怎麼變十分了?」
「咦。」我開始感到疑惑。
「你大概是昨天國文考太糟,所以整個人突然開始當機了吧?」小佐用有點諷刺的聲音說。
「喂喂喂」我回答「還不是你當時說的那幾句話,害我陷入深思,無暇顧及考試。」
「那考卷用猜的都可以90分,你這個86未免也太低了一點吧。」小佐再回。
「那個......可以開始了嗎?我們現在只剩30分鐘了」Arras小聲說道。
「都你啦,浪費我們時間。」小佐先發制人。
「算了,大人不記小人過。」我不甘示弱。
兩人終於停戰,準備要來開電腦。
* * * * * * * * * * * * * * * * * * *
電腦開機了,這個時候打開diep.io......
「咦?」我們三人不禁感到疑惑。
Error 1016,這什麼鬼......
「反正」小佐最先說道「diep.io不肯讓我們玩就是了。」「不如我剛好有個點子,來試試看吧!」
反正現在也沒事做,我們就一致同意了小佐的提議。
「那麼,」小佐邊說,邊拿出了一張紙......
* * * * * * * * * * * * * * * * * * *
每人有五點技能點,可以點在血量最大值和身體傷害上。
等一下我們會相撞,看看誰會獲勝。
* * * * * * * * * * * * * * * * * * *
「看看誰會獲勝」小佐說「簡單吧!」
「這還不簡單」我說「我點......」
還沒說完,小佐直接用手摀住我的嘴。
「嗚嗚嗚嗚嗚嗚。」我說不出話。
「我們就先讓Arras來試試看吧!」小佐說。
「呃......」Arras看起來出現了選擇困難「通通點在血量最大值上面好了。」
「好」小佐說「那我點一點身體傷害,其它通通點在血量最大上面。」
接著小佐在紙上寫下了兩道算式:
「?????」Arras看的一頭霧水。
「就交給你來說明好了」小佐突然把解說的責任丟給我。
「唉」我說「好吧,是這樣的,還記得這張圖嗎:」
「當然記得,我為了問你這張圖是什麼意思還睡在學校呢。」Arras回應。
「到底是怎麼睡的......」我說「不管,反正算式的意義如下」
* * * * * * * * * * * * * * * * * * *
首先,Arras點了五點血量最大,零點身體傷害,所以對照圖表:應該有238點血量,20點身體傷害。故身體總傷害便是將兩者相乘,也就是4760點。
小佐的算式也一樣,他點了四點血量最大,一點身體傷害,所以有218點血量,24點身體傷害,身體總傷害是5232。
* * * * * * * * * * * * * * * * * * *
「身體總傷害是5232」我說。
「原來如此」Arras回答「但是算出身體總傷害可以做什麼?」
「如果不考慮血量回復速度,身體總傷害大的,會在相撞中勝出」小佐回答「本例中因為血量回復速度相同,可以不管它。」
「原來如此,也就是說這場我會輸......」Arras回答。
「其實我用的方法還不是最加點法,但這先不急著算」小佐說「道是有一點我想問問你們」
「?」我和Arras看著小佐,等著他把問題說出來。
「請問」小佐說「剛好把Arras撞死時,我剩下多少點血量?」
「這要怎麼算?」Arras立刻做出這樣子的反應。
「這有個公式,是......」我還沒說完,又被小佐打斷。
「不要只告訴他公式,要推導給他看」小佐說「不知道來由的公式你記得起來嗎?」
「呃......」我又陷入無可反駁的困境。
「現在Diep.io連不上,有點難解釋......」小佐一邊重刷著頁面,一邊說著。
就在這個時候,小魚君老師突然進來說:「時間到了,東西收一收趕快離開。」
我們只好先收拾東西準備回家。
* * * * * * * * * * * * * * * * * * *
我現在在家中,完成了根本沒有多少的作業,然後打開了Discord。
這時,我看到小佐傳了個訊息過來:
小佐:「Diep.io復活了」
我 :「真的假的?應該不是你回去的時候走太快撞到學姐然後就撞昏頭了吧」
小佐:「你不要亂說,跑太快的是別人不是我」
小佐:「復活了是真的,你可以自己打看看網址,reddit上面也有在討論」
我 :「嗯,的確成功進去了」
小佐:「這樣明天就可以跟Arras好好解釋了,是說你解開那題了嗎?」
我 :「當然解開了,答案是......」
三、血量值的計算[]
這是禮拜五的放學時間,在電腦教室。
「終於到了阿」我和小佐邊看著Arras的到來,邊說這句話。
「抱歉」Arras回答「因為有點事,所以晚了點」
「算了,不用計較」小佐說「他很忙的。」
我們很快的把電腦開機後,打開了Diep.io。
「回到上次的問題吧」小佐說「你上次點了五點血量最大,我則是點了四點血量最大、一點身體傷害」
小佐很快的把兩臺坦克的技能點好,為了要快點讓雙方相撞,他也把移動速度點滿了。
「來看看結果」小佐邊說,邊操控著兩臺坦克,使其相撞。
「真的耶」Arras露出了感到不可思議的表情「還真得是我撞輸了......」
「這個是上次說的結論」我說「但是小佐的問題是撞完的那一瞬間,贏的那方還有多少的血量。」
「不急」小佐說「我們還有約半小時,可以從頭開始講起。」
於是,小佐開始進行了一些解說:
* * * * * * * * * * * * * * * * * * *
雖然我給你的血量消耗和你給我的血量消耗是不相同的,但我們雙方互相給予的傷害是相同的。
意思就是相撞時,你給我一點傷害,我也會給你一點傷害;我給你十點傷害,你也會給我時點傷害。
這是傷害計算的最基本概念。
* * * * * * * * * * * * * * * * * * *
「這是傷害計算的最基本概念。」小佐說
「還可以理解一些」Arras說「大家給的傷害都是一樣的嘛」
「對」小佐回答「造成血量耗損不同的原因是來自身體傷害」
「原來」Arras說
「這樣就可以進行到下一階段了」小佐邊說,邊寫下一行算式。
「?????」Arras的頭頂突然開始冒煙,還好電腦教室有冷氣,不然他應該已經燒起來了。
「你不是最愛剖析算式了,就交給你了」小佐突然把解說的接力棒丟給我。
「是是是,那我就來進行解釋吧」每次都在緊要關頭把我叫醒,真是的。我邊這麼想,邊開始進行解說:
* * * * * * * * * * * * * * * * * * *
首先,我們來做點簡單的假設,H就是消耗的血量,B就是身體傷害。而右下角標的數字就是哪一個人的。
例如就是第一個人消耗的血量,就是第二個人的身體傷害。
我們之前學過,血量乘身體傷害就是總傷害,也就是你可以造成的總傷害。
而你造成的傷害也相同的,是你造成這次傷害所消耗的血量乘上身體傷害。
以本例來說,第一個人消耗了的血量,而他有的身體傷害。
因此它造成的傷害是點。
* * * * * * * * * * * * * * * * * * *
「是點。」我說。
「不好意思請給我一點時間理解一下......」Arras回答。
於是Arras大概想了兩分鐘後,才露出了懂了的表情說「雖然不是很透徹,但是大致上可以懂了」
「如果懂了,那接下來的就簡單了」小佐說「假設第一個人去撞第二個人,那麼第一個人的造成的傷害就會和第二個人一樣。」
我和Arras專心聽著小佐講解。
「因此依照AC剛剛的假設,可以知道第一個人造成了點傷害,而第二個人則是點。」
「喔喔喔喔喔!」Arras突然跳起來「,我懂了!因為兩個人的造成的傷害一樣!」
「嗯,是啊。」小佐邊說,邊寫下另一行算式。
「Arras,這行算式的意思是......」我正要解釋這行算式的意思時,Arras突然喊了停。
「總覺得,我看得懂......請讓我自己來解釋看看......」Arras說出了這段話。
我跟小佐對視幾秒後,小佐首先開口:「好,就由你來解釋吧。不用說得太急,我們時間還很多」
我不自禁的看向時鐘,還有二十分鐘。
「就是這樣的......」Arras開始解釋「這個算式好像是在說我們的相撞,左邊是我消耗的血量乘以身體傷害......應該是吧。因為我被撞死了,所以消耗的血量是238,而因為我的身體傷害是0點,所以是20。把兩個乘起來,就是給小佐造成的傷害......」
我們張著耳朵認真聆聽著Arras得解說,它講的很清楚,很不錯。
「右邊的就是小佐消耗的血量,而乘上小佐的身體傷害......他好像點了一點,所以是24點...吧。」Arras說。
「很好」小佐回應「解釋得很完整,不像某個冒失鬼,常常漏講」說完並看了我一眼。
「是啊」我回應「就是這樣。」
「那這樣可不可以把解出來?」小佐繼續問。
「啊!可以這樣解出來」Arras回答「等等,小佐消耗了點血量,也就是說......」
Arras抬頭看我們,小佐示意他繼續說下去。
「小佐剩下的血量是218-點,也就是點」Arras激動的看著我們說。
「沒錯」小佐回應「這就是那題的解答。」
接著小佐熟練的輸入了顯示血量值的指令,並將兩人相撞。
「19.9?」Arras感到疑惑「雖然差不多,但不一樣耶。」
「你知道這時該誰出場了吧」小佐看著我說。
「是是是」我回應「是這樣的,你會回血,雖然回很慢。」
Arras恍然大悟的看著我。
「我們來精算吧」小佐說「我計了一下時,剛剛相撞的過程約五秒鐘,所以可以這樣算:」
* * * * * * * * * * * * * * * * * * *
0點血量回復時,每十五秒會回一點血量,剛剛撞了差不多五秒,也就是回點
把這個數加回去,可以得到更為精確的數據
* * * * * * * * * * * * * * * * * * *
「可以得到更為精確的數據」小佐說。
「但是還是不對啊」Arras繼續追問。
「因為我們用的秒數是我估計的,不是很精準」小佐說「加上Diep會把小數點第二位四捨五入,因此數據便不會那麼精確。」
「原來如此」Arras說「學問還真多呢。」
「怎麼可能這麼少」我插進來說了一句話「我們還可以告訴你更多。」
「慢慢來,不急」小佐徐徐說道。
「放學時間到了!」小魚君老師進來宣佈放學時間,我們只好收好東西後離開。
四、傷害量[]
這是午餐時光。
說實在我不是很喜歡學校的午餐,也不喜歡自己帶便當,所以常常會有訂餐而不吃。
今天,就是那樣的日子。
* * * * * * * * * * * * * * * * * * *
「欸欸」Arras跑來找我「我有問題想問一下。」
「什麼問題啊」我說「而且現在不是午餐時間嗎,你怎麼沒吃?」
「先不管那個了」Arras看起來很著急的樣子。
也是啦,都可以睡在學校了,午餐不吃有什麼好稀奇的呢?
「好好好,到底是什麼問題?」我說。
「就是」Arras開始闡述他的問題「昨天我在用Diep實驗的時候,我拿Twin和Triplet這兩臺坦克互打,很明顯是Triplet比較強吧!但是我竟然發現Triplet的傷害居然比Twin還要低,這是怎麼回事??」
「這個問題牽扯到Zollo傷害定理」我說「正好是我和小佐最近想和你出發探討的話題,你先別急,我們中午去借電腦教室吧。」
「還是先準備紙筆吧」背後突然傳出一個聲音。
* * * * * * * * * * * * * * * * * * *
「還是先準備紙筆吧」小佐從背後冒出來。
「為什麼?」我反問「用實例示範不是比較快嗎?」
「是這樣沒錯」小佐用一種不快也不慢的語速說「但是你是不是忘了性向測驗。」
「啊」我想起來了。
「那個......怎麼了?」Arras小聲的問著。
「這學年的性向測驗正在進行,每天午休會叫一個班到電腦教室實施」我說「看來是不用借了。」
「正是如此」小佐說。
「但是,為什麼要準備紙和筆?」我繼續問「連公式都不知道的Arras有辦法算嗎?」
「你哪一隻耳朵聽到要算東西」小佐回答「我是要Arras把它的問題寫下來,下次我們就針對哪些問題一一攻破。」
「原來如此」我說「真是個簡單的辦法。」
「但我們還是要講解一次傷害定理」小佐說「把不會的問題一一寫下吧,Arras。」
「嗯......好......」Arras接過紙,開始想問題。
「至於你啊」小佐看著我說「回去再讀點傷害定理,加深印象吧,我會cue你喔。」
「是是是」我回。
「那就明天放學,五點二十,電腦教室」小佐說。
隔日,下午五點二十。
「這次大家都這麼準時」小佐說。
「因為你帶著Arras,他要是趕遲一秒它可能就......」話還沒說完,我的嘴就被小佐摀住了。
「不用理他」小佐說「趕快開始今天的討論吧。」
我們打開電腦,準備就緒。
* * * * * * * * * * * * * * * * * * *
「今天的主題很簡單」小佐這麼說。
「是什麼?」Arras問道。
「傷害係數」小佐邊回應,邊在記事本打上這四個字。
「果然很簡單」我說。
「????????」顯然地,Arras毫無頭緒。
「交給你了」小佐說。
我也早就想到會發生這種事了,每次關鍵時刻都會丟給我,我開始解釋。
* * * * * * * * * * * * * * * * * * *
假設Tank的子彈傷害是1,則某坦克的子彈傷害為X
這個X就是某坦克的子彈傷害係數,簡稱傷害係數
* * * * * * * * * * * * * * * * * * *
「簡稱傷害係數」我回應。
「原來啊......」Arras小聲驚嘆。
「舉個例子吧」小佐說「假設Tank的子彈傷害為1,則Twin的子彈傷害為0.65。所以Twin的傷害係數為0.65。」
「嗯,我知道了」Arras回答。
「所以」我插了一下話「可以知道傷害係數越高,子彈傷害越高。」
「不對」小佐說「你漏了一個條件,子彈穿透跟子彈傷害技能點要一樣。」
「所以」Arras說「是因為Twin的傷害係數比Triplet還要高嗎?」
「是這樣沒錯」小佐說「但是Triplet有三個砲管,Twin只有兩個,把傷害係數分別乘上砲管數目,還是Triplet略勝一籌。」「這個叫做子彈總傷害係數,簡稱總傷害係數。」
「是指總共的傷害對吧」Arras這麼說。
「是這樣沒錯」我繼續說「透過這些......」直到Arras說出一句話。
「總覺得,很像原子量呢」Arras這麼說。
「???」我有些不解。
「咦......我說了奇怪的話嗎......不好意思」Arras說。
「的確有點像呢」小佐示意Arras繼續說。
「就是......」Arras繼續說「原子量就是12C的重量設為12,再比較出其它原子的重量。[1]這裡則是將Tank設為1,其它的再比較......」
「就是這樣」小佐說「的確是有那麼幾分相近的。」
「放學時間到」小魚君老師進來宣佈放學。
五、團隊[]
這是暑假的一天,我、Arras、小佐三人在Discord上通話,玩著Diep.io。
「算出來了,當他的血量低於30就可以狙擊了。」小佐把計算好的數據丟給我。
「是,收到。」我一邊看著Arras在前方消磨敵人的血量,一邊盯著敵人血量值。
低於30了,我看了之後按下滑鼠,子彈飛了出去。
一發斃命。
「任務完成。」我說。
「完美。」小佐回應。
「先退回去吧」Arras說。
* * * * * * * * * * * * * * * * * * *
回到幾天前,我向他們提出了這個組隊計畫。
這是一個三人團隊,Arras負責在前方磨敵人血量,小佐負責計算該人的身體傷害(必要時會負責阻擋逃跑路徑),而我則在遠方,接收小佐的數據,在正確的時刻把對方一發終結。
「這可能可以試試看,雖然說難度有點高,變數也很多」小佐說。
「等等,我要在前面......磨敵方血量???」Arras有點驚恐的說
「放心,我們會做點訓練的,何況你只要用多子彈型坦克就行了」我這麼說。
「那就暑假約一天吧,我們來玩看看」小佐說。
* * * * * * * * * * * * * * * * * * *
「這次玩的還蠻順利的」小佐說。
「是阿」我說「前面試了十次,不是敵人跑了,就是我沒有瞄好。」
「嗯」Arras說道「雖然感覺AC都在撿尾刀,但其實要真的描中也是不簡單的。」
「好,所以成功率是9.1%左右」小佐這麼說「目前來看是這樣。」
「目標是至少要有50%成功率!」Arras這麼說。
「呃,這好像有點低」我回答「再來練吧」。
「不了,之後吧,我要睡了」小佐回說。
「嗯好,晚安」跟小佐到了晚安後,我就先下線了。