我正在构建一个实时多人游戏,该游戏在客户端和服务器上运行相同的“物理”循环。我使用的转向行为“徘徊”是必不可少的随机运动。运行漫游算法时,客户端和服务器生成不同的随机数。
我想知道如何保持自然随机的运动,但使用一些常数来确保客户端和服务器得出相同的结论。
4
从伪随机数序列中生成相同的随机序列很容易。困难的是同步使用该序列。您需要使游戏逻辑具有确定性,而不是从不使用随机序列的意义上说,而是以确定性方式使用随机序列。实现此目的的最简单方法通常是避免游戏逻辑循环中的任何并发,但是,只要向PRNG询问随机值时线程不依赖于PRNG的时间和顺序,就可以并发。这是龙。
—
Lie Ryan