ucbug軟件站:安全、綠色、放心的專業(yè)下載站!首頁|最近更新|專題集合|標簽云|站內(nèi)導(dǎo)航|加入收藏

《星露谷物語》運勢系統(tǒng)代碼解析

時間:2016-06-09 10:27:07來源:未知人氣:0

《星露谷物語∵/∵像素谷》中運勢系統(tǒng)是怎樣的呢?很多玩家都不了解。下面小編帶來《星露谷物語∵/∵像素谷》運勢系統(tǒng)代碼分析,一起來看吧?!遧z4月末入手stardew∵valley,玩了一個檔??...

《星露谷物語 / 像素谷》中運勢系統(tǒng)是怎樣的呢?很多玩家都不了解。下面小編帶來《星露谷物語 / 像素谷》運勢系統(tǒng)代碼分析,一起來看吧。

  lz4月末入手stardew valley,玩了一個檔?;旧夏芡娴脑囟纪娴搅耍X得這個游戲的許多地方都很有趣,重要的是這個游戲是xna的,因此想看一下。在網(wǎng)上也沒有什么比較好的關(guān)于運勢系統(tǒng)的分析攻略,所以就選擇了這個來分析?,F(xiàn)場碼字可能比較慢。首先打開游戲中的人物狀態(tài)這里,發(fā)現(xiàn)有5個人物的屬性等級,farming,mining,foraging,fishing,combat這5個技能類型,在這里lz發(fā)現(xiàn)其實同等級的技能類型不止有5個,而是6個。

  第六個是Luck,也就是幸運等級,只不過這個不會顯示在玩家可見的狀態(tài)欄里。

  這就解釋了吃某一些料理的時候會增加人物的運氣等級,其實增加的就是這個屬性

  通過代碼發(fā)現(xiàn),這個運氣等級其實和我們每天早起看電視的那個運氣并不是同個東西。

  在代碼中顯示:運氣等級在代碼中的名稱叫做:LuckLevel,而每日的運氣名稱叫做:dailyLuck,許多取決于運氣的幾率事件都是將這兩個運氣值同時進行計算的。

