没想到这个能出第二期,本篇采访了一位在国内从事游戏行业的工作者,有幸参与了多个游戏的外包开发,我们从他的角度上看目前中国“单机游戏”行业的前景。
Q:虽然都是认识,但能介绍下你自己吗?
A:从小喜欢打游戏,本科专业数字媒体艺术技术方向,手残做不了艺术,所以主攻编程,研究生专业是互动娱乐编程方向,回国加入上海的维塔士,目前工作两年。
Q:维塔士?我记得你之前是去育碧啊?
A:哈哈,没被选上呢(苦笑)
Q:这个公司名气很小啊,看样子这公司是专门搞外包么?
A:是的,虽然老板一直认为自己是“游戏开发公司”。其实,维塔士美术团队还是很厉害的,不光给海外游戏大厂做美术资源,还时不时做点电影外包,比如魔兽电影,星战电影,都有维塔士的参与。相比之下,游戏部门逊色一些。主要是做游戏移植整包,专注底层技术,在游戏设计上基本不做参与。不过最近慢慢也开始发展合作开发业务,目前我知道的有两款,不过都是商业机密,不能透露。总体而言,维塔士的水平,跟海外大厂还是有距离的,不过也是比上不足,比下有余,技术上还是是吊打各种手游小作坊的。
维塔士上海工作室负责移植本世代平台
Q:在工作室里经验收货多吗?
A:在维塔士的好处,就是可以见到真正的上百万行C++代码打造的自定义游戏引擎,这个在国内其他公司是很难有的机会。毕竟国内大厂的端游也就是把UE4扒过来改改,然后美其名曰“自研”。
Q:最近参与了哪些游戏?
A:刺客信条:艾吉奥合集,与黑色洛城Swtich版。
Q:刺客信条吗?本世代的艾吉奥合集为何只有30帧?!
A:这个我就不大清楚了,我中途才加入艾吉奥移植,可能工期太紧吧,一年三款游戏塞一起,很多游戏内原有bug,都是放弃修复的(苦笑)。
Q:那你参与的第二款游戏《黑色洛城》从高配移植到低配上是什么体验?
A:我在项目里不是负责优化的,说下我从同事那里了解的优化吧
GPU方面,首先我们使用的API是NVN图形库。这套API比较特殊,不是传统的Direct3D 11与OpenGL,跟较新的Direct3D 12与Vulkan比较像,特点是更接近图形硬件底层,对硬件有更多的可控性,尤其是在GPU多线程方面。
所以,利用此API,可以充分发挥现代GPU的并行计算优势。缺点便是,难于debug,需要更多精力同步GPU的并行任务与GPU与CPU间的同步。开发过程中,很多UI闪烁bug,就是多线同步没做好造成的。除此之外,还有很多套路性优化,比如立方体环境贴图,原来每帧更新六个面,改成一帧更新一个面。
还有镜面反射,原来会计算反射的内容会远远大于镜子发射的内容,我们做了提前裁剪,只计算反射后,从镜面看得到的部分;动态分辨率;高清漫反射贴图配低清法线贴图等;调整lod的距离,使得玩家需要离得更近才能看到游戏物体高模。不过这也带来了很多bug。比如有个成就是打掉远处塔顶的字母标志,结果因为log距离设置的太近,导致远处完全看不见,也没有办法接近,最后解决方案是,将这些物体手动管理,不进行lod优化。
CPU方面,主要是改进多线程的任务分配效率,我们基本重写很大一部分线程池的相关代码。物理是另一个大的部分,首先降低物理引擎模拟频率。枪战非常耗时间的部分,是射线到物体的碰撞,所以我们将射线多线跨帧处理,提高计算效率;散弹枪这种,减少子弹数量,并且用椎体做预判定。还有,专门集成了Umbra遮挡剔除中间件,优化场景管理,减少不可见物体的渲染,从而减少每帧CPU到GPU的数据传输量。这个中间件可能听着陌生,但其实很多知名3A游戏都在使用,比如巫师3,最终幻想15等。
还有游戏容量,黑色洛城内容量实在太大!!!,没有好的办法压缩,所以,即使我们上架时,卡带里面也不是完整游戏,玩家必须联网,才能下载到剩下的游戏内容。。
Q:谢谢讲了那么多!那么从事这行业的道路多吗?
A:挺多的吧。最简单的是QA,没有啥门槛,只要爱玩游戏就好,之后是产品和设计,比较偏向名校或是国外游学经历且爱玩游戏的,如果有游戏制作经验那更好。美术的话,需要很强的美术功底,最好手绘强。程序的话,最喜欢熟悉C++的程序员,且对数学有一定要求。手游也许用不到C++,但是懂C++依然是加分项,代表一个程序员对硬件如何工作与程序设计有更加深刻的理解。
Q:最后一个问题吧,给步入行业的新人或后辈们的建议!
A:美术策划我没干过正式工作,就不说了。搞技术的话,C++和数学基础是入行的敲门砖。游戏本质是软实时系统,对优化要求比较高,这就意味着程序员需要理解接近硬件的东西,比如多核协作,内存显存管理等。C++既有高层抽象的特性,比如面向对象,多态,又可以直接对内存和线程进行操作,满足了游戏开发的需要,所以C++是游戏开发的首选。其次,由于游戏的特性,不管图形还是物理还是游戏性,需要较强的3D数学功底,所以数学对于游戏开发来说也很重要。入门的话,C++学习方面,推learncpp.com, C++ For Game Programmers,和C++ concurrency in action。
第一个是C++的语法基础,第二本书介绍了如何将C++的各种特性运用到实际游戏工程当中,如内存管理,常用设计模式等。第三本介绍了较新的多线程序设计技巧,如无锁多线程序设计。数学方面,首推3D Math Primer for Graphics and Game Development。这本书的好处是,可以很好帮助读者建立数学与3D几何的联系。游戏引擎方面的书籍,我推荐Game Engine Architecture与3D Game Engine Design。
前一本基本是理论方面,介绍了游戏引擎大致分为哪些部分,浅尝辄止地概括了游戏引擎各个部分的技术要点。第二本偏向于实践,带的例程是一个小的完整的游戏引擎,工业级质量的代码,非常难得。
最后,我的建议是,做技术的话,最好混个高学历,因为现在技术发展越来越快,各个细分领域越来越专,对专业知识储备要求越来越高,比如,近来比较火的物理渲染,深度学习,对数学还有计算机功底,要求就很高。所以,在学校的时候,尽量多储备理论知识,才能更有利于未来职业发展。当然,出了学校,进入工作岗位后,也要不断学习,才能跟上技术发展的脚步。
扫码关注
游研社公众号
小程序
游研社精选
- 首页
-
- 页 / 共页
-
Illusion作品谈 之前我朋友祝佳音写过一篇Illusion公司出品游戏《VR女友》的评测。看得出来他很失望,因为游 ...Realchris2018-05-10
-
理解电子游戏这条暗线,你就秒懂《纸牌屋》的权谋大战了 弗兰克·安德伍德到底是民主党还是共和党?这个问题对理解剧集的内容而言没那么重要。你只需要知道他是 ...十大恶劣天气2017-06-21