[原創(chuàng)]MHR護(hù)石系統(tǒng)的一種可能解釋
咸魚老獵人自知技術(shù)不過硬,本身對刷極限護(hù)石得極限配裝沒有太大興趣,不過最近也看了一些護(hù)石、痛風(fēng)相關(guān)的討論,突然想到了一種對現(xiàn)在MHR護(hù)石偽隨機系統(tǒng)的一個看起來比較合理的解釋,以及對月底更新以后可能出現(xiàn)的情況做一個簡單預(yù)測,如果早就有人提出了同樣的看法那就權(quán)當(dāng)我火星了
?
首先我們來總結(jié)一下目前發(fā)現(xiàn)的護(hù)石表的特點:
1,很多獵人發(fā)現(xiàn)自己在痛風(fēng)表里面不斷循環(huán)
2,一張表前面可以有不同的分支,都有可能進(jìn)入同一張表
3,有一定概率從一張表“跳”到另一張表,且已經(jīng)摸索出了部分表確定的下一張表
4,不同表的大小并不相同
5,也有很多人發(fā)現(xiàn)自己刷的護(hù)石都不在目前總結(jié)的內(nèi)容中
看到這里我第一反應(yīng)就是很奇怪,卡普空怎么會有鬼才設(shè)計出這么復(fù)雜的一套偽隨機系統(tǒng)來生成護(hù)石?因為用偽隨機是很好理解的,但是搞得這么復(fù)雜且不穩(wěn)定顯然違背了程序設(shè)計的基本原則而且毫無意義。但結(jié)合一些從洋流、大氣相關(guān)科普視頻得到的靈感,我找到了一個可以解釋目前這個護(hù)石偽隨機系統(tǒng)的簡單理論。
本人并非數(shù)學(xué)/計算機專業(yè)學(xué)生,在解釋過程中可能會有專業(yè)名詞的誤用,還請大佬指正。
?
首先從目前已知的信息結(jié)合偽隨機設(shè)計的初衷,我們可以得出以下基本原則:
a,? 當(dāng)刷出一個確定的護(hù)石,則下一個護(hù)石一定是唯一確定的;(不然就還要在游戲流程內(nèi)引入隨機性,偽隨機的設(shè)計前功盡棄)
b, 護(hù)石一定是可以無限生成的,可能會循環(huán)但不可能出現(xiàn)沒有下一個護(hù)石的情況
c,? 兩個不同護(hù)石的下一個可以指向同一個護(hù)石(由上述特點1+3可知)
那么根據(jù)這幾個原則,我們就可以假設(shè):
一、??????????? 在游戲發(fā)售的時刻,所有玩家并非在創(chuàng)建存檔的時候隨機到一張一維的護(hù)石表,而是共享一張二維(或更高)的護(hù)石表。這張表可能非常龐大,我沒有仔細(xì)考察現(xiàn)有數(shù)據(jù)所以也估計不出這張總表的數(shù)量級。
二、??????????? 每一個護(hù)石都是表上的一個點,同時有一個向量指向接下來會出的下一個護(hù)石。
三、??????????? 該表可能沒有邊界(并不是無限大,想象地球表面),也可能有邊界但邊界處的所有護(hù)石都指向表內(nèi)(由原則b可知)
四、??????????? 每個玩家創(chuàng)建存檔的時候,并非從數(shù)張隨機的表中選取一張,而是在這張總表上隨機一個起點,之后出護(hù)石的順序便不再變化
?
這么說可能太抽象了,我來舉一個簡單的例子:這是一張3x4的有邊界的符合上述假設(shè)的表:

?
那么這么一個理論可以解決什么問題呢?
首先,它足夠簡潔??ㄆ湛罩恍枰谟螒虬l(fā)售之前制作一張護(hù)石表,無論這張表本身有多復(fù)雜,都不需要后續(xù)任何其他操作,它以相同的形態(tài)放在所有玩家的游戲數(shù)據(jù)里就可以了。而給每個存檔隨機一個起點的操作顯然比隨機一張表然后再考慮從一張表跳到另一張表要方便許多。
其次,它滿足偽隨機的要求。不在游戲過程中引入隨機性,這點的考慮很多大佬已經(jīng)分析過了,就是1.減少運算成本,2.防止玩家花大量時間琢磨如何通過物理SL改變護(hù)石結(jié)果,而不去刷怪。(雖然我就是要暴力地延長你的游戲時間,但你也必須要用我希望的方式(反復(fù)刷怪)去得到護(hù)石,不要動歪腦筋)
而且,它完美地解釋了循環(huán)的產(chǎn)生。在滿足以上所有基本原則的前提下畫出的任何一張表(無論是二維的還是多維的,無論有沒有邊界)最后一定會產(chǎn)生至少一個由有限個元素組成的循環(huán)。(這個理論不是我提出的,但叫什么我不記得了)如果不信,可以去自己嘗試一下,然后檢查一下:是否每個點都唯一指向下一個點?是否存在指向表外的點?
?
那么,幾個衍生結(jié)論:
1, 那些可以“跳出”的表,并不是真正的循環(huán),而是在總表上一些很多分支都會進(jìn)入的“主干線”,因為出現(xiàn)頻率高而被記錄了下來。真正的循環(huán)如痛風(fēng)表都是無法跳出的。
2, 因為總表的規(guī)模未知,所以短時間內(nèi)不太可能把完整的總表統(tǒng)計出來,因為很可能有很多玩家“出生”在表上很偏遠(yuǎn)或小眾的分支上,這部分?jǐn)?shù)據(jù)幾乎無法統(tǒng)計。(當(dāng)然目前大佬的工作已經(jīng)總結(jié)出了這張總表主干線上的大致樣貌,這部分工作是大家的共同努力的結(jié)果,是十分可敬的)
3, 如果卡普空在接下來的更新中不修改這個偽隨機產(chǎn)生的整體機制,而只是重新隨機了這張表上的向量,或者重新隨機了表上所有的護(hù)石,類似的“痛風(fēng)”表都會永遠(yuǎn)存在,這是這個機制本身無法避免的。(而我雖然希望,但不太相信卡普空會為了修改這個bug就重寫護(hù)石系統(tǒng)的底層邏輯)在這種情況下,我們只能祈禱新表的每一個循環(huán)中都存在痛2S2的護(hù)石了。
4, (接上條)有人可能會幻想在這樣一張總表上出現(xiàn)無限不循環(huán)的護(hù)石順序,很遺憾,這是不可能的,具體原因就在于原則a,可以自己畫兩張簡單的表嘗試一下
【本文為原創(chuàng),NGA上是我委托同學(xué)幫忙發(fā)的】