鋼琴經驗倒扣 - 仙境傳說
![Lauren avatar](/img/cat5.jpg)
By Lauren
at 2016-05-28T00:52
at 2016-05-28T00:52
Table of Contents
原文吃光光
看了引用的巴哈的那篇文章
覺得不出來講點話似乎有點對不起版眾XD
於是再度上浮換氣
關於經驗值計算的部分, 可以參考我先前的文章 #1JQyc3S_ (RO)
所以這篇文章的重點在於
1. 探討 RO 經驗值計算溢位的現象的相關推論
2. 根據第一點的推論, 簡單列出幾個會造成經驗值溢位的狀況給大家參考
首先必須要鄭重聲明
RO 經驗值計算溢位是因為使用浮點數 這件事完全是錯的
證據有以下
1. 人物並不會獲得非整數的經驗值
所有曾經看過經驗值取得的遊戲資訊 應該都會知道這件事
無論是人物擁有的經驗值 或是擊倒魔物取得的經驗值 都不會有小數點以下的零頭
遊戲設計不會為了不會出現小數的經驗值, 去使用非整數的儲存方式
因為 a. 沒必要 b. 浮點數運算比整數運算慢 c. 整數運算比較不會有誤差問題
寫程式的人一定會用整數 原因應該 a >>>>>>> b >> c
2. 32位元浮點數 能夠處理的數字範圍其實並不會造成溢位的問題
32位元浮點數能表達的數值精確度範圍, 大約是 10^-37~10^38
翻譯成白話來說 如果使用浮點數運算
就算 RO 出了一隻經驗值是 10000 隻覺醒鋼琴總和這麼多經驗的怪
差不多也只是浮點數能表達的範圍的 0.000000000000000000001% 左右
不過使用 32位元浮點數, 會有很恐怖的誤差 (但是通常不會導致正負號弄錯..)
以上這些都不重要 重點是 不可能是浮點數導致這個問題
至於浮點數如何表達正負數的部分 其實就不是很重要所以不想講orz...|||
有興趣的請自己去查..
以下是我個人的推論, 雖然有一點點根據, 不過還是需要測試才能證明
問題是......測試很麻煩, 所以我懶得測 (被揍
第一個推論是溢位的是32位元整數
因為這是很常使用的儲存整數用的資料格式
32位元無號整數不會有溢位變負的問題
而64位元整數絕對可以處理我們計算的經驗值
第二個推論是溢位的是單一魔物被擊殺時, 分配給所有成員的總經驗
因為當經驗溢位時, 全隊都是拿到負經驗 (當然, 除了死掉.不在現場.或是沒均分之類)
這代表 DAIDAI/吃書 是無辜的, 你不會因為打手或自己有特殊的經驗狀態而拿到負經驗
這個部分, 只要考慮DAIDAI狀態跟經驗書 都無法讓隊友獲益 應該可以大概理解
第三個推論是最有趣也最重要的, 也就是溢位的標準是 21,474,836
32位元有號正整數上限是 2,147,483,647
而我推論的這個值是這個數字的 1/100, 這當然不是隨便湊的
我們有幾個已知的鋼琴團數字可以參考
1. 12人均分隊伍, 全部人碰一下王, 其中一個打手打了極高比率 => 變負的GG
2. 12人均分隊伍, 全部人打到王, 兩個人約略平均分攤傷害 => 還是正的
3. 12人均分隊伍, 只有一個人打到王 => 還是正的
不考慮經驗懲罰, 全隊經驗的部分, 1 大約是 31,069,440
2 大約是 15,534,720
3 大約是 20,044,800
接下來就要講為什麼有那神秘的 1% 標準
我認為那是因為工程師寫經驗計算, 要避免處理小數, 所以用了一些自己方便的寫法
因為雖然人物取得的經驗跟魔物擊倒的經驗都是整數
但是經驗書有50%, 經驗鞋有10%, 神奇幸運帽還有 3% 這種數字
公式原本應該是 團隊獲得經驗 / 均分人數 * 個人經驗倍率
但是實際上寫成 團隊獲得經驗 * 100 / 均分人數 * 個人經驗倍率%
然後團隊獲得經驗 * 100 造成溢位, 算出來就是負的
而且後面有經驗書跟 DAIDAI 還會負更多...
根據這個推論, 以下列出幾個鋼琴團滿團均分可能會造成問題的狀況
1. 打手只有一名, 包含打手有超過三人打到王
2. 打手超過一名, 所有人都有碰到王, 但是其中一人打造成超過69.1%以上傷害
有興趣的人可以拿以上兩點來做實驗..
尤其如果第二點證明是正確的, 那就保證我猜的是對的...
另外還有一個有趣的地方, 就是如果我說的沒錯, 而且這個問題之後沒有(打算)修正
以後就不會出經驗卡裝增加幅度單位是百分比, 然後值還有小數點的 (例如說2.5%)
最後我想說, 這很明顯是 BUG, 而且嚴重影響遊戲體驗
等到回歸原廠之後, 寄信寄爆G社 或許就有機會修了
END 懶人包
1. 就是 BUG, 而且還是每天大家都可能遇到的 BUG, 只能等原廠解
2. 滿團均分鋼琴, 打手最好能找兩個, 不要讓有人打到 70% 以上傷害
3. 只有一個打手的時候
a. 除了打手之外其他最好都不要打 (因為超過三個人打到就可能會溢位了..)
b. 大家努力打, 分攤掉鋼琴30%HP的傷害 (大約是565萬HP)
其實 3.b 比 3.a 容易達成 (因為跟人有關的事情都會有意外..)
只是打手如果是基因, 少了一些天怒加持 火煙組會丟比較多一些
--
純屬個人推論 不要起爭議
有爭議 請G社出來面對就搞定
--
看了引用的巴哈的那篇文章
覺得不出來講點話似乎有點對不起版眾XD
於是再度上浮換氣
關於經驗值計算的部分, 可以參考我先前的文章 #1JQyc3S_ (RO)
所以這篇文章的重點在於
1. 探討 RO 經驗值計算溢位的現象的相關推論
2. 根據第一點的推論, 簡單列出幾個會造成經驗值溢位的狀況給大家參考
首先必須要鄭重聲明
RO 經驗值計算溢位是因為使用浮點數 這件事完全是錯的
證據有以下
1. 人物並不會獲得非整數的經驗值
所有曾經看過經驗值取得的遊戲資訊 應該都會知道這件事
無論是人物擁有的經驗值 或是擊倒魔物取得的經驗值 都不會有小數點以下的零頭
遊戲設計不會為了不會出現小數的經驗值, 去使用非整數的儲存方式
因為 a. 沒必要 b. 浮點數運算比整數運算慢 c. 整數運算比較不會有誤差問題
寫程式的人一定會用整數 原因應該 a >>>>>>> b >> c
2. 32位元浮點數 能夠處理的數字範圍其實並不會造成溢位的問題
32位元浮點數能表達的數值精確度範圍, 大約是 10^-37~10^38
翻譯成白話來說 如果使用浮點數運算
就算 RO 出了一隻經驗值是 10000 隻覺醒鋼琴總和這麼多經驗的怪
差不多也只是浮點數能表達的範圍的 0.000000000000000000001% 左右
不過使用 32位元浮點數, 會有很恐怖的誤差 (但是通常不會導致正負號弄錯..)
以上這些都不重要 重點是 不可能是浮點數導致這個問題
至於浮點數如何表達正負數的部分 其實就不是很重要所以不想講orz...|||
有興趣的請自己去查..
以下是我個人的推論, 雖然有一點點根據, 不過還是需要測試才能證明
問題是......測試很麻煩, 所以我懶得測 (被揍
第一個推論是溢位的是32位元整數
因為這是很常使用的儲存整數用的資料格式
32位元無號整數不會有溢位變負的問題
而64位元整數絕對可以處理我們計算的經驗值
第二個推論是溢位的是單一魔物被擊殺時, 分配給所有成員的總經驗
因為當經驗溢位時, 全隊都是拿到負經驗 (當然, 除了死掉.不在現場.或是沒均分之類)
這代表 DAIDAI/吃書 是無辜的, 你不會因為打手或自己有特殊的經驗狀態而拿到負經驗
這個部分, 只要考慮DAIDAI狀態跟經驗書 都無法讓隊友獲益 應該可以大概理解
第三個推論是最有趣也最重要的, 也就是溢位的標準是 21,474,836
32位元有號正整數上限是 2,147,483,647
而我推論的這個值是這個數字的 1/100, 這當然不是隨便湊的
我們有幾個已知的鋼琴團數字可以參考
1. 12人均分隊伍, 全部人碰一下王, 其中一個打手打了極高比率 => 變負的GG
2. 12人均分隊伍, 全部人打到王, 兩個人約略平均分攤傷害 => 還是正的
3. 12人均分隊伍, 只有一個人打到王 => 還是正的
不考慮經驗懲罰, 全隊經驗的部分, 1 大約是 31,069,440
2 大約是 15,534,720
3 大約是 20,044,800
接下來就要講為什麼有那神秘的 1% 標準
我認為那是因為工程師寫經驗計算, 要避免處理小數, 所以用了一些自己方便的寫法
因為雖然人物取得的經驗跟魔物擊倒的經驗都是整數
但是經驗書有50%, 經驗鞋有10%, 神奇幸運帽還有 3% 這種數字
公式原本應該是 團隊獲得經驗 / 均分人數 * 個人經驗倍率
但是實際上寫成 團隊獲得經驗 * 100 / 均分人數 * 個人經驗倍率%
然後團隊獲得經驗 * 100 造成溢位, 算出來就是負的
而且後面有經驗書跟 DAIDAI 還會負更多...
根據這個推論, 以下列出幾個鋼琴團滿團均分可能會造成問題的狀況
1. 打手只有一名, 包含打手有超過三人打到王
2. 打手超過一名, 所有人都有碰到王, 但是其中一人打造成超過69.1%以上傷害
有興趣的人可以拿以上兩點來做實驗..
尤其如果第二點證明是正確的, 那就保證我猜的是對的...
另外還有一個有趣的地方, 就是如果我說的沒錯, 而且這個問題之後沒有(打算)修正
以後就不會出經驗卡裝增加幅度單位是百分比, 然後值還有小數點的 (例如說2.5%)
最後我想說, 這很明顯是 BUG, 而且嚴重影響遊戲體驗
等到回歸原廠之後, 寄信寄爆G社 或許就有機會修了
END 懶人包
1. 就是 BUG, 而且還是每天大家都可能遇到的 BUG, 只能等原廠解
2. 滿團均分鋼琴, 打手最好能找兩個, 不要讓有人打到 70% 以上傷害
3. 只有一個打手的時候
a. 除了打手之外其他最好都不要打 (因為超過三個人打到就可能會溢位了..)
b. 大家努力打, 分攤掉鋼琴30%HP的傷害 (大約是565萬HP)
其實 3.b 比 3.a 容易達成 (因為跟人有關的事情都會有意外..)
只是打手如果是基因, 少了一些天怒加持 火煙組會丟比較多一些
--
純屬個人推論 不要起爭議
有爭議 請G社出來面對就搞定
--
Tags:
仙境傳說
All Comments
![Jacob avatar](/img/cat4.jpg)
By Jacob
at 2016-05-28T07:04
at 2016-05-28T07:04
![Regina avatar](/img/girl.jpg)
By Regina
at 2016-05-29T12:23
at 2016-05-29T12:23
![Tristan Cohan avatar](/img/cat5.jpg)
By Tristan Cohan
at 2016-06-02T03:00
at 2016-06-02T03:00
![George avatar](/img/dog1.jpg)
By George
at 2016-06-03T23:39
at 2016-06-03T23:39
![Selena avatar](/img/girl1.jpg)
By Selena
at 2016-06-06T18:08
at 2016-06-06T18:08
![Adele avatar](/img/girl2.jpg)
By Adele
at 2016-06-07T04:02
at 2016-06-07T04:02
![Blanche avatar](/img/girl3.jpg)
By Blanche
at 2016-06-08T06:14
at 2016-06-08T06:14
![Oliver avatar](/img/dog2.jpg)
By Oliver
at 2016-06-09T20:34
at 2016-06-09T20:34
![Irma avatar](/img/girl4.jpg)
By Irma
at 2016-06-10T18:48
at 2016-06-10T18:48
![Ethan avatar](/img/girl5.jpg)
By Ethan
at 2016-06-11T03:59
at 2016-06-11T03:59
![Agnes avatar](/img/woman.jpg)
By Agnes
at 2016-06-15T11:18
at 2016-06-15T11:18
![Rebecca avatar](/img/woman-biz.jpg)
By Rebecca
at 2016-06-16T09:35
at 2016-06-16T09:35
![Tracy avatar](/img/woman-glasses.jpg)
By Tracy
at 2016-06-20T01:46
at 2016-06-20T01:46
![Yedda avatar](/img/woman-ring.jpg)
By Yedda
at 2016-06-23T13:07
at 2016-06-23T13:07
![Edward Lewis avatar](/img/cat1.jpg)
By Edward Lewis
at 2016-06-26T14:36
at 2016-06-26T14:36
![Edward Lewis avatar](/img/cat2.jpg)
By Edward Lewis
at 2016-06-30T21:17
at 2016-06-30T21:17
Related Posts
各位都收得到gnjoy認證信嗎
![Edward Lewis avatar](/img/woman.jpg)
By Edward Lewis
at 2016-05-27T21:20
at 2016-05-27T21:20
帳號資料修改相關問題
![Brianna avatar](/img/girl.jpg)
By Brianna
at 2016-05-27T17:47
at 2016-05-27T17:47
霧林迷宮旅遊團開團
![George avatar](/img/cat1.jpg)
By George
at 2016-05-27T13:42
at 2016-05-27T13:42
鋼琴經驗倒扣
![Ethan avatar](/img/girl1.jpg)
By Ethan
at 2016-05-27T04:39
at 2016-05-27T04:39
平射狼遊出裝問題
![Eden avatar](/img/cat2.jpg)
By Eden
at 2016-05-26T18:37
at 2016-05-26T18:37