日常都在干啥?游戏开发岗位真实现状
程序岗位被细分,也存在弊端。比如,当一个方向做到一定深度后,会面临一个问题。往哪个方向发展?(当然,大佬都是全能的。)又比如,入门的时候选择那个方向呢?深入了解每个岗位后,在思考某些问题的时候,或许更容易想明白。
包含的岗位
游戏行业分工越来越细,除了策划、美术、程序,各个岗位也呈现不同层度细分。这里聊一聊当前游戏程序岗位职能细分,以及各个岗位的使命,以及日常状态。
简单来说程序岗位除了最熟知的客户端、服务端、引擎外,还有工具,以及现在越来越热门的TA。总共5个模块的岗位。
下面具体来谈谈,各岗位职责与日常。
客户端
客户端也叫前端,做客户端的程序又称gameplayer。简单来讲,主要负责UI和游戏玩法逻辑。游戏玩法中包含很多模块,不同类型游戏也有区别。比如一个moba游戏不一定有养成系统,一个竞速游戏不一定有战斗系统。
从通用的角度来区别,包括以下常见模块,UI、成就系统、战斗系统、任务系统、AI系统。
UI主要负责与玩家交互的逻辑,比如点击一个按钮后弹一个界面。一般新人都会从UI开始。因为UI相对来说逻辑简单,而且出问题容易直观看出来。
客户端各个子系统,在大型项目组中一般每个子系统有一个总的负责人。一个人从头到位负责,不仅能提高效率,也能避免一些不必要的乱子以及降低沟通成本。
这里会出现一个疑问,
物理、渲染、音效、状态机这些东西呢?不都是属于客户端吗? 客户端不是深入都需要了解这些吗?
不属于!我很明确的说,这些都属于引擎。客户端脚本层只是需要知道怎么用,怎么设置参数,调哪个接口等等。真正的核心逻辑,都被引擎包装起来了。当然,如果自己额外实现了一套,比如脚本层实现状态机,这别当另论。当然,不等于客户端就不需要了解这些。
总之,客户端负责实现游戏的核心玩法,所谓gameplay。
客户端的日常是什么样子的呢?
1. 敲代码
2. 修BUG
3. 怼策划
客户端是和策划交流最频繁。当然也是迭代最多的,策划的想法毕竟也不是一开始就完美的,设计上也经常漏洞百出,有时候甚至朝令夕改,不然可以少干多少活。所以客户端需要密切和策划沟通,即为自己少干点不必要的活,也能准确get策划想法。
服务端
服务端,又称后台。将游戏从单机变成多人。服务端与客户端需要完全不同的技术栈。
简单来说,包括以下几个模块。框架、网络传输、游戏逻辑、后台数据。
服务端的技术,迭代很慢,知识面不多,但是要求深度。
很多担心入游戏行业难以跳到其他行业的人都会考虑做后台。事实上,作为一个服务端开发人员,大多数时候也是在写游戏业务逻辑。毕竟框架、协议都是一开始就搭好的,甚至很多新游戏都是复用公司以前的。
日常中,除了游戏逻辑,也包括服务器扩容、服务器开关等等。
服务器相比客户端来说,逻辑写完了就好了,不会时不时迭代。这一点很舒服。但是上线之后,事故一般都是服务端的。没办法呀,服务端对着光秃秃的代码,不像客户端,写一点逻辑可运行看效果。服务端总不能写个逻辑让几万人跑跑测试一下吧?毕竟服务端的特点就是都是抽象的东西,难以验证。
写游戏逻辑,模仿改动已有代码,对于知识积累没有帮助,网络库、数据库、定时器、协议编码解码、分布式结构、热更新、消息分发、高并发等等,核心的东西才需要自己花时间学习、消化。
引擎
引擎包含的模块就很多了。场景编辑器、特性编辑器、Spine编辑器等等,核心系统如渲染、物理、动画,基础系统如资源管理、运行时系统等等。
除上面其实还有一块,游戏AI,跟具体项目很相关。
基础系统和编辑器迭代较少,日常改动和新功能主要集中在核心系统。核心系统需要根据具有需求进行调整,而且随着技术更新也在不停迭代。核心系统中深入一个方向,就可以成为专家。能在每个方向都有建树,那绝对是个鬼才。
引擎的日常就是 加功能、修BUG 。
组内日常的一句话就是,活不多,搞不定。需求一般都不急,一般不跟游戏版本。但引擎模块太大了,出问题很难排除。内存泄露、资源释放、性能优化每一次都能折腾死人。技术需要随时代更新,很多一手资料都在国外,刷英文文献很日常。
工具
工具说起来是个很泛的模块。不同公司、不同项目组需求不一样。但是很多工具是通用的。
常见的工具包括通用工具(SVN、Jenkins、P4)、资源相关工具(资源检测、优化、美术制作工具)、团队协作工具等等。
此外,游戏引擎没有直接集成的功能,都可能做成单独工具。如资源转换、离线烘焙等等。
日常中,项目组内纯负责工具开发的人员较少,毕竟哪有那么多工具要开发。很多时候都是从客户端抽离人员负责,或者负责工具的人也会做一些客户端需求。真正全权工具开发的人,一般都是引擎相关的工具,因为需要一定专业知识。
相信了解完,心中某些疑惑也有了答案。
TA
TA,技术美术,近年越来越火,已经能在校招中找到该岗位。主要负责游戏各种渲染效果、画质等等。
众所周知,包含美术向和技术向。美术向一般指美术转TA,技术向指程序转TA。程序向TA和图形程序很像,只是一个偏向于写shader,一个偏向于折腾渲染管线。TA包含UI、动画、特效、材质、灯光、工具等方向。
简单来说,美术、渲染、工具三块。日常写工具,写shader,在大的团队有具体方向细分动作、材质、UI、美术资源配置等等。
技术美术相对来说有一定门槛,很多客户端发展到深入后,会考虑转TA。技能点就是 图形渲染 + 美术工具 + 美感 。这也确实是个不错的方向,而且工作成效很明显,一个效果能直观的看到。据说只有 中大型 公司需要(待考察),而且缺 专家级别 人才。
总结
事实上,除了以上谈到的五种职位外,还有一些职位正在催生而出。如 技术策划TD ,在未来很可能也会成为一种趋势。
总之,职位分工越来越细,也越来越专业。游戏行业本身也正朝着精细化方向发展,每个公司都会慢慢在一个类型的游戏领域深入,类型壁垒、技术壁垒都在逐步形成。
- 絮絮叨叨(求关注)
目前连续更了几篇游戏开发的岗位、路线等基础介绍的文章,因为有小伙伴后台咨询聊天过程中,感觉到大家对岗位的基本信息似乎不怎么了解。希望这些能帮到大家。
也欢迎大家找我絮叨絮叨,唠嗑唠嗑,聊聊天。原创不易,路过的大佬们点个 关注 和 赞 吧。
原文链接