众力资讯网

【代码里的一行偷懒,毁掉了《杀戮尖塔2》的随机体验】 玩《杀戮尖塔2》觉得有些

【代码里的一行偷懒,毁掉了《杀戮尖塔2》的随机体验】

玩《杀戮尖塔2》觉得有些卡死活拿不到?这真不是你的错觉。

硬核玩家扒出游戏存在严重的关联随机性。比如拿某个遗物有54%概率得“债务”诅咒,而“弹回”卡牌在单人模式下概率直接为零。

底层逻辑是,开发团队想让玩家分享Seed,又想让战斗和奖励不互扰,于是给不同事件初始化了独立RNG。但他们图省事套用了C标准库System.Random。这个古老库底层的算法在数学上是线性相关的。你用“种子+固定偏移”初始化不同RNG,输出就被死死锁在了一条直线上。

不要在需要公平和跨平台一致性的逻辑里直接调用系统随机函数。开发者必须把随机生成器当成核心业务代码来手写(比如用PCG32),而不是依赖平台。

tck.mn/blog/correlated-randomness-sts2/