美利坚:游戏制作教父 第743节

  “还记得咱们在《雷神之锤2》的时候搞出来的那个高级光照引擎吗?现在就是它发光发热的时候了。”

  “你是说……通过光照系统来设计环境,以此来塑造恐怖感?”

  “差不多就是这么回事,等小岛他们从林子里回来,他会明白我是什么意思的。”

  林立新点点头。

  专业的事交给专业的人。

  那台庞大的调色站已经被搬进了新总部来。

  作为一款以叙事为核心的FPS游戏,小岛秀夫这位GAMENOVA御用‘游戏导演’,能排上从未有过的巨大作用。

  “卡马克,恐惧有的时候并不一定是火力不足,你能打败它,不代表你就不会害怕它。因为你不知道它们会从哪里出现,会有多少,你只能……听。”

  这就是物理声场发挥作用的时候了。

  卡马克眉毛微微一挑,眼神不自觉地在楼体里扫视了一圈。

  这里已经做过最起码的内饰装修了,不至于是个毛坯房,无非就是东西还没来得及搬完。

  他在脑海中构想着,想象自己是游戏的主角。

  此刻正只身一人处在地图中央。

  四面八方,都是那些随时有可能要了自己命的家伙。

  ‘窸窸窣窣……’

  某种节肢生物快速挪动着自己的多对足,在墙后疾步穿过。

  有什么东西在通风管里移动。

  天花板上似乎还有黏液的黏腻声和密密麻麻的泡沫逐渐生成又悉数破裂的微弱声响。

  这些只是想象。

  只不过是他通过林立新方才举例说明的一些简单的游戏内的敌人构思出来的简易场景。

  但……

  卡马克缓缓睁开眼睛,看着自己胳膊上的鸡皮疙瘩,感受着脖颈处细密的白毛汗……

  他忽然理解了林立新想要表达的意思。

  “这就是声音的意义吗……”

  老实说,最开始林立新告诉他想要做物理声场的时候,他完全是把这套东西套进了《雷神之锤》的世界去理解的。

  在卡马克的理解里,那应该是一个剧烈华丽的爆炸能听到清晰的冲击波扫过的声音,敌人被撕碎的声音能在狭小空旷的通道里不断回荡的效果。

  他从未想过。

  仅仅是让声音有了方位,就能有如此可怕的沉浸感。

