2015年总结

  2015年,对我来说可能是进入了瓶颈,并且还有所退步的一年。


  这一年已经不再像2014年那样几乎将所有工作重心都放在UI上了。项目的UI风格、工作流程基本已经固定下来,UI框架和配套工具也已经趋于稳定,其他程序员对做UI也已经很熟练。我已经被解放出来可以去做很多别的事。这一年做了一个跨服商店大系统,用php搭了一个gm服务器(顺便学了学php和workerman框架),接下了客户端打包工具和资源加载的维护和改进工作,还开始学着为美术写shader。这一年在工作上已经比较熟练,不再像前年那样无论在技术还是在工作量上都顶着很大压力。


  这一年我感觉自己在写代码做东西时也不会再像以前那么纠结,因为现在更注重开发时间和维护难度的成本,所以不再要求代码必须有绝对的完备性,而是倾向采用最合适的方案。


  比如在做跨服商店的时候,如果要在内部服务器之间连接意外断开的情况下还能保证数据的正确性,就要引入分布式事务。但一般来说内部连接都是稳定的,而为项目引入分布式事务的代价又很大。在征得主程和测试的同意后,为了避免增加过多的开发成本,我还是决定不往这方面考虑,而是以允许出错,但出错后能跟踪排查的思路来做。最后跨服商店大体还是在计划的一个月多一点的时间里完成了。后来运营期间服务器也没出现这种假想的意外。


  到了搭gm服务器的时候就更不纠结了。当时从完全没用过php到写好一个可用的gm服务器,大概只用了一个多星期的时间。当时我的唯一目标就是尽快做出一个可用的gm后台,所以像账户安全这些在当时完全不用在意的东西就都没考虑,等上线阶段再逐步完善。


  不过当然了,偶尔还是会本性难移,有时候还是会为了一些小问题而纠结上一会儿,给同事留下的纠结印象也不是一时半会儿就能扭转过来。在这一点上还是需要继续提醒自己,注重自我修炼。


  基本上这一年在技术在工作上并没有遇到很大的障碍。


  不过到了下半年,却也逐渐陷入了迷茫当中,心态也有所退步。


  首先,我感觉自己学习过的技术似乎没有什么特别难理解或是特别神奇的原理。即便是像3D渲染的数学方面的原理,只要我把时间花下去,认真钻研,最终总会理解。正如主程所说,一切最终都只是逻辑而已,引擎内部也只是逻辑。即便有什么东西一开始不懂,但理解之后便会有“不过如此”的感觉。这样一来,对技术的追求逐渐就弱了。


  其次,我越发感觉到,其实工作中一般也不会用到真的很难很复杂的技术,毕竟不是在搞科研。可能有理想情结的程序员都会希望自己的工作能够四两拨千斤,希望自己的工作虽然量不是很大,但却能够因为思路巧妙和技术精湛的缘故,给项目带来很大价值。但这种机会少之又少,可遇不可求。更重要的是,在实际的项目中,这种机会即便是有,可能最多也只占整个项目20%的工作,剩余下的80%都是普通的堆量的工作。在项目的整个进程中,这类工作其实会占据绝大部分工作时间,但确实又是必不可少的。有的人会提到自动化,还有灵活的框架设计,但这些在策划复杂多变的需求面前却一般毫无用武之地,大部分逻辑还是要靠人力编写。


  再次,工作的加班强度让我开始感到有点难适应。随着年龄开始增大,加上自己平常也缺乏锻炼,现在再也不像以前读书和刚毕业的时候那么能熬了。看着比自己更年轻的同事们常常能奋战到深夜、凌晨甚至通宵,又想到自己当前做的事情其实并没有很高的门槛,不禁感到彷徨、迷茫和不安。我甚至想过换一个环境。但整个行业的加班风气都十分严重,很多公司的加班强度比我们还厉害。这让我感觉到更加迷茫,甚至担心“程序员干不过30多岁”的论调是不是要在自己身上发生。


  下半年开始,这种迷茫就越来越强烈,到最后甚至影响了工作,让自己在工作中出了错,制造出了一起让我自己感到非常羞耻的运营事故,也被主程批评教育了一顿。


  这让我开始深刻反省自己的心态。毕竟不管自己多迷茫,心情多不好,也不应该将不良情绪带到工作中。手头的工作还是要好好完成。这是职业道德。何况良好的口碑建立起来难,但要毁坏就真是很容易。在这一点上需要时时警醒自己。


  我想,如果我希望自己在职业上能够继续发展的话,接下来的时间里就不能只停留在代码和技术层面了,而是要和行业更贴近,更多地从行业的角度来思考问题。我们做的不是操作系统和编译器这种基础设施,而是直接面对最终用户的产品。现在游戏引擎也日趋成熟。作为一个小公司手游项目的程序员,最重要的素养,一方面是掌握行业中很多成熟的做法、解决方案;另外一方面,应该能够得心应手地应用各种能派上用场的工具。具备了这两点素养,才能快速稳健地实现策划和美术的设计意图,而不是去钻研多么复杂高深的技术。试问假如现在有一个新项目,问我能否主导这个项目里的技术工作。即便是不考虑管理上的问题,从技术角度来考虑,我扪心自问还是没那个自信的。


  其实我们项目至少有两点非常值得我去学习钻研,而这两点也是我们游戏的两大亮点:一是动作打击感,二是关卡、AI的制作。在这两点上我大致知道一些程序方面的原理——动作打点配合音效、特效、震屏和受击效果;AI行为树和trigger。相信基本原理其实仍然是没什么神奇的。但是如果要做真正的好产品的话,仅仅明白基本原理是远远不够的。作为项目里的程序员,我应该多去体会这两方面的制作工具,思考我们是如何让策划和美术能够方便地调出打击感,以及配出关卡中那么多有趣的逻辑和AI。其实在良好的游戏制作团队里,程序员最重要的职责之一就是制作工具的开发和改进。这是接下来这一年里,我想好好钻研的东西。最好还能够跳出程序员的视角,站在游戏设计者的角度,体会出怎样的设计和做法能够带来爽快的打击感,怎样的关卡能够给玩家带来有趣新奇的体验。


  另外,我还需要多接触各种可能会对项目有帮助的工具。比如bash、awk和其它各种linux系统命令,对于排查线上问题往往很有帮助;还有Unity的各种shader特性和效果也要多去了解,别嫌简单。这些东西都是平常开发一般用得较少,但“书到用时方恨少”,一旦需要用到但自己却不熟不会甚至不知道有这么个工具的时候就会很捉急。现在的我早就过了那个只要理解技术基本原理即可万变不离其宗的阶段(虽然基本原理仍然很重要)。对于现在的我来说,在掌握技术基本原理以外,更重要的是广积累,多接触,踏踏实实地积累自己的行业经验。


  2016,新年新气象,希望开年后一切都会逐渐好起来,更上一层楼。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值