名人堂丨腾讯前台程序专家方煜宽:从业十年,仍在追梦路上
方煜宽
腾讯权威TDR专家,英特尔&腾讯游戏联合创新实验室成员
方煜宽,腾讯权威TDR专家,英特尔&腾讯游戏联合创新实验室成员;从金山软件电子表格开发起,经历了盛大游戏传奇工作室的《传奇3》开发和优化,《龙界争霸》、腾讯互娱的《节奏大师》、《王牌战机》、某知名IP竞速类手游等游戏的开发。编写过客户端框架、GUI库、富文本编辑器、图库、地图编辑器,熟悉2D端游及Unity3D手游开发。对MMORPG、音乐游戏、弹幕游戏、足球类游戏、竞速类游戏有多年的研发经验。
向往游戏,追逐梦想
向往游戏,追逐梦想
GAD:可以跟我们谈谈您的工作经历吗?
方煜宽:我从业10年,前2年做软件开发,后面8年都在做游戏客户端开发。我毕业于韩山师范学院,计算机科学与技术(师范类),大学期间学习还算比较刻苦,大一时很多课程就已经提前学习了,如C语言、数据结构等,大学时期写了很多代码,刷ACM题目积累了丰富的编程经验。
毕业后第一份工作,非常荣幸拿到珠海金山软件wps的offer,在wps主要做应用开发,以及电子表格ET开发,但我很向往做游戏的氛围,觉得做游戏是很趣的事, 远比做软件更有激情更有意思。在金山软件工作期间我打下了比较好的编程基础,C++编程能力得到了很大的提高,积累了windows底层编程的知识和COM相关的编程。
第二份工作,去了上海盛大的传奇工作室,做端游《传奇3》。因为一直想做游戏,有机会就跳过去了(当时如果没去盛大传奇工作室,应该会去广州的多玩YY语音)。过去后从底层开始学,使用的是自研引擎。工具、UI库都需要自己开发,需要从零开始学习。《传奇3》是韩国游戏,因为国情不同,在网络流量、游戏性能、游戏外挂等方面考虑得比较少,我主要负责游戏客户端的优化,在这时期学到了很多游戏相关的知识,如DDraw、D3D以及2D的MMORPG游戏的开发经验。
第三份工作,是领导邀请我创业,也是做端游。当时我们团队比较有经验,游戏完成得比较快,但创业过程中也遇到了很多困难,这些困难是呆在大公司所无法体会到的。
第四份工作,来到腾讯互娱开发手游,主要参与《节奏大师》、《王牌战机》以及目前正在开发的竞速类手游戏。
创业之路,道阻且长
创业之路,道阻且长
GAD:创业过程中遇到了什么困难以及创业要注意哪些事?
方煜宽:遇到困难主要是跟原来公司的一些纠纷,另外创始人团队意见不统一也是一个很大的问题。
创业要注意的事,其实很多:
1.创始人意见统一。
2.创业时找人应该是互补的,策划、程序前后台、美术都应该有一个比较强的人带队。不能有短板。
3.尽量避免与大公司的产品直接竞争。
4.产品目标明确。小公司是不允许试错的,应该找准市场的一个突破点,争取做到最好。
5.资金链不能断。创业的时候需要预估好资金,如果项目需要做二年,那要准备好三四年的资金。
6.跟投资人保持良好的沟通。
7.尽早找好发行商。
GAD:做游戏现在适合创业吗?
方煜宽:12、13年的时候,流行手游创业,当时市场空白,创业成功机率高,市场对游戏品质的要求很低,开发游戏成本很低,也更容易拿到投资人的钱。而现在研发游戏创业,我觉得现在并不大合适,现在是红海时期,已经出现很多质量非常好的游戏,玩家对游戏品质的要求越来越高,现在大的游戏类型都已经被大公司占领,大公司也开始关注游戏细分领域,创业团队除非对某个品类很专注,具备与大公司竞争的研发实力,那可以试试。如果没有,那还是先加强自己的技术水平,做好积累,等待风口。
如果你是程序员,那不鼓励你单独去创业,需要有一个完整的团队,好的组合,需要程序、策划、美术各方面都均衡。人才需要互补均衡,不能在某方面有很明显的短板,比如策划很强,程序很弱,可能一些想法实现不了,游戏体验不好。程序研发能力强,策划比较弱,不知道要把游戏做成什么样,也做不出好的游戏。
职场生涯,经验分享
GAD:腾讯里面做游戏,是如何选择引擎的?
方煜宽:选择引擎,要根据产品需要和团队特点选择。团队对哪个引擎比较熟悉,哪个引擎渲染性能比较好,是否能达到游戏的要求,还有使用这个引擎的工作量,引擎是否提供完善的工具链,能否快速开发,节省开发时间等等。开发2D游戏,可以用cocos、unity3d或者自研;开发3D游戏,腾讯大部分用unity3d,现在也有部分游戏用UE4了。到底用unity3d还是UE4,需要权衡很多东西,比如说游戏的画面要达到什么品质,渲染要求怎么样,团队对哪个引擎熟悉。
GAD:在你的职业发展中,有没有你觉得比较失败的经历?从中又有什么经验和教训可以分享给大家?
方煜宽:3年前,做了一款弹幕射击游戏《王牌战机》,是《全民飞机大战》的3D版。这个游戏有一定创新性,画面从2D变成3D,飞机还可以变成机器人近身战斗。那为什么失败了呢?我认为,要看市场是不是需要这类游戏。《全民飞机大战》为什么成功,因为推出的时候,市场没有类似的产品。14年的时候,我们觉得这个游戏很火,国民级手游,觉得做这个游戏的3D版,肯定也能火,跟风一股脑就去做了,忽略了市场的变化。花了一两年时间把游戏做出来,但是已经过了市场窗口了。游戏测试了几次之后,最终没有发布,很遗憾。
GAD:常有人发问,30多岁,还是个普通程序员怎么办?您觉得30岁以后的程序员应该怎么规划职业生涯?
方煜宽:如果30多岁,还是普通程序员,需要反问自己,平时是在混日子,做一些体力活,还是在克服技术难题。如果平时不在工作中积累和学习, 那就只能当普通的程序员。
在工作中遇到困难,应该主动去解决,并总结经验。解决后,再思考有没有更好的解决方案。如果很认真地对待职业,应该不满足于当前的解决方案,多看看业行内其它团队的解决方案,寻找更好的方案。
平时需要多积累、多学习,不能和20多岁的年轻人拼体力,要拼技术深度。比如游戏引擎,不仅仅是关注使用引擎来做功能,可以深入挖掘引擎底层的东西,这个引擎是怎么做的,GPU是怎么渲染的。虽然不在工作范围内,但是做了这些研究,能够帮助你在这个行业走得更长远。
职业规划这个问题,每个程序员都会想,从我一毕业就会想,每年都在想。我总结了一下,程序员的职业,有3条路可以走。
1)深入研究,成为技术专家。
2)转管理,管理也是一种能力,如何协调团队高效开发。如果觉得性格合适,又有这种机会,不妨尝试。
3)最后一条路,趁早转行。如果对游戏行业没兴趣,对做技术没兴趣的话。我觉得还不如早点转行。也许自己在其它方面会更有兴趣,在其它行业会有更好的发展。
GAD:AI现在很火,在游戏里的AI有怎样的发展空间?
方煜宽:自从AlphaGo战胜李世石后,AI便开始风靡全球。AI的应用,在游戏里有很多。比如棋牌游戏,以前的游戏AI是比较简单的,甚至会有部分作弊的情况。以前的做法,会让AI偷看牌、偷换牌来赢得比赛,这种游戏AI开发成本低,效果在当时也还可以。但现在的AI,越来越趋向于真实,是一种自我学习、与玩家进行博弈的AI。又如体育竞技游戏里的队友配合的AI,传统方法是用行为树去构建,现在会采用神经网络、深度学习的方法,使游戏的AI的行为更像人的行为。
新人入行,建议指引
新人入行,建议指引
GAD:对于有志于投身游戏开发的年轻人,您有什么建议和忠告吗?
方煜宽:1)首先,要对游戏开发感兴趣、有热情,这一点是大前提。如果不是的话,就不要做游戏了,做游戏很累,加班加点是行业常态,没有兴趣的话,很难支撑下去。
2)其次,做好知识储备,基础要扎实。
相应引擎的语言(语言特性要吃透)、数据结构、数学(游戏客户端开发数学非常重要)、图形学、渲染(可以学一学OpenGL或D3D)、设计模式、工程代码规范、网络、算法。
上面列的只是最基本的,实际后面学习东西肯定不仅仅是上面这些,这要看你后面做的是哪类游戏,有一些游戏开发经验,也不是书上有的,要靠后面在工程中去积累了。
另外很多大公司对应届毕业生的招聘,还是比较考基础,像数据结构、计算机组成原理、C语言 、基础算法、网络等等。对于一些中小型的公司,可能更会侧重对某个引擎的实际使用熟悉度。
3)如果临近就业,你要确定你第一份工作用的游戏引擎是哪个?现在手机端的用得比较多的商业引擎主要有cocos、unity3d、UE4也有也用到手游戏上的,但是目前不多,UE4做手游戏应该是一个趋势。还有做h5的cocos creator、Egret、layabox等等选择不同,努力的方向也不同。选定一个游戏引擎后,动手做一个小游戏,在实战中去学习。
工作之余,生活兴趣
工作之余,生活兴趣
GAD:生活中喜欢做些什么,有什么爱好分享的呢?
方煜宽:第一,从小就喜欢看动画片。日本的、中国的都有,最喜欢《名侦探柯南》。喜欢动画里的纯洁、纯情与热血。
第二,健身。以前一直没有运动,身体不好,日夜颠倒地加班,在上海工作时,就进医院住院两次。来腾讯做手游后,发现比原来更忙、节奏更快,身体吃不消了。就抽出时间运动,开始去深大跑步,开始只能跑800米,到现在可以跑20几公里了。后来发现,其实花点时间运动,身体更好,不仅不影响工作,还能让工作效率更高。现在我每天中午都会去健身房运动。每天运动,除了健康,还能让身材更好看,现在很多年轻人两三十岁就挺个大肚子,形象也不是很好。
第三,看书。看书除了技术类的书,也看其它类型的书,读理科的人也要多看看文科的书,看书感觉是一种享受,看书能让人感到充实,真的比看网上的心灵鸡汤要好很多。技术类的书,我喜欢看纸质书,其它类型的书,纸质或电子书都会看,现在都会用碎片时间(如等电梯时,食堂排队时)看微信读书。
今日推荐
一键添加
加小编微信,享双重福利
1.加入GAD程序猿交流群,获取行业干货;
2.领取60G腾讯内部分享等独家程序资料。