工作十年了,我所指的是干程序员的工作.前几天就应该写的,但是因为周中晚上回去还要刷高数,就没写,改到今天写.虽然明天也还是上班,但是无论如何,都要留下点文字,以后看啊.
十年,简历上体现的工作是第七份工作了.其实有的时间实在太短,要么3天,要么3个月,就不往里写了.我这十年,一开始参与页游项目,之后棋牌端游,棋牌手游,再手机端搞shader,再搞游戏引擎,再搞渲染器,再搞游戏,再搞游戏,就是这么个路线.经我手干上线的游戏就是<<推倒>>,据说后来我走了之后我写的代码晓峰都给重写了,之后就是上一款<<剑侠情缘2JGX>>.真的是有点尴尬,以做游戏为初衷入行,但是时至今日就两款上线项目,真的是有点尴尬.我就一段一段工作经验简单梳理下吧.
我一直都非常感激东哥,杨晓东同志给了我第一份游戏开发工作,虽然之前曾去上海干了两个礼拜,但那个不算了.可以说如果当初东哥不招我做游戏,我很可能到现在都没入行,之后...有点不敢想,当时的情况不多说了.第一份工作就干了十个月,现在看来是没有用更多的时间回报东哥当时的知遇之恩,每当想起此事,会觉得羞愧.我从业五年的时候,当天晚上和东哥qq交流了许多,对他表达了感激之情.第一份工作做客户端工作,客户端和服务器都写,还是比较驾轻就熟.那段时间我就接触了很多,后来再那个时候就选择了搞客户端渲染,晚上吃晚饭学习游戏开发知识,"3D数学"什么的,从那个时候就开始学.后来和晓宇交流,他告诉我我看的那本书是他翻译的,真是前人栽树,他导师署名翻译了~...
第二份工作搞棋牌游戏,一开端游,我起到了推动项目前进的作用.其实当时我可以拿到北京unity页游客户端的工作,但我选择了回沈阳搞.其实现在看来,如果在北京搞的话,,每天都是繁重的业务逻辑,没啥时间搞进步.在沈阳的话,因为项目组内部人才稀缺,所以有我学习的空间,去搞一些事情.所以现在看来,同时在当时看来,这个选择都挺好的.当然了,xuwenqing当时就说如果我想搞mmorpg这些,可以去TXWY这些,我说我能这两年在这里搞一些事情,也挺好的.事实上迄今为止,在那里都是我工作时间最长的一次,我也确实接触了很多,包括写shader,记忆犹新的就是基于stencil的shadow,还有搞动画压缩,现在看来就是信号处理范畴了,当时搞了一通,最后发现压缩部分unity给实现了,我搞了一些无用骨骼的数据删除,还有一些用不到通道的删除,这些.
之后就是去北京搞家装展示,写shader.那个时候虽然出了pbr,但是我固执地,片面地,武断地以为,在手机上跑不起来,于是就基于phone光照,搞出各种感觉,还去家具店看,材质表现.现在看来,当时就应该直接上PBR,无奈当时真的是不知道这些,而且phone搞到最后,效果也还行,材质表现尚可,主要是光照不行,于是没去搞GI,而是花了两个多月搞clutered forward lighting,二逼地以为只要光源足够多,就可以出好的光照效果.然而,并不是,没有bounce的话,光源再多也是不行,除非美术手摆光源摆出bounce,这就有点搞笑了.现在看来,就是当初知识储备不够,不足以搞图形.后来,半年时间,在ZXQ的领导下,公司就黄了,我得以回家和ZF和我老弟一起度过了一个多月幸福时光.
接着,就是搞游戏引擎了.说起这份工作,我当时有些犹豫,说去了又不不去,最后又是去,也是给我自己上了一课.当然,还是感谢晓宇和老宋给机会,让我有机会搞一搞游戏引擎.搞了一年半,我确实也输出了很多工作内容,尤其是android上的opengl适配,真的是搞了许多内容.但是当时搞手动生成mipmap的时候,当时还不知道filter的概念,以及重复纹理的墙壁直接box filter的结果效果上看起来墙壁会在不同mip层级上有明显的间断点,当时也是直接扩大每层生成mipmap时的采样范围来实现的,当时也不知道是为啥,虽然现在也不清楚为什么那么重建信号就可以看起来还可以.总之,那段工作经历,真的是圆了我的游戏引擎梦,我的游戏引擎执念.
接着就是搞渲染器那段,搞了体积云,各种后处理.也就是在那个时候,对光栅化渲染器有了一定的了解.话说到这,本来我第二份工作就打算随着看<<3D游戏编程大师技巧>>这本书的时候,把软光栅化实现了,在实现之前去北京TS面试的时候,XU大哥说为什么不直接从利用硬件的搞,于是我当时就去搞opengl了,没去搞软的.话说回来,也就是在这段工作,搞清楚了一件事,:"看起来对,就是对"并不对,一定要知道,为什么对的,是怎么对的,才行!结识ZH对我来说真是受益良多,中科大果然不是盖的.之后又搞bake光照,用OPENRL搞,比DXR出的还早了好几年,也出了自己的硬件.当时渲染基础并不够好,但也搞出了些效果,但是最后也还是没搞通,之后也是没搞完.但是那段经历,我也对PBR和GI有了初步的认识.那个时候我得幸知道一件事,只有从头到尾的PBR,才是PBR.
之后去BR搞了将近3个月的渲染器,记忆犹新的就是实现了SMAA,3个pass那个,就从DX的demo抄到OPENGL,就抄了挺长时间.在工作期间面了上一家厂子,并且在被开之前,敲定了去上一家的offer.
我不得不说,上一家的工作,真的是改变了我后半生编程命运的一段工作经历.以至于WB在去年头年头年请我吃火锅的时候,都问我当初去对不对,我说对,他说对嘛~虽然最后我被开了,但去了那段,把项目干上线了,而且我确实有出力,干的工作内容不是很深,有的深的,我也没干明白,比如移动端体积云就没搞上去.但还是有贡献的,以至于能让我有现在这份工作.
现在这段,就是我要的,一段从头到尾的项目经验.我把这个项目熬下来,我履历就比较完整了,该有的都有了.
学习上来说,现在在啃PBRT,每晚刷高数题.我料一年半之内,可以PBRT啃完,包括写必要代码,和高数刷题刷完.
从学习上来说,这十年,学OPENGL,DX9.0C,OPENGLES3.0,VULKAN,高数,概率论与数理统计,线性代数,新概念1234,雅思456789101112,雅思好像是这样,具体想不起了.信号处理,编译原理,现阶段周末每天会花半小时搞操作系统.目前就是PBRT和高数,啃清楚.
搞了十年,还是个菜鸡.图形学硕士真的强,我接下来就是对标图形学硕士的水平来努力.搞点东西出来,搞点项目出来.
搞程序十年了,我没搞偏,我会越来越好.感谢~