欢迎光临

文章详情

网易游戏的程序开发屠文翔:我的职业是游戏程序员!

2018-08-22 handler 1691

对于热爱游戏的人,能够开发出一款自己的游戏,绝对是一件很酷很有格调的事。游戏行业的高成长高回报,也吸引着越来越多的程序员跃跃欲试。

我是网易游戏的程序开发屠文翔,今天就想和大家分享一下,从爱玩游戏到开发游戏,我都经历了什么?

屠文翔|网易游戏程序开发


2013年毕业于华南理工大学,2015年加入网易。目前在《明日之后》项目组进行引擎优化与游戏玩法开发等工作。爱造轮子,自主开发了整套遮挡剔除烘焙与运行时系统。喜欢分享技术,2017年度金牌沙龙主讲人。

【与父母斗智斗勇的游戏开发之路】

我从小就是一个爱打游戏的人。

与电脑的结缘在我六岁的时候,我爸在报纸上看到一篇专家写的报道称电子游戏能开发儿童智力。我爸是大学老师,他当时管理着一个实验室。于是乎,每周我爸都会带我去机房玩电脑,在那时,从吃豆人、大金刚到疯狂赛车,这些现在看来画面非常简陋的游戏给我带来了无穷的快乐。


然而好景不长,半年后我爸在报纸上看到另外一篇专家写的报道称电子游戏会损害儿童的脑补发育。从那以后,我爸再也不让我接触电脑。然而此时我已一发不可收拾,从此与父母围绕着电脑游戏展开了十多年的斗智斗勇。偷偷去同学家玩,父母不在家时玩,调闹钟半夜起床玩,不一而足。

初中,我开始接触到了计算机编程。当时学校有开设编程课外兴趣班,用Pascal语言在屏幕上绘制字符画。对于大部分人来说,在黑底白字的命令行中输入一些意味不明的英文字母,然后等待返回结果是一件非常枯燥的事情。对于我来说也是一样。但学习编程是我为数不多的能够光明正大地“玩电脑”的机会,因此我咬牙坚持了下来。


大学读的是软件工程专业。由于有初中和高中的编程基础,课程对于我来说比较简单。大一结束时,有一门C++语言的大作业,要求完成一个命令行输入的计算器小程序。此时这种练手类型的小程序已经满足不了我了,我希望去开发一些“真正有趣”的程序。一个想法在我脑海里浮现——既然如此喜爱电脑游戏,我何不自己开发一个呢?

【编码+游戏,双重成就让我沉迷】

一本名为“Windows游戏开发”的书成了我的启蒙之书,闷头钻研了一个暑假,最终做出来了一款有十个关卡的贪吃蛇游戏。


游戏制作完成后,热情高涨的我还为它制作了一个漂亮的UI界面,并配上了背景音乐和音效。作业展示时,绝大部分同学的展示的都是黑底白字的命令行,我的贪吃蛇游戏简直是其中的一股清流。毫无疑问,我的作品获得了满分。收货了巨大成功喜悦的我从此坚定地走上了游戏开发的道路。

第一次实习,团队开发的是一款格斗游戏。那时的我除了心情激动以外,格斗游戏一无所知,看着策划需求二脸懵逼。为了尽快弄明白游戏原理,向前辈请教,阅读代码,网上查资料。一开始虽然进展缓慢,但随着时间推移,事情渐渐豁然开朗。

噢,原来抓投技可以破防,是因为判定的优先级不同。

噢,原来打在不同部位伤害不一样,只是简单的矩形相交检测。

曾经我只是芸芸玩家中的一个,而现在游戏机制的秘密在向我徐徐展开。我把每一个难题当做游戏中的关卡去攻克。当实习结束时,已经对格斗游戏的机制了解得七七八八,再也不会手足无措。

编程与游戏一样,也是智力活动。编程讲究的是代码形式上的优雅,结构上的稳定,与性能上的高效。就像是使用最少的建筑材料,搭建出最高的宝塔,是一门十足的手艺活。一旦沉浸在编程的世界中,所获得的身心上的愉悦不逊于沉迷游戏,而使用拿手的编程语言,看着游戏的玩法一步步地在手中实现,就获得了双倍的快乐。

【淌过菜鸟之路,在写Bug中不断成长】

后来,有幸加入了《乱斗西游》项目组。相对于格斗游戏来说,MOBA游戏的技能机制复杂了一个数量级。此时的我踌躇满志,对所有代码都不放在眼里,却不想闯出了一个不大不小的祸来。


一次,要制作一个新英雄。有一个技能,可以让敌方目标单位复制出多个幻象,当AOE技能打在这些幻象身上时,敌方目标单位就会受到多重的伤害。此时《乱斗西游》已有多达50位英雄,比较稳妥的做法应该是一一标记出属于AOE的技能,并在它们结算时增加一定的伤害。而我出于偷懒没有这么做,而是创建了几个隐藏的实体接收伤害,并将伤害转移到敌方目标单位上。没想到,有些英雄的技能与这个新英雄的技能产生了连锁反应,可以打出“爆炸伤害”。此时新英雄已经推出,覆水难收,策划就默默地接受了这个设定。

经过这件事情,我在后续的开发工作中成熟了许多,除了实现策划需求外,还要多考虑可能会发生的情况,避免出现意料之外的问题。

而现在,我加入了《明日之后》项目组。《明日之后》是一个自由视角的3D游戏,场景非常复杂,性能压力很大。我开始慢慢地接手游戏引擎的研发和优化工作。如果说游戏是一出盛大的戏剧,那么游戏引擎就是承载它的舞台。游戏引擎应该是稳定而高效的,只要出现了bug基本上就是大bug。

当时整个项目组都在热火朝天地进行开发,而我为了提高游戏的帧率,不得不逐步重写掉部分渲染逻辑。我感觉我所做的事情就是在帮一辆飞速行驶的汽车换轮子。幸好多年的游戏开发也为我积累了大量的经验。最终,我成功地在不影响项目组开发进度的情况下,完成了引擎底层渲染的重构工作。

关于AB娱乐

业务覆盖AR/VR研发及解决方案,游戏订制开发,小程序开发,营销管理系统,动作捕捉等领域。解行业之需,以顶尖人才技术和服务为客户创造非凡价值。

查看更多

联系AB娱乐

底部图文