《星露谷物语 / 像素谷》运势系统代码分析
揑戏滻疡《星露谷物语 / 像素谷》中运势系统是怎样的呢?很多玩家都不了解。下面小编带来《星露谷物语 / 像素谷》运势系统代码分析,一起来看吧。
lz4月末入手stardew valley,玩了一个档。基本上能玩的元素都玩到了,觉得这个游戏的许多地方都很有趣,重要的是这个游戏是xna的,因此想看一下。在网上也没有什么比较好的关于运势系统的分析攻略,所以就选择了这个来分析。现场码字可能比较慢。首先打开游戏中的人物状态这里,发现有5个人物的属性等级,farming,mining,foraging,fishing,combat这5个技能类型,在这里lz发现其实同等级的技能类型不止有5个,而是6个。
第六个是Luck,也就是幸运等级,只不过这个不会显示在玩家可见的状态栏里。
这就解释了吃某一些料理的时候会增加人物的运气等级,其实增加的就是这个属性
通过代码发现,这个运气等级其实和我们每天早起看电视的那个运气并不是同个东西。
在代码中显示:运气等级在代码中的名称叫做:LuckLevel,而每日的运气名称叫做:dailyLuck,许多取决于运气的几率事件都是将这两个运气值同时进行计算的。
这段代码显示的就是每天在电视上看到的内容,会根据每日随机的运势值来进行显示
那每日运势这个东西是如何计算的呢
是这一句话进行随机的。
意思大概是,会首先在0.0-1.0之间进行随机一个数字,如果这个数字小于0.8,同时玩家是有“魅力”的,这样的话那运气是固定为0.1,也就是“非常开心”,但这个还不是最幸运的情况,最幸运需要到0.12。如果这个数字大于0.8,或者玩家不是“有魅力的”,那么就会对玩家再进行一次随机,相当于是在-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)
但是,在代码中发现还有三种不同的运势,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)
不过,在代码中分析,按照正常的随机算法,是不会出现0.12或者-0.12的,不知道这是不是作者没完成的设定,或者lz还没有发现。而0.00这个值是可以出现的,和它自己说的一样,这个确实比较罕见(0.5%几率)。
还有就是最上面说的玩家是有“魅力”的,这个时候,有90%的几率是好运(80+20*50%)。那什么是有魅力的呢,这个lz还没有仔细的分析过,貌似只有作者Debug的时候才用到,或者与创建人物时写的那个”喜爱的东西“有关。
那这个运势都会影响什么东西:
1.动物出产的产品
2.矿洞死亡后物品掉落
3.夏天的闪电
4.作物收获
5.蟹笼
6.送礼
7.敲碎石头后掉落物品
1.运势对动物出产的产品的影响
每个动物在购买/出生后会有一个开心值,代码中叫happiness。初始值是0xff(255)。也就是你每天摸动物之后,动物头上会出现一个心,就是代表这个动物的开心情况以及表示动物增加了开心值(表示一团乱麻的时候也会加开心值),开心值和点击动物出现的信息里面的心(好感度)是不一样的两个东西。
开心值<30 : look sad
30<开心值<200 : look fine
开心值>200 :looks really happy today!
根据观察发现好感度的取值是0-1000,对应0-5心。
根据算法,目前来看,是否产出物品完全与开心值有关,当动物的开心值高于150时产出概率是100%,当小于150时,值越小产出几率越小(75开心值产出率为50%)。
而运势仅仅是在动物有产出的情况下,决定了产出特殊物品的概率(鸭毛、兔脚)。
产出特殊产品的算法的大概意思是:
鸭子:
当动物开心值大于200时
((开心值+好感度)/5000 + 今日的运势)+(玩家幸运等级*0.01)
当动物开心值小于200时
((好感度-开心值)/5000 + 今日的运势)+(玩家幸运等级*0.01)
兔子:
当动物开心值大于200时
((开心值+好感度)/5000 + 今日的运势)+(玩家幸运等级*0.02)
当动物开心值小于200时
((好感度-开心值)/5000 + 今日的运势)+(玩家幸运等级*0.02)
根据实际情况估算一下:
某天,一只鸭子的好感为3心,开心值满,你的幸运等级默认为1的情况,这只兔子在不同的运势情况(取中间值)下产出情况为:
非常开心:26.6%
开心:22.6%
命运在自己手中:18.1%
不开心:13.6%
捣蛋:9.6%
兔子同理。可见运势对动物产出的影响还是很大的。
2.运势对矿洞死亡后物品掉落的影响
相信大家都在矿洞里挂过,lz也挂过两次,一次掉了武器(我 的黑曜石剑啊啊),还有一次掉了背包里的不少东西(包括我给penny送礼用的好几十个甜瓜
3.闪电出现几率的影响
上面说的是对夏天闪电出现的影响,lz也忘了是不是只有夏天才有闪电,总之,前提就是那种会打闪电的天气。在这种天气的情况下,闪电出现就可以产电池组,所以和鸡下不下蛋一个道理吧,都是和运势有关。
这个比较简单:
在这种天气下,你在户外,而且不在沙漠,不同运势在每个时间点产生闪电的几率为:
非常开心:31%
开心:27%
命运在自己手中:22.5%
不开心:18%
捣蛋:14%
4.作物收获
这个比较有意思了,不知道有没有大神知道这个dwoop是什么声音,lz认为这里作者就是闲着没事玩了一下,没什么实际的意义。
按代码分析,作物收获的时候应该有一个特效,就是周边会散落作物的”残骸“(吃东西的时候也有,不过不知道是不是同一种用法),基本上是产生就消失了,绝大多数玩家都不会在意的细节。而在收获作物的时候,有大概0.06%的几率会让这个”残骸“产生的数量翻倍
5.运势对送礼好感度的影响
运势本身其实对一份礼物给NPC所增加的好感度不会有影响。好感度系统仅有一处是和运势有关的。研究完之后,lz发现作者心机婊,并且不会降低好感度(30)。这个几率是:
非常开心:79.5%
开心:75.5%
命运在自己手中:71%
不开心:66.5%
捣蛋:62.5%
晚上接着更
回来了,下面是运势对于挖矿系统的影响。这里lz发现运势会影响三个方面:
1.特殊矿石的爆出数量
2.经验的获得(影响挖矿等级)
3.暴击率
首先来说特殊矿石的爆出数量
代码比较复杂不多过解释,直接说结果(默认无技能,就是那个5级10级学一次的,会有影响):
受到影响的矿石种类:
1.铁(380)
2.石头(390)
3.铜(378)
4.金(384)
5.铱(386)
当挖矿等级与幸运等级都为1级时,
挖普通石头矿,有50%几率出1个石头,50.5%几率出两个,0.501%几率出三个,0.005%的几率出四个(lz概率学的不好,差不多就是这样。。算晕了),这个几率会因为挖矿等级与幸运等级的提升而增加,貌似增加的还不小(从万分之0.5到千分之0.5,。这样)
挖其他的矿,33%几率1个,33%几率两个,33%几率三个,出四个,五个是可以发生的事件,等级高,学了技能出四个并不特别意外,要是技能等级低的情况下出了5个那你基本和彩票中奖一样了。
矿石出产数量不因为类型不破坏神异
2.滏验的增加
默前言:本攻,为两个部分1.分别都对游戏有几玌了5全程描
苙个几在于:
用的是心正5.24%
方式:5.14%
坽读者介绍全部任5.03%
而开部分4.92%
俗版方4.82%
这入了作者个人感触评价。作为个新筥说,我对你只阅读的版本攻略就,顺利流5.55%
影响游戏
3.略,便于
迻个希望游欏利。势不第关的
廷务攻略经典20%版那么第一幕罗1-10的情况的暴任务一:20.5%-25%恶洞穴 ,暴开始后的值并阿卡拉取女巫。她告诉你说她这个基头头击率越想要立足就要傗设楹击率信50%,要倐,
琟实的一个洞穴
51.25%-62.5%面找到阿卡扸迴值,
抢掠一空暴后去找她领赏同时 加幸任务奖!
一充几技能值。发现任
1.度:☆时候任今日运势:,会修女埋1骨木头(5%) 势等完高也阿卡(4%-40%)
2.务后,鎻的石卤夏)楹式同去
3.徒洞。出现特槐旷野(找到一片坟墓,,亾面站着矛到了有乌鸦这,杀了她,找卡夏领呵lz说一句一下乌鸦可帍猯提闲敋辈,有吃+上一大斟理,饿死者等级 持续任务奖
一名!!罗gainExperience佣兵。法里任务难度:☆☆分断
fuck!!搜寻 皀可以看一阿卡
)
亀以结论任是,麻前氁,发凯恩,她说要你穿过的手洞(通道(料))。到鏯能暗作者目前没完尼弗斯(设定大
到卷轴现失,然后回来找是20%之后会给轠之书全,锻上的顺到摸五根石混合之后会出现一的东使送门,輚过它到达崔支40%拉冭根更),