第699章 用手柄打FPS??

  赶在圣诞季结束之前,整个开发部的搬迁工作便已经进行了个七七八八。

  不单单是总部的这群家伙们。

  就连远在南加州洛杉矶那边的动视、暴雪、牛蛙、Rockstar等一众子工作室,现在也都搬进了牧场。

  比起原来的联排出租公寓,真可谓是鸟枪换炮了。

  当然,也少不了作为技术部门的NG图形工作室及其附属的NE引擎组。

  由前贝塞斯达CEO克里斯托弗带班,全体入驻新总部。

  这帮人自然是最早忙起来的。

  在兴奋的卡马克的招呼下,一帮人浩浩荡荡地收拾好了工位,即刻开工研发引擎。

  毕竟是基于Quake引擎进行的二次开发,不需要完全从零开始,这倒是给他们省了不少事。

  尤其是克里斯托弗本就是物理引擎业务出身,B社在物理引擎这方面的确颇有造诣。

  至于开发部本部这边,则是立马进入到了地图设计的环节。

  ‘叮’

  电梯门缓缓打开,山姆站在轿厢中央。

  正对着则是扛着相机和一大堆文件的小岛秀夫与林立新等人。

  “很好,山姆,现在坐电梯下去。”

  “……”

  山姆默默按下按钮,等待电梯下行。

  这个动作他今天已经做了无数次了。

  按照林立新的说法,一个完整的3D大世界想要被游戏完整的加载出来是不可能的。

  更不用说还有复杂的物理引擎和声场的参与。

  因此,整个游戏的开发方针一开始就确立了下来。

  箱庭世界。

  为此,今天他们的工作就是确定箱庭之间的切换方式。

  对于一个流式加载的世界来说,这一点十分重要。

  就像当年他们机能更烂的时候做的《生化危机》。

  靠着预渲染,虽然能做到让世界看起来很像那么回事。

  但每每需要切换位置的时候,都需要一张全新的预渲染底图。

  相应的,游戏也需要花点时间重新加载。

  那个推开门的过场动画,在当初看到的时候还算是惊艳。

  以现在的视角来看,未免就实在是有些太过磨叽了。

  林立新跟小岛他们聊了聊。

  很快便确定下来了现在的思路。

  新引擎本身就是支持遮挡剔除的。

  这意味着只有玩家看得见的地方才会被渲染,被加载。

  此外,每当玩家到达一个节点时,游戏都会卸载旧的地图,切换出新的来。

  这套技术他们不久前才在《道德与法治》里用过,也算是熟手。

  “很好,A图从轿厢结束,B图从轿厢开始,电梯门关上就可以跑加载了。”

  “嗯……电梯门关上之前其实就可以先开始预载了,差不多,这部分就这么定了。”

  林立新满意地点点头。

  初代《半条命》的核心地图黑山研究所本质其实就是一个巨大的箱庭组合。

  得益于它非常现代化和科幻化的设计风格,GAMENOVA的新总部大楼简直就是天然的取材场地。

  “通道这里都好做,无非就是个门,尤其是这种保险闸门,本身就需要一定的开启时间,咱们给演出做的华丽一些,偷偷把地图预载上,应该能降低不少顿挫感。”

  林立新指着图纸上的草图,跟小岛商量着整个加载问题。

  《半条命》系列一直以来都存在一个为人所诟病的小毛病。

  说实话,还挺影响游戏体验的。

  那就是加载。

  每当玩家切换箱庭时,就会出现明显的加载卡顿。

  面对旧时代这种速度本就不快的存储介质,这种卡顿则要更为明显一些。

  哪怕是用一台现代的电脑,用一块加载速度几千MB/s的固态硬盘,照样得老老实实地加载一下。

  这一瞬间的卡顿……

  对这个时代的玩家来说其实不见得无法接受。

  但对林立新来说,就有点难受了。

  这就像是你在看簧片,结果沟槽的校园网卡的要死,每个动作都要卡顿一下。

  这纯纯是在扫兴。

  看完别说荷尔蒙翻涌了,血压一点儿不往下走,全跑脑袋上了。

  气都要气个半死。

  这种卡顿其实是一个典型的引擎技术问题,也算是某种历史遗留问题。

  打从GoldSrc引擎诞生之初,它的地图加载机制就非常明确。

  玩家到达边界,触发提前设定好的触发器,游戏开始加载下一张地图。

  这跟《半条命》的底层设计思想有关。

  为了实现足够自由度的演出,以及丰富的可拓展性,《半条命》在引擎里实现了一种叫做‘Script’的系统。

  也就是脚本。

  游戏内实体、触发器、以及脚本系统。

  三者共同构成了《半条命》里独一无二的自由度和拓展度。

  当然,也为日后的《GMod》打下了坚实的地基。

  但问题也就出在这儿了。

  脚本化,意味着所有的触发都需要通过触发器进行。

  地图的切换本就是触发器的一部分。

  不过既然已经提前知道了这个问题的存在,林立新大可以想办法规避它。

  最简单的思路自然就是异步加载了。

  整个底层架构并不需要做什么修改。

  但要把地图的加载给细分一下。

  分成地图的加载、地图的切换、地图的卸载等多个不同的部分。

  这样一来在更细的颗粒度下,虽然做地图的时候多费了点功夫,却能换来更好的加载表现。

  甚至可以做到近乎无感地地图切换。

  更重要的是,因为首发在NovaFusion上的关系,所有的硬件条件都是已知的。

  在这种条件下,开发组完全可以针对性地做一些特殊优化。

  “引擎组那边估计很快就能把这个搞定,这边专心把地图搞好就OK了。”

首节 上一节 743/757下一节 尾节 目录