特指那些在太空附近出沒,或者是太空獨有的怪物,太空怪種類(wiki)
0.背景
之前發了一條關於太空刷怪機制測試的動態(已刪除),本以為沒有問題,結果第二天就測出大量異常,因此,經過二次測試,現敲定太空刷怪機制[1.4.0.5]。
1.世界高度(大世界)
打開一張大地圖向上飛,會發現人物能到達的最高高度一定,即1210 太空(不固定,分地圖)wiki上對於太空範圍的描述(見下圖)
那麼先假設1210是世界頂部高度,對太空釣魚最小高度進行核驗:1210×0.5=605;
然而,實測太空釣魚最小高度約為648(魚漂中心/水面高度;而且對於釣魚來說,水面座標高度只有偶數[不足一格的水也視為一格]);同理,對困難模式前太空刷怪高度進行核驗:1210×0.65≈786;
這與實測值842也有較大差距。
因此,選取1210這個值計算是錯誤的。
再次查看地圖,注意到地圖四周還存在一圈不可到達的"黑框",於是重新假設黑框邊界為地圖邊界;經測量(手動測量格數),1210上方還有一個約44格高的空間,即上邊界高度約為1298。
接下來,使用了相同方法測量了下邊界,約為-3500,世界高度1298-(-3500)=4798;
對比wiki,發現比較符合(地圖顯示還是準的)
對太空釣魚高度進行核驗:1298×0.5=649;
困難模式前太空刷怪高度:1298×0.65≈843;
這些值與實測值符合得很好。因此,1298這個值即為可選用計算值。
那麼,困難模式太空刷怪高度:1298×0.55≈713(實測712);
2.太空怪生成規則(大世界、困難模式)[1.4.0.5]
*首先明確,深度計顯示了玩家腳踩的高度(wiki)*為方便說明,使用圖格[下邊界所在高度]來代表整個圖格(下圖中用692代表了腳踩的那格)
正常來說,太空怪只會遵循其獨有的生成方式生成(wiki)即無下落(無物塊)刷怪,具體為選定一個圖格後,直接看圖格上方有無2×3可用空間。這種刷怪方式導致了實際上生成需要2×4-1格空間(見下圖)
那麼,三格高的空間將阻止這種生成(見下圖)
帶著這個思路,就得到了之前動態的結果。然而,至少在[1.4.0.5],測試時總會觀察到這種情況:
顯然,這種情況下太空怪遵循了下落(需物塊)生成(wiki)具體為需要下落到實體物塊上,選定圖格後,可在2×3空間內生成:
因此,帶著這個思路,對於太空怪的生成進行第二輪測試,具體結果如下:
2.1.正常太空刷怪部分(無下落刷怪)
範圍:從712這一格(0.55倍地圖上邊界高度)開始,一直到地圖上界;
刷怪方式:無下落生成;
2.2.非正常太空刷怪部分(下落刷怪)
①"過渡帶"
範圍:從694這一格開始,一直到712這一格結束;
特性:從694開始,可刷太空怪的範圍,由[只能]接觸安全範圍上邊界(即標尺距離39),向上逐漸增加(每格加一)到整個刷怪矩形上部可刷怪範圍(即標尺距離39到49);
意思是說,對於694這一格,只能是在標尺距離39(比如距離40就不生成太空怪),且其下部有實體方塊時,才能生成太空怪(參考上圖理解);
則對於696,為標尺距離39和40時,滿足條件可生成太空怪;
以此類推,698為標尺距離39、40和41生成;
700為標尺距離39、40、41和42生成;
最終到712,剛好為39到48都能生成。
刷怪方式:下落生成;
*如果沒搞錯的話,[小世界]沒有這一段;
②"穩定帶"
範圍:從714開始,到840結束;
特性:沿用712這一格的特性,有實體物塊時,太空怪和地表怪都能在其上生成,否則按正常太空怪生成方式只生成太空怪;(巧合的是,840剛好是地表怪停止刷新的前一格,842[0.65倍地圖上邊界高度]開始,將不會有任何地表怪生成);
刷怪方式:下落生成、無下落生成;
3.總結與啟示
3.1總結
總體來說,太空刷怪的正常部分應該是通用的;而對於非正常部分,現有以下猜想:
①是有意為之。1.4更新後,對太空怪生成做出平滑化處理,使太空怪生成更連續、更容易(可以參考地下沙漠的改動,在1.4對於其判定需求做出了簡明化處理);
②是某種調用bug(地獄鳥妖.jpg)。即太空怪的生成部分調用了地表怪生成的機制,這也就解釋了為什麼非正常部分在842結束;
3.2啟示(數據不固定,下面有計算方法)
①在遊玩大地圖時,至少可以不用深度計就知道哪裡可以得到太空漁獲;
②掌握了太空怪刷新高度(特指困難模式),結合刷怪矩形大小,可以在合適高度封頂,使得在此頂部以下任意活動,都不會刷新任何太空怪(見下圖)
*3.3世界頂部高度計算方法
由於測試用的大地圖所得數據只能作為參考,實際計算用的高度在不同地圖一般不一樣。不過這個高度仍然可以準確取得:
第一步:獲取當前世界可到達的最高高度座標(深度計或數物塊格數,前期可用繩子從0 地表開始計數);
第二步:
①小世界:第一步所得座標+86(或物塊+43-3格[如果物塊一直放到頂,要減3格,反之不需要減])即為計算用高度;
②中世界:第一步所得座標+86(或物塊+43-3格)即為計算用高度;
③大世界:第一步所得座標+86(或物塊+43-3格)即為計算用高度;
第三步:帶入wiki所給乘數(0.5×、0.55×、0.65×)計算所需高度[*如果座標整數部分是奇數則向上取整;或者說對圖格小數部分四捨五入,見例2、例3]
*所得數據意義:
以所用地圖高度為例,假設現想要得知該地圖困難模式下太空怪生成的起始圖格,過程如下:
例1
解:
①找到最高可到達高度,為座標1210(或從0高度向上608格[605格時剛好與1210平齊,608格剛好放到邊緣]);
②因為是大世界,所以計算用高度1210+86=1296;
或608+43-3=648(格);
③1296×0.55=712.8;
或648×0.55=356.4(格);
這個值在712~713之間,所以生成的起始圖格是以712為下邊界,714為上邊界的那一格;
或者說,那一格與0高度之間有356格,即那一格是第357格。
④如果想進一步求得非正常生成起始圖格,那麼只需要在③所得圖格座標基礎上減去18(或9格);
或者說是以694為下邊界,696為上邊界的那一格。
求取完畢。
例2
如題,為小世界,困難模式,現想得知該地圖困難模式下太空怪生成起始圖格、以及太空漁獲起始高度,過程如下:
解:
①找到最高可到達高度,為座標586(或從0高度向上296格[293格時剛好與586平齊,296格剛好放到邊緣]);
②因為是小世界,所以計算用高度586+86=672;
或296+43-3=336(格);
③先求太空漁獲高度:
672×0.5=336;
或336×0.5=168(格);
這個值是336,意思是釣魚用的水面至少要與高於這個高度,才能釣到太空漁獲;
或者說從0高度向上放168個方塊,水面至少要高於第168格上邊界。
再求太空怪起始生成圖格:
672×0.55=369.6;
或336×0.55=184.8(格);
這個值在369~370之間,向上取整為370,所以生成圖格是以370為下邊界,372為上邊界的那一格;
或者說,184.8四捨五入為185,那一格與0高度之間有185格,即那一格是第第186格。
求取完畢。
例3
如題,為中世界,困難模式,現想得知該地圖困難模式下太空怪生成起始圖格、以及太空漁獲起始高度,過程如下:
解:
①可到達頂部高度為座標896(或從0高度向上451格[448格剛好與896平齊,451格剛好放到邊緣]);
②因為是中世界,所以計算用高度896+86=982;
或者451+43-3=491(格);
③先求太空漁獲高度:
982×0.5=491;
或491×0.5=245.5(格);
在這裡,我們發現座標491是一個奇數,所以向上取最近的偶數[想想看,圖格上下邊界座標都是偶數],即492,那麼釣魚用水面至少要與這個高度平齊,才能釣到太空漁獲;
或者對於圖格數245.5來說,它的小數部分是5,所以整體進位,即246,就是說從0高度向上放246個方塊,水面至少要與第246格上邊界平齊;
按慣例求困難模式下太空怪起始圖格:
982×0.55=540.1;
或者491×0.55=270.05(格);
這個座標是540.1,介於540~541之間,所以生成的起始圖格是以540為下邊界,542位上邊界的那一格;
或者說,由圖格數270.05四捨五入,為270格,那一格與0高度之間有270格,即那一格是第271格。
④進一步求得非正常生成起始圖格:
座標540-18=522;
或270-9=261(格);
即以522為下邊界,524為上邊界的那一格。
求取完畢。
4.補充(來源於已刪除動態):判斷人物是否在地下要看人物上邊界在不在0 地表以下;
判斷人物是否在地牢環境要看人物中心在不在0 地表以下;沒了,就這麼多