《星露谷物语 / 像素谷》中运势系统是怎样的呢?很多玩家都不了解。下面小编带来《星露谷物语 / 像素谷》运势系统代码分析,一起来看吧。
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%
兔子同理。可见运势对动物产出的影响还是很大的。
更多相关资讯请关注:星露谷物语专题