這段代碼顯示的就是每天在電視上看到的內(nèi)容,會根據(jù)每日隨機的運勢值來進行顯示

  那每日運勢這個東西是如何計算的呢

  是這一句話進行隨機的。

  意思大概是,會首先在0.0-1.0之間進行隨機一個數(shù)字,如果這個數(shù)字小于0.8,同時玩家是有“魅力”的,這樣的話那運氣是固定為0.1,也就是“非常開心”,但這個還不是最幸運的情況,最幸運需要到0.12。如果這個數(shù)字大于0.8,或者玩家不是“有魅力的”,那么就會對玩家再進行一次隨機,相當(dāng)于是在-0.1-0.1之間隨機。這個概率就比較平均了。

  在游戲中,我們一般會遇到幾種運勢:

  1.精靈非常開心(大于0.07)

  2.精靈很開心(0.02-0.07)

  3.命運掌握在自己手中(-0.02-0.02)

  4.精靈不太開心(-0.02--0.07)

  5.搗蛋(小于-0.07)

  但是,在代碼中發(fā)現(xiàn)還有三種不同的運勢,lz是沒有遇到過,不知道有沒有人玩到過這三種運勢:

  1.The spirits are joyous! Someone gave them a nice offering today, and they are very pleased.意思大概是今天精靈極開心,會帶給你特別好的一天。(0.12)

  2.This is rare. The spirits feel absolutely neutral today.

  意思說這很罕見。今天的精靈絕對中立。(0.00)

  3.The spirits are furious. Apparently someone tried to give them a worthless offering... Hmm. It's unwise to play jokes on the spirits!

  意思是精靈很憤怒。顯然有人試圖給他們糟糕的東西,給精靈開這個玩笑很不明智!(-0.12)

  不過,在代碼中分析,按照正常的隨機算法,是不會出現(xiàn)0.12或者-0.12的,不知道這是不是作者沒完成的設(shè)定,或者lz還沒有發(fā)現(xiàn)。而0.00這個值是可以出現(xiàn)的,和它自己說的一樣,這個確實比較罕見(0.5%幾率)。

  還有就是最上面說的玩家是有“魅力”的,這個時候,有90%的幾率是好運(80+20*50%)。那什么是有魅力的呢,這個lz還沒有仔細的分析過,貌似只有作者Debug的時候才用到,或者與創(chuàng)建人物時寫的那個”喜愛的東西“有關(guān)。

  那這個運勢都會影響什么東西:

  1.動物出產(chǎn)的產(chǎn)品

  2.礦洞死亡后物品掉落

  3.夏天的閃電

  4.作物收獲

  5.蟹籠

  6.送禮

  7.敲碎石頭后掉落物品

  1.運勢對動物出產(chǎn)的產(chǎn)品的影響

  每個動物在購買/出生后會有一個開心值,代碼中叫happiness。初始值是0xff(255)。也就是你每天摸動物之后,動物頭上會出現(xiàn)一個心,就是代表這個動物的開心情況以及表示動物增加了開心值(表示一團亂麻的時候也會加開心值),開心值和點擊動物出現(xiàn)的信息里面的心(好感度)是不一樣的兩個東西。

  開心值<30 : look sad

  30<開心值<200 : look fine

  開心值>200 :looks really happy today!

  根據(jù)觀察發(fā)現(xiàn)好感度的取值是0-1000,對應(yīng)0-5心。

  根據(jù)算法,目前來看,是否產(chǎn)出物品完全與開心值有關(guān),當(dāng)動物的開心值高于150時產(chǎn)出概率是100%,當(dāng)小于150時,值越小產(chǎn)出幾率越小(75開心值產(chǎn)出率為50%)。

  而運勢僅僅是在動物有產(chǎn)出的情況下,決定了產(chǎn)出特殊物品的概率(鴨毛、兔腳)。

  產(chǎn)出特殊產(chǎn)品的算法的大概意思是:

  鴨子:

  當(dāng)動物開心值大于200時

  ((開心值+好感度)/5000 + 今日的運勢)+(玩家幸運等級*0.01)

  當(dāng)動物開心值小于200時

  ((好感度-開心值)/5000 + 今日的運勢)+(玩家幸運等級*0.01)

  兔子:

  當(dāng)動物開心值大于200時

  ((開心值+好感度)/5000 + 今日的運勢)+(玩家幸運等級*0.02)

  當(dāng)動物開心值小于200時

  ((好感度-開心值)/5000 + 今日的運勢)+(玩家幸運等級*0.02)

  根據(jù)實際情況估算一下:

  某天,一只鴨子的好感為3心,開心值滿,你的幸運等級默認為1的情況,這只兔子在不同的運勢情況(取中間值)下產(chǎn)出情況為:

  非常開心:26.6%

  開心:22.6%

  命運在自己手中:18.1%

  不開心:13.6%

  搗蛋:9.6%

  兔子同理??梢娺\勢對動物產(chǎn)出的影響還是很大的。

