在《无限星辰》中,实时的日照变化又更上了一个台阶,星球的自传,或飞船在星球近地轨道飞行就会带来完全不同于其他游戏的“场景”日照系统。
下面是日落最新的大气散射效果:
如果您有兴趣,同样可以参与到游戏开发中(建模、材质贴图)!
更多早期截图(地形未采用法线贴图):
相关介绍:
关于过程生成的简介:
当人们听说《无限星辰》将是一个包含上千亿星系的虚拟宇宙世界时,一般都会问以下几个问题:
* 怎么可能以一己之力开发一个满是真实比例大小的星体的虚拟宇宙?
* 玩家怎么无缝的穿梭在宇宙空间和行星大气(地面)之间?
* 系统怎么保证每次我回来看到的星球还是原来的样子?
* 那么多星球,不用一些画好的模型来重复拼接,可能吗?
* 这么多运算要占用很多硬盘空间吗?
* 反正就一句话,你这东西用当今的科学技术可能实现吗?!
总有一些人因为以上的问题而怀疑《无限星辰》的可信度。这并不奇怪,任何听说这个包含如此多星体的虚拟宇宙世界是一个人编的人都有理由表示怀疑,这听起来确实像一个壮举。但究其原因是因为传统的游戏制作方式占据市场太久了:一群程序员和美工组成一个团队,设计每一个游戏内容,一点点编写程序和建模,最后再整合在一起……不过请一定要记住,《无限星辰》绝对不是用这种传统的制作方式创造的。
简单来说就一句话:这个游戏世界是由一种技术创造的,这个技术就叫“过程生成”。这不是什么神秘,空穴来风的东西,因为“过程生成”在1984年就有人提出了,然后1993年出现了它的先锋作品:EliteII。就像《无限星辰》一样,它们也是宇宙模拟器,包括成千上万的星系,每个星系都有自己完备的系统。这些在25年前就可以实现,更不用说现在了。现在就有个叫“Spore”(孢子)的游戏正在用“过程生成”生成中。
CutterJohn 写到:
我们身边就有个能简单解释过程生成的例子:Windows里自带的空当接龙。每次你点开“游戏”菜单,选择“选局”,只要你输入相同的数字,出来的牌也会是一样的。
那到底什么是“过程生成”?!简单的说就是一个连列方程组,里面有一个变量供用户输入来改变结果。这个变量就叫“种子”。下面用个例子来说明:
5 + x = y
如果你输入的x是5,结果y就是10,如果x等于10,结果就是15。这些结果永远都会是一样的!5+5永远是10,5+10永远是15。当然,用在过程生成里的等式比这个复杂多了。看上去结果是随机的,其实只要输入相同的“种子”,即使在不同的计算机上结果也肯定是一样的。
《无限星辰》就是用上千条这样的代码生成的。你只要输入些数字,这个系统就会生成一整个包含各种行星和恒星的虚拟宇宙。但如果输入的“种子”不同,生成的宇宙就大不一样。这套机制在各个层面都是一样的。生成宇宙的“种子”会再生成星系的“种子”。比方说你探索到了一个星系,以后不管你离开多少次,再回来的时候这个星系也还会是完全一样的。关键就是“种子”永远是一样的。
IA 写到:
不管是1000个星球还是1亿个,在过程生成中没什么区别
在物理层面,过程生成其实比传统编程用的物理存储空间要少。存在你硬盘里的只有舰船的模型和要用到的各种贴图,当然还有生成代码(最多只有几兆)。只要提供了“种子”,你的电脑就开始生成宇宙了。一旦你探索到了一个新的星系,你的电脑就会为你生成一个行星星系。所有和你一样在线的人都会有同样的代码和种子,所以他们看到的这个星系也会和你一样。所有的生成工作都是在你机器上运行的,只有种子是在网络上传递的,这样也就省了很多带宽。
当然这个技术也有不足之处,虽然每个行星和星系是不一样的,但它们之间会有很多相似处。当然这个也没什么好惊讶的。类地行星在大气组成和基本生物组成上是类似的,所以在远处看差不多。但细节上会完全不同,比如说地容地貌,大陆形状等等。从某种意义上说,这正式过程生成的一大优势:我们可以创造一个巨大的世界,虽然其中大多数是荒芜、重复的,但其中一定有亮点。说不定在无意中你就会探索到一片世外桃源。
相关链接:
http://www.infinity-game.com/
参与开发:
http://www.infinity-game.com/wiki/index.php/CD
欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) | Powered by Discuz! 6.0.0 |