秩序跟效率,有的时候并不是同一个方向。
GAMENOVA,开发部。
面对着电脑上解包出来的文件结构,林立新眉头微微一蹙。
“优化过于激进了啊……”
开发组的技术力是绝对是全业界毫无争议的最强一档。
但面对这次的《Myst》项目,这过强的技术力反倒是成了一个累赘。
要知道当年Cyan工作室在开发《Myst》的时候,那也是标速的CD-ROM。
理论上来说不可能有这种人家能行他们GAMENOVA做不到的情况。
更何况当年Cyan用的还是苹果的QuickTime技术和HyperCard技术。
在底层性能上,无论如何也不可能他们GAMENOVA这种技术栈完整的超级大厂的对手。
现在解包一看,这才算是彻底明了。
按照开发流程,一个游戏软件在开发完成后需要进行编译工作。
将N语言转译成硬件能够理解的机器码。
同时,编译器会尝试理解开发者的意图,并尽可能地优化。
很多时候菜鸟程序员写出来的屎山在性能表现上却意外不错的原因就在这儿了。
编译器一直在替铸币们负重前行。
作为一个立项之初就面向未来的现代架构,N语言以及它的编译器在编译优化这方面做了大量的工作。
其中甚至有一大部分还是杰拉德在离职前留下的遗产。
加上林立新和卡马克长年累月的优化。
如今的N语言的SDK甚至要比那些专业软件更加庞大复杂。
而它的作用也是非常强大。
最简单的优化逻辑自然就是常量折叠和消除无效死代码这些节约文件大小的操作。
比如程序员为了可读性书写了大量的变量和计算。
但在编译器判断后发现,这些实际上可以直接用固定常量的方式一行搞定,就会直接优化掉。
循环的处理、函数的调用等等。
很多时候,他们在开发过程中是要优先保证代码的可读性的。
毕竟不是人人都是林立新。
如果让林立新自己放开手脚编写程序,的确能做到完全从机器的视角来进行编写。
毕竟他的大脑本身就是一台性能爆表的湿件超算。
但这种操作放在五年前可以,放在现在却不行。
因为游戏开发已经不是他自己一个人的事了。
大量的工作人员参与其中,必须要确保大部分人都能一眼读懂某一部分的作用。
于是乎这里便到了编译器发挥神力的时候。
如此的小伎俩在N语言的编译器中比比皆是。
不过真正让他们感到骄傲的机制,同时也是出现这次问题的幕后元凶。
文件系统。
为了确保游戏效率,引擎会判断游戏内资源的使用频率,并对它们进行碎片化的整理。
所有的文件都以1和0的二进制流形式,完全打碎在游戏文件里。
考虑到缓存和帧数表现,这套模式绝对是最顶级的优化思路。
但对CD-ROM来说,这就是一场纯粹的灾难了。
“没想到有一天会栽到过度优化的坑里。”
林立新撇了撇嘴。
到底还是经验不足。
这大概就是开挂给他带来的一点负面影响了。
经常出现这种因为进步过快反而扯到蛋的尴尬情况,非常蛋疼。
不过一体两面的。
只要知道问题在哪,那林立新理论上来说就是无敌的。
想要修复它,其实非常非常之容易。
甚至都不需要其他人参与,也不需要改动原有代码。
只需要做一件事……
‘哒’
林立新在键盘上敲了一下,将编译工具的‘文件优化系统’关闭。
Done。
就这么简单。
《Myst》是个慢节奏看环境玩解谜的游戏,对帧数压根没有什么要求。
直接把这些过度优化的东西全部关掉,一切就都迎刃而解了。
当然,这样做只能解决一部分问题。
剩下要怎么在这个基础之上优化,那的确还是需要精心设计一番的。
……
仔细盘算一下,《Myst》也算是GAMENOVA历史上开发周期最长的作品之一了。
不同于《Quake》这类游戏,《Myst》在程序上没有太多的讲究。
绝大部分的工期都用在了建模和渲染上。
这些工作不像写代码,没法靠着技术节约工期快速推进。
好在是换装了新款的显卡,在渲染速度这方面有了不少的提升。
半个月的时间,GAMENOVA影视基地的其中一座岛已经捯饬起了一片临时的办公区。
几组集装箱房和简易房车,在已经夯实找平了的土面上聚集着。
水电通信网络都已经跑通。
整个建模团队和道具组便干脆打包直接搬了过来,省得天天跑往返浪费时间。
邻近工作岛的隔壁一座略小几圈的岛则是被道具组完全打扮成了另一幅模样。
大量的泡沫模型和板材伪装出来的遗迹已经初具规模。
此刻正在调试打光和摄影机机位。
“差不多就是这儿吧,图书馆的入口就设置在这里,机关不用着急,让建模组来搞就行。”
林立新后退一步,伸手比量着,满意地点点头,
“行,你们加油。”
他给几位工作人员打了打气,目光落在不远处的土坡上。
那边的观星台也在慢慢成型。
毕竟只是几个静态场景,想要骗过摄像机的话,还是挺容易的。
看着这座已经初具规模的‘神秘岛’,林立新不禁有些感慨。
这可是《星球大战》和《夺宝奇兵》的道具团队。
放眼整个好莱坞,整个历史上,在电影道具和实体美术设计领域都是第一梯队的存在。
也就《异形》和《银翼杀手》这种级别的团队有能耐跟他们碰一碰了。
但面对眼前这种构筑一整个架空文明体系的需求,星战摄制组绝对是最有发言权的。
“不赖。”
林立新望着蒸蒸日上的群岛,对这笔买卖愈发的满意起来。
要说三角洲比起真正的海岛来说到底有什么缺点的话……
他看向远处的河岸边。
那边黑压压的聚集起了一大片人影。
这些并不是GAMENOVA或是卢卡斯的工作人员。
而是过来围观的路人。
萨克拉门托河岸本就是加州重要的旅游场所。
原本就整日都会有人在岸边骑行或是跑步,也有人会选择在河道上划船。
GAMENOVA搞出这么大的动静,自然没有逃过他们的眼睛。
根本都不需要媒体报道,仅仅是开工的第二天,一大帮慕名而来的粉丝就已经将岸边给堵满了。
要说人闲下来的时候真的是什么都做得出来。
这帮人就真是啥也不干,就带着野餐篮和野餐垫。
跑到河边随手这么一铺,一天到晚地就远远地瞅着岛上的动静。
有带着望远镜的或是眼睛尖的,一眼瞅见林立新出现,便会爆发一阵又一阵的欢呼。
“家人们还是太热情了。”
尽管林立新有这个打算,但未来很长一段时间内,这里估计都不会像洋馆那样作为旅游资源开放。
毕竟不管是GAMENOVA还是卢卡斯影业,每天都在这边有大量的工作。
如果放这帮游客登陆,那可真是个让人头疼的麻烦。
“以后有条件了还是得搬到火奴鲁鲁去……”
只可惜这次的项目规模太大,不然的话直接像宝可梦中心那样,去夏威夷租一片区域开发就是了。
……
回到主岛。
其中一座临时工作区内。
一大捆线缆被束在一起,靠着墙边绕出房间。
这些都是工作站的电源线和电话线以及特制的通信线缆。
用上了目前还在小规模试运行的ADSL技术。
并排的一长串工作站上密密麻麻地贴满了冲洗好的胶片照片。
一旁明显是个‘临时会议室’的板子上也同样满是照片。
这里是建模组的工作场地。
他们要负责根据摄制组现场取材到的照片建好整个世界的模型,同时还得要根据游戏需要作出一定的修改。
毕竟幻想世界不是现实,尤其是这样一部探索异世界的作品。
与其过度苛求写实,倒不如做出些艺术性的妥协,以换取更棒的史诗感。
理查德·范德·文德被任命为了建模三组的主管。
某种意义上也算是原班人马了。
三组的主要工作就是为已经建好形的模型分配材质。
高光、反光质感、表面粗糙度、表面凹凸纹理等质感上的优化工作,都是这里负责的。
几台无人值守的工作站正在嗡嗡作响。
这些机器不比民用的个人电脑,发热严重,必须要配备风扇进行主动散热。
“林先生。”
理查德见到林立新走进,停下手上的工作,主动上前道。
“嗯,我来看看渲染的情况。”
“是的先生,第一组图片两个小时前已经跑出来了,这一组的话大概……还得等明天。”
他来到渲染机前看了眼进度,简单估算了一下时间。
别看这时间吓人,但对于这个时代来说,简直就是快得飞起。
放在过去的好莱坞,一张静态帧只需要一晚上就能跑完,谁信?
说出来也会被人当成是在说梦话。
一晚上?
你怕是一不小心昏过去了一周。
但放在现在,这就是个事实了。
每台渲染机平均都能在几个小时内完成一帧的渲染。
这么多台加在一起,每隔几个小时都能产出一批草稿。
要知道这玩意儿跑出来的可是640x480的超高清3D画面。
还有电影级灯光和纹理呢。