采访西山居杨林:一个资深程序员的自白

  在西山居园区里一家名叫“正经咖啡”的咖啡店里,我见到了杨林。

  这个被同事们称为“三叔”的《剑网3》的主程带着半框眼镜,穿一件程序员标配的黑色立领体恤,脸上的笑容温和又矜持,看上去并不是喜欢侃侃而谈的类型。但在真正聊起天来后,他的开朗却超出了我的想象。尤其是聊到游戏优化等他相关工作的话题时,他热烈的就像个话痨,某种程度上算是颠覆了“码农”这两个字在我心中的形象定式。


三叔和他“魔性”的笑容

关于剑网三优化的二三事

  杨林大学毕业后就进入了西山居,着手游戏程序渲染方面的工作,到今天已经有15年。因为早期在论坛里的ID叫做“3D程序员”,所以在年龄大了一些之后,周围的人把三字头保留了下来,给了他“三叔”的雅号。

  三叔的日常工作中,游戏优化是很重要的一部分,之所以周六我还能在公司见到他,也是因为他正在忙着20号上线的新版本的优化工作。 “这次优化主要针对低配玩家,就是集成显卡、超极本这些,目的是降低游戏的带宽需求。现在的游戏很多都是16bit渲染,但低配本只有40个或者30个流处理器,它画一个720P的画面都很费劲,所以我们向现实妥协了,改成了8bit,这样一下就快了超过一倍”。

  他是这么给我描述自己手头工作的。

  《剑网3》很多用户都是采用的笔记本,所以在配置方面会偏低一些,尤其是很多小白玩家,对配置一知半解,本身也没有能够流畅运行重制后《剑网3》的高配pc。三叔顺便用小米比较热门的一款笔记本举了例子。


《剑网3》用户中低配玩家占了不少比重

  “intel M3处理器+1080P的屏幕+集成显卡,这款超极本才卖3400元,甚至不如一些旗舰级手机的价格高,用这种本玩游戏,效果可想而知。所以,为了让集显用户也能有更好的游戏体验,我们需要下一番功夫”。


一些超级本的价格确实不如旗舰级手机

  三叔表示,《剑网3》最近推出的精简版客户端也是为了低配玩家准备的。毕竟如今SSD已经成了电脑的标配,但很多低配笔记本只有一块128G的固态硬盘,一个系统又占去了20到30G的空间。如果再装一个80G的游戏,对电脑的压力可想而知。全新的精简版只有30多G大小,但三叔表示,这还不是极限,不过如果继续压缩,可能就会出现一些其他问题。

  《剑网3》自开测至今已经过去10年了,在2017年,这款游戏进行了重制。

  “为什么会想到做重制版呢?”,我一直很好奇这个问题,尽管《剑网3》重制版极大提升了游戏画面,但也确确实实的把一些低配玩家拒之门外。

  “当然是不想被别人比下去啊,你想想最近几年出的游戏,画面一个比一个好,你要是还用十年前的画面,怎么跟人家竞争?我希望《剑网3》能一直站在国内优秀游戏的第一梯队里,做端游就是个逆水行舟的过程,不思进取就是卖情怀,没什么意思”。

  “现在玩家们的口味与审美被3A游戏培养起来了,你要是原地踏步,不把游戏越做越好,怎么会有人买账?虽然重制版可能让一些玩家们的电脑承受更大的压力,但是必须要走的一步”。

  提到3A游戏,三叔又跟我聊起了主机游戏与PC网游的优化的区别。主机游戏和PC网游在优化方面有着天壤之别,主机游戏机型固定,往往可以针对一种机型进行特殊优化。使用某些专用技巧,可以在汇编层面一点点修改细化代码,针对单一的主机配置单独优化。但网游不行。它要适配更多玩家,不同的配置,不同的性能,调整起来要困难很多。


