程序员

耿直的程序员

2016-09-19  本文已影响0人  菠萝叔
GEEK程序员

今天和一个程序员聊天,他看上去比较疲惫,原因是负责开发的一款3D MMO手游在运行一段时间后会发热比较明显,于是最近天天加班,想要解决这个问题。其实对这种大型游戏而言会发热本身也算挺正常的,难得能见到优化得非常好、长时间运行也不怎么会发热的MMO手游。但当然了,这不是重点,重点是,在闲聊的过程中,我听他说:他们的场景用的是实时光照。

作为一个经验丰富的程序员,他肯定非常清楚实时光照会对游戏性能上产生什么影响,很可能是导致手机发热的较大一部分原因。然而为何还是需要用实时光照呢?也很简单:因为美术那边说用lightmap烘焙出来的效果不好,一定程度上会糊,就算是在PC上也是更不用说在手机上了,所以美术那边说如果想要表现效果,还是只能用实时光照。于是,他研究出来很多法子去尝试解决这个问题,包括使用程序模拟阴影来让GPU不用实时计算阴影blabla。。

这不禁让我想起之前的一个项目,项目时间很紧,在开发过程中原本为了赶进度,计划让策划通过纯文本的方式来配置关卡,跟策划沟通一轮后,他们觉得这样编关卡的效率太低,而且以前做游戏时的关卡都是有关卡编辑器的,于是一定要求先做好关卡编辑器才能方便设计关卡提高产出。于是技术团队又加班加点折腾了一个多星期把可视化的关卡编辑器做出来交给策划,以为这样就完事儿了?too navie!他们花了一个星期感觉随意编了一个章节关卡后,又提出这样的关卡丰富度不够,关卡编辑器要支持配置事件、配置触发、配置技能、配置剧情……到项目最后,负责这个项目的主策划说,感觉力不从心,同时觉得团队之间缺乏信任,于是带着原本他带进来的几个策划一起辞职了……

反思这个问题许久,我认为,根本原因还是出在程序员自己身上,程序员大都多太耿直了!他们没有那么多七窍玲珑心,他们的思维方式是,如果一个问题可以通过技术想办法解决,那就去用技术手段解决。为此加班加点去找解决方案,仿佛只要是说得通的需求就应该被实现,而不去管是不是有必要实现。其实,这种思维方式不但使得自己加班加点苦不堪言,就算是对做事本身而言,也是弊大过利的。

我相信任何新的一个功能需求的提出,必有其合理性。但是必要性呢?的确,这是团队内部会撕逼的很大一个原因,我相信无数团队会为这个争得面红耳赤。而且按以往经验来看,到最后一般都是技术妥协:“不就这么点新需求嘛,加加班什么的未必不能解决,若因为这么点功能不做而导致团队有理由甩锅,或者因为自己没看清而导致项目失败,那就得不偿失了”。于是乎,要做“实时光照同时减少发热”、要做“支持各种配置的关卡编辑器方便策划发挥”这种类似的需求,也就都在情理之中了。

然而后果呢?

先不问技术最终能不能解决,面临的首要问题便是时间问题。不论什么项目,最大的敌人很可能就是时间,各种跟时间赛跑,同样的一个项目,你晚一天出来别人早一天,很可能就是天堂和地狱的差别,原因无它,迟则生变!对于程序而言,经常是在计划外加一个需求,相应的就留下了一些潜在的出错可能性,而后面不得不去把那些可能出错的地方发现并解决才能上线,于是进度也就这么被拖下来了。就像朋友那边的MMO项目,原本计划10月上线,眼下来看可能还问题多多,不得不推迟发布。他们的问题在我看来,应该是美术团队能去解决并且需要去解决的问题。而像我们之前的项目也是这样,策划能通过文本配置解决,就先文本配置着,因为开发过程中肯定是技术比策划事情多很多,没理由让技术加班熬夜而策划在干等着出东西。

其次的问题就是思维惯性问题,这样养成了很不好的习惯。我对人性有一个基本判断就是,人在能偷懒的情况下很大可能性就会偷懒。所以如果你给团队其它人制造了偷懒的机会,那他们很大可能性就会产生惯性依赖:“技术那边说他们应该能解决,那就让他们去解决呗”。其实这在一定程度上也是害人害已:自己累个半死不说,原本他们有机会能去实践分析,提升解决某个具体问题的能力,而你帮他们解决了,那他们能偷懒就偷懒呗。于是到最后自己也累到,同时他们也没学到东西,对项目本身也非常不利。

最后,程序员往往都偏GEEK思维,热爱挑战。当有一个比较有挑战的问题出现时,他们往往会很有兴致的开始研究如何才能各种情况兼顾着完美解决,在解决问题的过程中得到乐趣。这也算程序员的顽疾了。虽然在很多情况下它是有利的,但有时候,从项目角度来看,它会产生一定的黑洞效应,把较多的时间资源导向了一些可能未知的方向。

在我看来,不论是程序员,还是策划美术产品经理制作人,都应该对项目最终的结果负责。就像企业团队的用人,如果某个人不适合这个团队,一定要尽早解决,因为他的存在既阻碍了团队的发展,团队同时也在阻碍他个人的发展,去到更合适他的地方更利于他的成长。同样的道理,只有团队每个人都在切实的从项目最终成败角度出发,各自扛起自己所应当扛起的责任,对归属于他人的责任能帮便帮,但同时也不轻易做老好人,这样反而更有利于项目推进。立足于这样的思维方式,并采取一定的沟通技巧去处理这类问题,项目才能在更可控的质量和时间上发布,团队和企业也能更加健康的成长。

上一篇下一篇

猜你喜欢

热点阅读