说实话,罗素不是没见过别人给他画饼。
这一辈子走下来,什么饼没吃过?
这张大饼还真就没吃过!
光是新GPU带来的数字化设计流水线和数字孪生的赛车电子游戏两样,就足够让他把林立新捧在神位上妥帖照顾了。
有没有夸大的成分?有没有可行性?
谁他妈有功夫去管那个!
通用汽车最不缺的就是钱尼尔多隆嘛?
……
林立新来的时候坐的是自家公司的宾利。
走的时候开的是雪佛兰科尔维特ZR-1限量款。
接下来福特那边以及欧洲和霓虹那边的几家厂子,就让布兰卡和山姆负责跑一趟就够了。
自打上次把约翰·布兰卡绑上自家战船之后,GAMENOVA也开始逐步组建起一支更加现代的法务团队了。
虽然还做不到南山必胜客或者东半球最强法务部的程度,但也算是蒸蒸日上,步入了正轨。
至于接下来林立新的工作……
文的搞完了,也该搞点理的了。
GAMENOVA本部,开发部。
“卡马克,威尔,干活儿了,咱们得搓个新的引擎。”
面对《极品飞车》这样一款完全次世代的作品,凭借GAMENOVA现有的技术栈,还真就干不了。
尽管开发部手握《QUAKE》时期积累下来的至今仍在不断迭代的引擎技术。
但不少项目在开发的时候实际上仍然会选择绕开这个引擎完全从零开始构建工作流。
这倒不是说Quake引擎不好使。
恰恰相反的是,经过这么长时间的迭代和无数开发者对社群环境的建设。
Quake引擎的生态已经高度完整了。
哪怕是一个刚入行的萌新开发者,只要软硬件基础都还算OK,就可以快速上手尝试构建出自己版本的《Quake》。
但问题就在这儿了。
Quake引擎完全就是为《DOOM》和《Quake》这种游戏而生的。
它无法用来开发《心跳回忆》,因为模块大量冗余,臃肿不堪,反而会严重拖累性能。
它也无法用于开发《模拟城市》、无法用于开发《皇牌空战》……
不同的游戏类型,往往有着截然不同的需求。
哪怕是到了后世引擎技术和PC生态已经高度完善的时代,各家的引擎也依然分庭抗礼。
不会因为虚幻的新光照引擎非常牛逼,就挤兑没了Unity的生态位。
寒霜引擎天生擅长的3A级渲染和物理破坏非常适合EA的一众诸如《战地》的作品,但却不适合用来做轻量的独立游戏2D项目。
Godot在独立游戏开发上的优秀表现也不可能延续到3A大作这种工业化的流水线里。
RPGMaker可以让萌新也迅速上手做出属于自己的RPG游戏,但又做不到真正引擎那种高自由度。
一款游戏引擎,往往有自己明确的定位。
很难会有哪一个引擎能说自己可以胜任一切工作的。
如果开发者的打算是让玩家惊呼‘卧槽!’,那虚幻自然足够优秀。
如果是一位独立游戏开发者打算搞车库创业,那Unity和Godot反倒是更好的选择。
‘万能引擎’这个概念,压根就是个伪命题。
哪怕是林立新,在开挂的情况下也不可能搞出这样的东西。
什么都能做等于什么都不精。
为了《极品飞车》,他们需要一个完全从底层开始构建的全新工具库。
只有这样才能确保这次的作品能彻底榨干硬件的所有机能,不会有任何冗余浪费。
不过嘛……
虽然林立新做不出完美的‘万能引擎’,却可以让一个专精《极品飞车》的引擎走到极致。
所谓优化,越是底层,越容易做的彻底。
当然,也会更加困难。
这种规模的项目,显然已经不是过去8位时代那种一两个人花一星期时间就能解决的了。
林立新掏出电话,给动视那边拨了出去:
“接大卫,让他把本·戈奇送过来。”
本·戈奇,虽然技术比不过卡马克,但也是个少年天才。
跟着动视磨砺到现在,技术也早就已经相对纯熟了许多。
算是GAMENOVA阵营里卡马克之下的图形学第一人了。
“对了,还有贝塞斯达,让克里斯托弗把物理引擎的团队全都带过来。”
想了想,林立新又拨出一通长途电话,打到了霓虹那边。
“小智,联系世嘉那边,让中山社长把中裕司那小子调过来。”
中裕司也算是一个天才程序员了。
放眼整个GAMENOVA阵营,他的编程能力都是数一数二的存在。
当然,选择他加入项目组,更多的还有另一层原因。
那就是他的强项恰恰正是‘速度’。
《刺猬索尼克》这个项目里最重要的是什么?
自然就是速度感。
在高速移动下,镜头的控制、性能的调校、高速场景的加载等都是需要不断打磨优化的。
作为AM8,也就是现在SNOICTEAM的负责人,中裕司在这方面的技术积累非常成熟。
竞速游戏最需要的恰恰就是他所擅长的这些东西。
再加上威尔这个搞拟真的天才。
当然还有约翰·卡马克这位最核心的3D图形学之神,以及作为最终兜底和架构的林立新。
这样一支梦之队,总算是有了个初步的开发能力。
挂断电话。
林立新仔细审视着这份名单,眉头微微蹙起,看向身旁的卡马克。
这位3D引擎之父,FPS之父,图形学之神,似乎存在着一个微小的问题。
以前因为项目的区别和各种原因,这一点一直都被他忽视了。
“卡马克,如果让你来写《极品飞车》的引擎,你会怎么做?”
“我?呃……建立矩阵系统和四元数,编写数学基础层,然后写3D渲染器和物理……”
“停停停,我不是这个意思。”
林立新摆摆手,打断了卡马克的‘述职报告’,
“这样吧,给你一个、不,给你半个小时的时间,你写个原型出来,不需要考虑完成度的问题,我只是想看看你的思路。”
卡马克愣了愣,旋即用力点头,赶快跑到自己的工作站前忙活了起来。
……
不得不说,卡马克的含金量绝对是无需置疑的。
有的时候他解决问题的那些精妙的思路,就连林立新都要拍案叫绝。
仅仅半个小时的时间,虽然这东西还完全没法用,但居然还真就已经有了个大概的型。
“嗯……”
林立新快速做了一遍代码的review,沉吟片刻。
跟自己想的差不多。
卡马克的技术绝对是无需置疑的,但是他的行事风格有些特殊。
如果说林立新的思维是‘工程化’的话,那卡马克的风格其实是‘作品化’。
或者说是‘作品级引擎’。
这并不是一个贬义的说法。
某种意义上来说,这反倒是卡马克最大的特长与优势。
“我发现你在做引擎的时候……脑袋里已经有了游戏的样子,没错吧?”
这就是卡马克的思路。
强目标绑定。
就如Quake引擎那样,它从诞生之初,就是为了《QUAKE》而生的。
如果是做《DOOM》呢?
有的人会选择用QUAKE引擎这个逻辑完全共通甚至一脉相承的引擎进行二次开发。
但若是换做卡马克……
他会选择再单独开发一个Doom引擎。
一个引擎,永远只服务于一部作品。
甚至不包括它的续作。
这意味着哪怕是开发《QUAKE2》,也需要完全重构一款全新的引擎。
引擎内部的每一个部分,每一个功能,都是为了解决特定的任务而生的。
《QUAKE》用BSP树,那就是BSP树,没有任何拓展或是改变的空间。
从工程学的角度来看,它有些不够优雅。
抽象程度太低。
但放在优化的角度来看,它的确是完美的。
在卡马克的心中,优先级最高的永远是‘能跑’。
其次是‘足够快’。
剩下的一切东西都不重要。
也就是说在卡马克的心中,他已经在脑海里开发完了《极品飞车》,这才围绕着这部作品反向编写出了这款引擎。
性能被压榨到了极限,开发速度奇快无比,没有任何多余的抽象层。
每一行代码,甚至是每一个字符每一个常数每一个变量,都是为了最终的目的而生的。
这很好。
至少放在8位和16位时代来看非常好,在极客的角度简直优雅到让人发疯。
但问题也恰恰就出在这里。
“卡马克,不知道你还记不记得我说的。随着硬件机能的提升、存储容量的增长,个人开发的时代已经一去不复返了。”
这句话当然不包括那些纯卖创意的独立游戏开发者。
而是针对的游戏工业化的大厂。
或者说是做3A、做次世代作品的这些公司。
“你看,你做的这个引擎固然完美,但它却不适合团队协作,当工业光魔的建模团队加入,当其他几位开发者加入,当克里斯托弗他们带着物理引擎加入……”
“这些被完全嵌死在代码里的设计和为了性能彻底牺牲了结构的设计,会造成巨大的麻烦。”
不是每个人都能像林立新这样面对一大堆被极致优化后的代码还能一眼分析出来的。
如果是其他开发者,光是啃代码,估计都要啃个十天半个月的才能初步上手开始开发。
“更何况,《极品飞车》是卖画质的作品,随着显卡的迭代,它必然需要一部续作。而到了那个时候,这个引擎真的还能继续用吗?”
答案是否定的。
林立新来到书架前,目光落在一本前些天刚刚入手的新书上。
《Zen of Assembly Language》
一本讲汇编码优化的作品,机器级思维的代表性读物。
这本来是林立新买来刷属性用,不过此刻却给他提了个醒。
这本书的作者……迈克尔·阿布拉什,一位图形学领域的专家。
目前还在微软担任程序员。
但按照原本的时间线,过不了多久,他就会成为idSoftware的一员。
成为卡马克诸多心腹之一,也是《Quake》的图形技术开发。
论起图形学,或许阿布拉什比不了卡马克。
但在优化和工程性这方面,他绝对是有说法的。