当然,这方面的技术,今世由于方杰乱入,沸腾互联参与其中,肯定比同期更加成熟先进。

        另外在游戏地图数据调取的算法方面,还采用了「伪随机函数」和「函数扰动」相结合的技术。

        要知道计算机进行的是确定性运算,不存在真正的随机性,这意味着想要求计算机「独立」生成真正的随机数,在理论上不可能。

        许多编程应用中想要随机效果,使用的都是「伪随机函数」,就是用某种非常复杂的算法,来生成一系列看似毫无关联却又均匀分布的数字。

        比如方舟世界里每一块1平方公里的地图,都对应着这么一个随机数,当玩家进入方舟世界选择出生地的时候,如果选择随机,调取的就是这个地图随机数,会随机出生在原始地球上的某块地图上。

        但方舟世界里的生态环境是在不断变迁的,比如植物生长、人为造成的破坏,都将会对这个世界带来变化,而且这个变化还是不断继承下去的,如果让服务器把上亿块地图挨个计算演化,那数据量肯定很大,速度肯定非常缓慢,不可能瞬时完成。

        所以在「伪随机函数」中又加入了「函数扰动」,其中能产生影响的最大的两个函数变量,就是自然时间流逝和人类活动,当玩家们进入某块地图时,系统就会调取这两项主要函数,计算这块地图在变量发生后的随机变化。

        这么说可能有些不好理解。

        简单点说,其实可以把每块地图看作是一个个独立的副本,这些副本原本不会产生数据,但玩家一旦进入这个副本,系统就会在副本里根据「函数扰动」随机生成相应的物种、资源等生态,而无数个这样的副本就组成了相对不变的世界地图。

        这样一来,整个世界地图总体是没有变化的,服务器不需要进行大量的数据计算,即便玩家进入了某一个副本,那也只是那个副本发生了变化,服务器只需要单独计算那个副本的数据就行。

        这样服务器压力就大大减轻了,哪怕进来几百万玩家,服务器也只是计算那几百万个独立的副本,甚至只用计算几十万个副本地图,因为很多玩家会扎堆生活在一张地图里。

        内容未完,下一页继续阅读