@
chenyu0532 首先我们来弄清楚大家出于什么原因极力推荐 mac 和 linux。这块 LZ 自己已经描述的差不多了。
一个原因是这两个系统上有比 windows 更优秀的 shell 以及和 shell 结合的更好的工作流相关工具。通过它们,我们就可以将写代码外的其他事情通过脚本和工具交给机器自动化处理,比如打包、测试、分发、部署等等。那么带来的好处就是开发项目时,可以更加专注的写代码,一定程度上提高开发的效率。
另一个原因,对后端来说,基于现在 DevOps 的趋势,后端是需要熟悉运维相关的东西的,我觉得几乎是后端必须掌握的技能,这块不多说。而对于游戏前端来说,因为移动端和主机的普及,前端的代码更多的会在类似 linux 的系统上跑。熟悉这类系统,会对自己在这类设备上调试或调优更有帮助。
可能还有其他原因,我一时还想不到。
然后从 LZ 的角度出发,我觉得这两块都是锦上添花的技能点。
自动化这块,前端没有像后端那么依赖,很多脚本也可以找后端帮忙写,真要自己弄,脚本这东西学起来也快的,打包什么的,熟悉下 jenkins 什么的也够了。
调试调优什么的,如果只是普通测试,现在的开发工具已经做的不错了,几乎不需要自己深入到系统里面。而后期做到引擎那块,会需要了解这类系统,但也是后面的事情了。
那么技术上如何才能走的更远呢(这里不讨论管理那块)?我觉得就两个方向吧,一个是做全栈(让老板能把你一个人当多个人用),一个是做引擎(你能做别人做不到的事情)。
LZ 已经说了不想做全栈,那么另外一个方向上,单单会用一些语言以及一些引擎是不够的,会实现策划的需求也是不够的。而一般的游戏大厂,多半是会走华丽这条路线的,而走华丽路线,那么就会有自己的引擎或者懂得如何深入优化现有的引擎。
所以 LZ 的数学是否还记得多少?图形学学的怎么样了? OpenGL 是否熟悉?是否从源码层次上吃透了现在的图形引擎?