没人Deep 空是怎么生成宇宙的?下面带来 进攻。On . Pika 分享《无人深空》,讨论宇宙科普。让我们看一看。
为了解释这个问题,我用更通俗的方式告诉你 过程 。不一定是严谨的科学语言,但作为一门科普,希望更多的人能看懂。所以专业人士请手下留情。
现在,请让我们回忆一下神秘的无理数 mdash mdash pi:3.141592654 ....
让我们把这个数字按位/格写在一张很长很长的纸上。
为了便于理解,请想象/认为宇宙是“一维的 quot是的,行星排成一条线。数学告诉我们,这个无理数是无穷的。如果我们给这个数字加上一些规则:
1.当你遇到1时,说明它是一颗星。
2.当你遇到2的时候,说明它是一颗行星。
...............诸如此类。
至此,我已经产生了一个 一维 宇宙。又因为 pi每一位的位数都没有规律的排列,所以你会觉得这个“宇宙”看起来是随机的。
但是我们都知道 pi是一个固定值,这意味着此时产生的宇宙并不是完全随机的。它就在那里,不是因为你每次打开游戏都要实时模拟一个真实的宇宙。
事实上,宇宙是多维的。因此,我们现在可以把这篇文章中的"纸带"拉出几个方向(上、下、左、右、前、后的任意组合),并有规律地叠加上任意数字。与此同时,一系列复杂得多的规则为它制定出来,于是在一张“纸带”中出现了几条规则,看似随机的宇宙就这样诞生了。但是你的电脑只是记录了一些简单的数据。
专业上,开发人员使用一些复杂的“函数”这个多维数组(“纸带集合”)。这就是这个游戏宇宙的制作方法。(你知道,计算机要求 piis pi的公式;=16arctg1/5-4arctg1/239,也是函数)
总结一下:18,446,744,073,709,551,616颗行星看似很多,但占的数据并不多。它们只是一些可以通过计算得到的数据。通过一系列的形成规则,就形成了这个看似无限的游戏宇宙。就像你不需要完整的内存 pi同样,那么多星球的数据也不一定要完全存储在硬盘里。你只需要知道怎么计算,需要的时候就能算出来。至于怎么算...往下看:
-
也许你还有疑问。但是不要害怕,请继续往下看。
看到有人质疑,我的硬盘能装下这么大的宇宙吗?
我想告诉你,这是可以做到的。其实只有一个类似Ta = a(1-sinθ;)和x2+y2-a 倍;x = a times公式sq (x2+y2)(其实会更复杂一些),你每次遇到的星球,只是CPU为这个公式带入一个值,计算出来之后得到的相关数据。比如0x135486754(意思是这是一颗靠近恒星的沙漠星球,有小型植物等。).
还有人会问,我的CPU能及时计算出这么大的数据量吗?
我想告诉你,你可以。具体过程简单,一两句话说不清楚,但你要知道官方最低配置是i3。
还有人问,这么多星球,怎么保证它会和其他星球不一样?怎样才能模拟出生物的样子?
同样的道理,既然一个开发者有办法写出一个函数,那就一定有别的办法写出另一个函数。
开发者预设了很多地图,给出了很多如上的规则。诸如
1.满足1意味着这个生物有2m高。
2.遇到2表示这个生物的口型就是数据库中编号为0x75的地图。
三..............
实际方法会比较复杂,但实现原理大致如上。
再者,学过计算机的人都会质疑计算机有能力得到1844674073709551616,计算出这么复杂的函数。一是怀疑内存不够,二是担心计算能力不足。
关于第一个问题:
同样,假设宇宙是一个“纸带”,行星是依次排列的。如果你能在视野中看到5m长的纸带,那么你的记忆只需要容纳5m长的纸带。虽然5米外的纸带依然存在,但你不需要记住它们,所以你实际上不需要记录那么多行星。当你的飞船移动时,你移动纸带。可以看到身后的一部分纸带,把看不见的纸带“忘”在身后。
这就是“生成过程”。
关于第二个问题:
我们再举一个例子。你查英语词典的时候,如果你要查公牛这个词,你会先查目录,然后从B这个词开始,而不是A这个词,A/B区分其实就是一种标签。
同理,每次模拟这个宇宙,也不需要从3.14159开始往下算,只需要找出自己当前的位置,通过函数中预定的标签,计算出5m长的纸带即可。所以看起来计算量很大,其实并不复杂。这也是游戏敢于给i3最低配置的原因。
Ps:这部分暂时就这些了。你有什么不明白或者想问的话吗?
刚刚有人问,这种随机组合会有很多重复吗?
我个人看的内部视频感觉不错,因为地图是矢量图,有一定的复杂设置(变形、着色、纹理等。)后面。实际演示的时候制作人告诉我恐龙和鱼刚刚用的是同一个身体,我根本没看出来= =孢子游戏并没有无限的生物成分,而是通过彼此的结合,创造出了无数奇怪的生物。所以我们有理由相信这个游戏中生物的相似度并不太高。
但是你要模拟18万亿个完全不同的星球我也不信。毕竟158元,158元买一个真正的宇宙就是这么个东西...等个几百年再说吧。.....
来个悄悄话:说到实际效果,我觉得很好。对于喜欢这种配色的玩家来说就像是一艘划艇。从走出宇宙到进入星球,处处都有一种期待感。 mdash mdash个人观点被选择性忽略。