关于游戏的一些发现
rimworld吧
全部回复
仅看楼主
level 1
最近翻了下游戏core里的代码,以及开发者,有了一些小发现。
动物喝酒抽烟吃路西法其实是泰南的恶趣味,看源码里的注释<!-- Eat random things out of curiosity -->大致是说动物出于好奇去偷吃。
许多人都说怎么遇不到动物迁徙了,那是因为现在限制地图了,Incidents_Map_Misc.xml文件里有几行代码写着
<li>SeaIce</li>
<li>IceSheet</li>
<li>Tundra</li>
<li>Desert</li>
<li>Extreme Desert</li>
大概就是冰盖、冰原、冻土、沙漠和极端沙漠才有,估计是泰南考虑这些地图动物较少,用动物迁徙来弥补,至于温带森林之类的地方反正动物本来就多,就取消了这个事件。
打算试试手动把温带森林加进去。[滑稽]
动物的参数有个数据叫做combatPower,字面上的意思就是战斗力,常见的一些较大的动物为:熊类200、大象260、犀牛270、巨懒280。
这个数字并不代表战斗力,实际作用是用于计算大型威胁事件时该刷新多少个动物,推测敌人也同样有一个combatPower数值。
看过开发者的人估计会注意到有个奇怪的点数,比如召唤袭击5000点之类的,而我们只能看到财富数字,这个点数其实就是财富、小人数量等多个因素计算出来的,wiki上有公式,以前曾经转过。
猎杀人类的刷新数量上限貌似为29,这不是源码里看到的,完全是调整财富手动刷新观察到的,下限没观察,估计20+吧。必须说明的是我只观察了熊类及以上,不排除一些小动物算法不一样可以超过29,因为游戏里貌似是按不同类别的动物建立不同的文件,这意味着规则可能不尽相同。
代码里猎杀人类事件可以看到概率是2%,间隔8天,系统会先计算玩家的点数,然后按概率随机某个事件,假如随机到猎杀人类事件的话,会用点数除以动物的战斗力,列出一张所有可能刷新的动物列表。
比如说玩家点数为5800点,根据计算可以刷29只熊(比熊差的就超过29了)、22只大象、21只犀牛、21只巨懒(其实是20.7,估计会进位,不过巨懒经常会带只小的,可能就是零头)。
然后在这些动物里再进行一次随机计算,但并不是等权,换句话说这5种动物并不是1:1:1:1:1,数量越高的动物权重越低,然后才触发事件。
当点数过高超过了29只最高战斗力的动物时猎杀人类事件就不会触发,比如说29只巨懒的总战斗力是29*280=8120点,假如玩家点数为8120点时就只会触发巨懒的猎杀人类,因为犀牛大象都超过了29,假如点数为8400时所有的猎杀人类事件都不会发生。
实际上猎杀人类还有一种,是大地图上的,是否受远征队影响尚未研究。
印象中A17时猎杀人类是没有限制的,即使几百万财富也会刷出来,而从B18开始,不断有人反馈无法刷新猎杀人类事件,对了忘记说了,开发者里选随机事件,可以看到猎杀人类事件(manhunterpack)后面有[NO]字样,当财富过高时即使开发者也刷不出来猎杀人类——之前说的点数虽然受多因素影响,但财富的影响是最大的。
值得一提的是有些MOD中的动物战斗力设置得很高,比如恐龙MOD,许多恐龙战斗力都是原版生物的几倍,因此在高财富下仍然可以刷新,我MOD接触比较少,只能合理推测可能还有些我不知道的MOD里存在更夸张的生物。
目前还没找到29只动物的限制是在哪里,如果找到了把数字改大应该可以在高财富下照样刷新猎杀人类,但显然也会有负面的影响,比如后期刷出无数只鸡。
2018年12月08日 08点12分 1
level 1
对了,敲击兽的战斗力是500,但显然猎杀人类事件不包含敲击兽。
2018年12月08日 08点12分 2
更正顶楼,“实际上猎杀人类还有一种,是大地图上的,是否受远征队影响尚未研究。”应该是“实际上猎杀人类还有一种,是大地图上的,是否受远征队点数影响尚未研究。”
2018年12月08日 12点12分
顶楼还忘记说了,动物有逃避龙卷风等灾害的行为,不过没注意是发生灾害主动逃跑还是受伤才逃。
2018年12月08日 12点12分
远征队的期望等级是怎么算的?是永远固定在“很低的期望”,还是由队伍总资产决定?
2019年01月01日 19点01分
level 11
字多不看[阴险]
2018年12月08日 08点12分 3
level 10
点赞,分析可以的
2018年12月08日 10点12分 4
level 9
厉害,想问问要养敲击兽只能等经过吗,两三年了一直都没有
2018年12月08日 11点12分 5
这个没详细研究,不过貌似只有敲击兽路过一个事件,概率没记错的话应该是0.8%,不过因为判定间隔很短,其实也不算低,2、3年没刷有点脸黑。敲击兽的刷新也有天数间隔,忘记是几天了,应该差不多也是8天吧,刚刷新过之后开发者里会看到敲击兽事件右边有个[NO]。
2018年12月08日 12点12分
@举杯邀月影 谢谢啊,开发者怎么看啊
2018年12月08日 13点12分
@Gazza- 开发者里点随机事件,里面有个ThrumboPasses就是敲击兽路过的事件,刚刷过的话后面会有[NO],表示当前不会触发,其他不会触发的事件后面也有[NO],如果后面没有[NO]就说明可以触发。
2018年12月08日 14点12分
level 1
大佬这么一说我心就放下来了,不是什么奇怪的mod导致迁徙不出现
2018年12月08日 13点12分 6
level 13
硬核研究
2018年12月08日 13点12分 7
level 9
什么还和小人数量有关的…… 怪不得大家都不喜欢多养小人 我一直都是是能要就要_(:_」∠)_
2018年12月08日 19点12分 8
level 14
可以拿dnspy或i
lsp
y反编译游戏本体的dll,然后找到incidentworker_manhunter(差不多是这个),大概可以做个mod改猎杀人类的动物上限(我还没看,不清楚)
2018年12月08日 20点12分 9
level 10
涨芝士了
2018年12月09日 01点12分 10
1