所以我正在开发的游戏有一个地图系统,其中地图的各个部分可以独立于(大部分)其他部分加载。非顺序随机数字发生器(不确定的术语)
我想有一个随机数发生器,给定一个种子数和一个地图部件号,会产生一个随机数。但是这个数字必须对于每对种子和地图部件号都是一致的。
什么是这样一个随机数发生器被称为?另外,这样一个RNG的好例子是什么?
所以我正在开发的游戏有一个地图系统,其中地图的各个部分可以独立于(大部分)其他部分加载。非顺序随机数字发生器(不确定的术语)
我想有一个随机数发生器,给定一个种子数和一个地图部件号,会产生一个随机数。但是这个数字必须对于每对种子和地图部件号都是一致的。
什么是这样一个随机数发生器被称为?另外,这样一个RNG的好例子是什么?
大部分随机数发生器都是这样工作的。你可以用你的seed
和part_number
的某种组合调用seed()
函数,然后调用random()
函数来获得你想要的“随机”数字(当然这不是随机的,但这就是你想要的)。
例如,在C++:
srand(seed*part_number); // How you combine seed and part_number doesn't matter.
result = rand();
这听起来像你对我不是在寻找一个PRNG所有,而是为Procedural Generation aka Procedural Synthesis。 (当然,虽然具有固定种子值的PRNG是用于程序生成的非常普遍和流行的实现技术。)