Infinity 游戏技术 (Q&A)

1.在一张光盘上怎么可以存储那么多的数据?
这是诀窍:我根本没有存储所有数据啊!我存储的只是数学模型和实时产生数据的代码,按照游戏的请求执行。这很像那个64k的演示【下载:fr08_final.zip (63.5 KB)】,这项技术被叫做过程产生程序(procedural programming*)(注:或者叫做“[wiki]过程生成[/wiki]”(procedural generation)这是Infinity的关键技术!过程生成专题帖:http://www.infinity-game.com/bbs/forum.php?mod=viewthread&tid=491)。

2.星球看起来会都差不多吗?
这个宇宙中有成千上万的星球,它们当中肯定有一些看起来有点像。但是每个星球都是独一无二的,都有它自己的特性。我们会尽可能的添加更多不同的元素到我们的过程生成算法中去,确保玩家能拥有一个不虚此行的愉快探索。

如果数据是过程生成的,那么不同的玩家会看到不同的结果吗?如果我重游数星期前到过的地方,它会不会看上去不一样了?
在网上有很多关于到底什么是真正过程生成的误解。过程生成和随机生成是完全不同的概念。事实上,它们甚至是完全相反的两种概念:过程生成就是相同的输入,生成相同的结果。每个物体都有自己基于“seeds”(种子)的算法,只要“seeds”不变,重新生成的物体将会和原来的一样,当然每个细节都会完全一模一样,甚至是在毫米的尺度下。物体“seeds”将会通过服务器和玩家同步,这样使所有的玩家都能看到相同的物体,或者和这个物体互动。所以所有的玩家所看到的过程生成的物体都是一样的,例如星球,细节当然也是一样的。当你重游故地的时候,风景依旧。

4.我需要很高的配置来运行游戏吗?
中端配置(游戏发行的那个时候)应该能足够在中等设置下跑出超过30的FPS。推荐使用高端机,把显卡设置到最高,享受更好的效果吧。更多信息请查看下载菜单下的系统需求。

5.游戏引擎支持超线程、多核、64位系统吗?
游戏引擎的一部分,特别是“过程生成”(procedural generation),是多线程的。我们强烈推荐双核,当然这只是推荐,并不强求。引擎将会使用超过两个个以上的核心,尽管在这方面,双核性能提升不大。我们还没有计划去开发基于64位的版本,但是如果有足够需求的话我们会考虑的。无论如何,在64位机上跑游戏是没有问题的。

6.星球上有植被吗?也是“过程生成”的?城市呢?
星球上有“过程生成”的植物,但是材质(有些例外)将会是手绘的。城市在游戏中有重要的位置(很像空间站)。建筑由美工完成,然后由“程序”自动重组到城市之中。

过程生成的星云

我以前就考虑过是不是这么架构一个宇宙空间,用数学公式来表达规则,从编程的思路来看弹性非常之大而且可扩充性好,关键就是它的框架有多大,举个例子这游戏就是一堆钢架,你可以按照你的想法搭建,然后自动生成墙壁隔间,然后按照不同的规则摆放家具,也就是说这个世界其实一开始是即时演算的。所以大家去准备换机器的钱吧,这游戏对机器负担很大,而且可能在硬盘上有很大地交换文件,建议配置双CPU,大硬盘,2G以上内存,显卡主流的就行。

楼上的分析精辟啊!;em28; ;em28;

可以!!!!

以后应该有比较廉价的数学运算卡
应该考虑是否支持它

其实CPU就是数学运算啦。

可以说是跨时代的技术,期待游戏的早一天到来啊。

期待u中啊

** 2# bbgun **

关于城市建设,首先假设全部城市都是可以摧毁重建的,那么应用到过程生成的是
我想建设一个巨大的城市,程序开始搜索占地较大的建筑物
我设置市中心位置,程序开始把大型建筑和行政建筑随机摆放好,当然我可以多次随机选择。
我规定人口数量和城市发展级别,程序开始按照人口密度摆放居民区和建筑物外形
我设定娱乐设施占建筑比例,程序开始把部分居民区转化为娱乐区
我设定绿地占有率,程序开始绿化
然后设定城市种类,如工业城市能有重工业,宇宙港城市有大型机场等
——一个城市建设完毕了!很有成就感,然后根据地形不停的变换形状,在人工调整下景观,最好加入点历史遗迹什么的,或者吧有一个美丽的海滩,美女在嘻嘻

** 9# 神和仙Ra **

这位兄弟 我想 你这里描写的游戏是 模拟城市吧?:11_588:

虚拟城市要是这么建设,谁还玩啊?

技术生成来玩。。。。

如此庞大的游戏,真的是让人兴奋那!!!!

恩 很棒···支持··

恩 很棒···支持··

发明和提出procedural generation
真是天才啊;A051;

我认为应用这项技术的才是天天才:7_450:我为我选择这里而

遥望。。今天在ACFUN看到演示。跑来看看。。不知道什么时候能好呢。。。演示的BGM给我超好的感觉。。

没UC,支持!

再刷一个,别怪我····