主机游戏可以针对特定机型优化,但PC游戏要考虑兼容更多机型

  “让低配玩家也能玩,这是我们的努力方向之一。虽然现在还没有做到,但未来我们可能进行一些分块化的设计,比如在不同的玩法里,采用不同的优化方式。当然,这有很大一部分工作需要美工和策划方面的努力”。

  在提到策划时,三叔开启了自己的吐槽模式,看来是平时“积怨已深”,才让三叔把苦水一股脑都倒在我身上。

  “我们策划就喜欢设计一些人多的活动和玩法,几百个人打一个BOSS,想想就头疼。野外BOSS死的那一瞬间,能达到我们一周带宽的峰值”。

  三叔还抱怨美工不跟他商量,就设计很多东西,出了问题才来找他。比如之前美工设计了一套外装,有皮毛的那种,加上去一测试跑不动了,来找他解决,三叔一看,那件衣服上有六万根毛!

  “因为之前没有硬性规则所以才出现这些问题,不过这样也有好处,没有那些边框限制,一些设计才更灵活,才有会更多有趣的设计,只是我们优化起来很头疼”。

  作为一名程序员,三叔对一切新鲜的技术都有旺盛的好奇心。时下“云”概念正属风口,对于云游戏,三叔也讲了讲自己的想法。他觉得云游戏是一种趋势,或许在未来,《剑网3》也能在手机上玩。当然如何降低成本是个大问题,毕竟宽带和服务器的并不是白给的。

三叔的国产引擎梦

  近几年,国内很多游戏都采用了商业引擎,《剑网3》去选择了使用难度与成本都更高的自研引擎,这让一直让我很疑惑。

  “为什么选择自研引擎,我可以这样解释。全球的3A大作大多数都不是商业引擎制作出来,每一个大作的自研引擎都有属于它自己的独特技术,这些技术商业引擎不具备的。像我们在研究的一个技术,可以让引擎同时画多个模型,不在按序执行,这个技术刺客信条早在三年前就用过,直到现在市场引擎还做不到”。

  我刚入行的时候差不多03、04年那会,做网游没什么可选的引擎,那时候大家都倾向自研。刚开始研究引擎的时候,国内连资料都没有,完全是在自己摸索,别人都在研究Dx9,我们还在搞Dx7。不过,好在追了这么多年,算是赶上了进度,现在别人都在研究光追,我们也在研究光追”。

  提到了光追,我和三叔的意见一致,都觉得目前实现高分辨率光追,对硬件的要求太高。只是三叔觉得光追是个具有历史意义的东西,虽然现在旗舰级显卡也只有10亿条光线,但未来随着显卡性能升级,会有20亿、40亿甚至上百亿,到时候,光追的问题自然就迎刃而解了。

  在聊到这个话题时,三叔给我看了一小段演示视频。视频采用了光追技术,把水面的倒影展现的一清二楚。但三叔认为用光追实现反射并不是正确的打开方式,毕竟反射用其他技术也能实现。他现在把重点放在光追的“半透明”效果上。

  “我们游戏有很多纱裙等镂空和半透的材质,这个处理起来很麻烦。还有头发,我们现在用的是一种叫做OIT的技术,也就是顺序无关的半透明,它是一个近似效果,并不是真正的半透明。但光追如果能用的话,效果就完全不一样,比如纱裙很多层,每一层的透明度都能正确计算,每一个部分光线都会重新求一次焦,正确反映光线的效果,和现实非常接近,这才是光追的正确用途”。

  我能从三叔的语气中听出他作为一名程序员,对于国产引擎和新技术的渴望,三叔表示,他会尽力让自己开发的引擎有一些独创性。

  《剑网3》从开测至今已经经历了10年,无数的版本迭代、内容更新,但如今游戏虽然已不复巅峰时期。不过,这一切对于杨林来说,似乎又从没有改变过。

  “我觉得国产引擎肯定能做出些独特的,领先其他引擎的东西,我只要守好《剑网3》这块根据地,一步步往前走,我的理想一定能实现”。

  他这样说到。

热门相关:这个武圣超有素质   冥海禁地   我真不是药神   我真不是药神   我真不是药神