Set Seed Random(设置种子随机)|环世界

订阅:
42
更新:
2022-11-05
作者:
CrunchyDuck
改变RimWorld使其有更多的可重复的RNG。
这有什么作用?
在默认情况下,RimWorld很少重置随机数发生器。因此,在没有用户输入的情况下,重复加载相同的保存将导致每次都有不同的事件。这个mod在每个tick的开始都会重置随机数发生器,这意味着同一个tick的起始点总是会产生相同的输出。
我做这个mod是因为我有一个更大的项目要做,需要RimWorld有一致的RNG。其他的修改者可能会发现它的用处,也许有些玩家想看看它是如何改变加载一个保存。
作为一个玩家,这个mod可能不是很有用。如果你在加载保存后什么都不做,同样的结果会一直上演。但是一旦你改变了什么,这就不能保证了。
你的行为会在多大程度上改变RNG的结果是未知的--我认为有些事件,比如突袭发生时,应该更加一致。但是,这并不是这个MOD的目标。
这是如何工作的?
在每个tick(TickManager.DoSingleTick)的开始,RimWorld的随机数发生器(Verse.Rand)被赋予一个新的种子(Rand.PushState)。
这个种子是由世界的种子(World.info.seedString),加上当前的刻度(TickManager.TicksGame)决定的。
链接。
Github: https://github.com/CrunchyDuck/SetSeedRandom
可以在Discord上找到我:https://discord.gg/hUnEs9ZhwA
提醒大家为那些对自己的MOD投入热情的人捐款