2.運勢對礦洞死亡后物品掉落的影響

  相信大家都在礦洞里掛過,lz也掛過兩次,一次掉了武器(我 的黑曜石劍啊啊),還有一次掉了背包里的不少東西(包括我給penny送禮用的好幾十個甜瓜

  3.閃電出現(xiàn)幾率的影響

  上面說的是對夏天閃電出現(xiàn)的影響,lz也忘了是不是只有夏天才有閃電,總之,前提就是那種會打閃電的天氣。在這種天氣的情況下,閃電出現(xiàn)就可以產(chǎn)電池組,所以和雞下不下蛋一個道理吧,都是和運勢有關(guān)。

  這個比較簡單:

  在這種天氣下,你在戶外,而且不在沙漠,不同運勢在每個時間點產(chǎn)生閃電的幾率為:

  非常開心:31%

  開心:27%

  命運在自己手中:22.5%

  不開心:18%

  搗蛋:14%

  4.作物收獲

  這個比較有意思了,不知道有沒有大神知道這個dwoop是什么聲音,lz認為這里作者就是閑著沒事玩了一下,沒什么實際的意義。

按代碼分析,作物收獲的時候應(yīng)該有一個特效,就是周邊會散落作物的”殘骸“(吃東西的時候也有,不過不知道是不是同一種用法),基本上是產(chǎn)生就消失了,絕大多數(shù)玩家都不會在意的細節(jié)。而在收獲作物的時候,有大概0.06%的幾率會讓這個”殘骸“產(chǎn)生的數(shù)量翻倍

  5.運勢對送禮好感度的影響

  運勢本身其實對一份禮物給NPC所增加的好感度不會有影響。好感度系統(tǒng)僅有一處是和運勢有關(guān)的。研究完之后,lz發(fā)現(xiàn)作者心機婊,并且不會降低好感度(30)。這個幾率是:

  非常開心:79.5%

  開心:75.5%

  命運在自己手中:71%

  不開心:66.5%

  搗蛋:62.5%

  晚上接著更

  回來了,下面是運勢對于挖礦系統(tǒng)的影響。這里lz發(fā)現(xiàn)運勢會影響三個方面:

  1.特殊礦石的爆出數(shù)量

  2.經(jīng)驗的獲得(影響挖礦等級)

  3.暴擊率

  首先來說特殊礦石的爆出數(shù)量

  代碼比較復(fù)雜不多過解釋,直接說結(jié)果(默認無技能,就是那個5級10級學(xué)一次的,會有影響):

  受到影響的礦石種類:

  1.鐵(380)

  2.石頭(390)

  3.銅(378)

  4.金(384)

  5.銥(386)

  當(dāng)挖礦等級與幸運等級都為1級時,

  挖普通石頭礦,有50%幾率出1個石頭,50.5%幾率出兩個,0.501%幾率出三個,0.005%的幾率出四個(lz概率學(xué)的不好,差不多就是這樣。。算暈了),這個幾率會因為挖礦等級與幸運等級的提升而增加,貌似增加的還不小(從萬分之0.5到千分之0.5,。這樣)

  挖其他的礦,33%幾率1個,33%幾率兩個,33%幾率三個,出四個,五個是可以發(fā)生的事件,等級高,學(xué)了技能出四個并不特別意外,要是技能等級低的情況下出了5個那你基本和彩票中獎一樣了。

  礦石出產(chǎn)數(shù)量不因為類型不同而相異

  2.經(jīng)驗的增加

  默認挖礦等級,幸運等級為1.每挖一塊石頭有幾率加5點經(jīng)驗

  這個幾率為:

  非常開心:5.24%

  開心:5.14%

  命運在自己手中:5.03%

  不開心:4.92%

  搗蛋:4.82%

  這里可以發(fā)現(xiàn),其實挖礦等級,幸運等級越高,增加經(jīng)驗的幾率就越大,最大為5.55%

  影響不大

  3.暴擊率。

  這個也是和每日運勢不相關(guān)的

  假設(shè)暴擊率為20%,那么幸運等級1-10的情況的暴擊率為:20.5%-25%。也就是說,暴擊幾率的值并不完全取決于裝備上顯示的值,這個基礎(chǔ)暴擊率越高增幅越大,假設(shè)暴擊率為50%的時候,

  真實暴擊率為:

  51.25%-62.5%,還取決于幸運值,

  所以,走暴擊流的別忘了同時要增加幸運等級!

  補充幾點后來的發(fā)現(xiàn):

  1.砍樹的時候,今日運勢好,會額外掉1快木頭(5%),運勢等級高也會掉(4%-40%)

  2.挖農(nóng)場里的石頭,計算方式同上

  3.礦洞中出現(xiàn)特殊寶石(五彩碎片,鉆石,精煉石英看到了有人問這個運勢等級怎么提升,lz翻看了一下代碼,發(fā)現(xiàn)提升方式只有吃+幸運的料理,直接加等級,有持續(xù)時間。

  但是!!在gainExperience這個方法里,第一句是一個判斷

  fuck!!懂代碼的可以看一下。

  )

  所以結(jié)論就是,目前沒有發(fā)現(xiàn)可以增加幸運等級的手段(除了吃料理)。這可能是作者目前沒完成的一項設(shè)定。

 

  這里發(fā)現(xiàn)失落之書的爆率是20%,如果失落之書全了,那么再挖到都會變成混合種子。冬天挖的東西作者有過調(diào)整,山藥是40%,冬根更高。