最全面、最前沿、最专业的游戏研发实战

提供最全面的游戏研发技能分享,让您在最短时间变成高级游戏工程师

查看:0|回复:6

【行业】游戏程序员的核心竞争力是什么?

 attach_img

6

帖子

5

回复

10

积分
最后登录:
2025-04-06 11:22
注册时间:
2023-04-19 17:20
楼主
  发表于:2025-04-06 15:36:54|查看用户信息

软件工程在读,向往milo大神那版的程序员,但是修炼需要的时间太长了。而且我数学比较差,短期内做不了图形学的东西,cpp底子也薄。

跟团队一起做一个游戏,需要的程序能力又不是那么高。

所以说未来的几年我应该朝什么方向努力?非常迷茫。


4

帖子

4

回复

7

积分
最后登录:
2025-04-06 14:40
注册时间:
2023-03-11 17:03
1 楼
  发表于:2025-04-06 15:44:48|查看用户信息

在游戏开发领域,过去比较流行的说法就是,“做高端图形的,做底层引擎的就是最牛的程序员”,这样的说法是对的,但是并不全面。在我看来,有两块程序人才在国内的开发团队中是被忽视或者轻视了的,第一个就是pipeline程序,第二个就是gameplay程序。

1、做游戏是工程学,不是做研究。

一个好的工作室的技术积累,大部分的时间不是研究高精尖的算法,而是在优化自己的生产管线。

也就是说,如何提高自己工作室某个类型开发过程的效率,降低开发成本,优化迭代速度,靠着强大的产出工具链产出内容,完成优秀的产品。如果你仔细看看很多gdc关于pipeline的talk,看看虚幻引擎的工具集,等等,你会发现,这里面不只是技术的积累,更是在某一个游戏领域经验的积累。

比如ue4的cinematic的工具集,没有做过很多大型3A游戏的cine的经验是没有办法优化的如此好的,这里面当然需要好的程序技术,但是也需要对这个行业,对游戏开发很懂的人才能做出来,这不是一个算法的问题。好的pipeline可以极大的节省成本,优化流程,是一个游戏工作室最核心的竞争力和技术积累之一。


2. 懂gameplay的程序。

简单来说就是如何把游戏做的好玩,“好玩”这个定义就非常模糊了,而且和不同的游戏类型相关性很大,但是好的gameplay团队是游戏好玩的重点中的重点。

在很多游戏中你可以看到有些美术被外包出去,但是你不可能见到gameplay被外包出去。

好的gameplay程序员是非常稀缺的,要求你对自己制作的游戏类型很懂,懂的为什么好玩,懂的如何制作出来,更要懂得如何让游戏feel good。

比如一个游戏中有一辆摩托车,这辆摩托车的要做的好玩,需要策划,需要动画,但是更加需要好的gameplay程序,没有好的gameplay程序这辆摩托车的手感就出不来,这辆摩托车就肯定不好玩,但是这一点往往被人们忽视,大家总有一种错觉就是,策划决定玩法,实际上玩法的决定是策划,动画,gameplay紧密结合的结果,深入懂的游戏开发和玩法的gameplay程序在这个业界可能比高端图形的程序还要缺乏。


最后我用我最喜欢的一个例子来说明一下我认为综合最强的游戏开发人才是什么:

1. 最普通的策划不懂得实现,不懂其他部门的开发流程,没有办法深入到实现迭代中去,这是最初级的策划。

2. 最普通的程序不懂得游戏的玩法,没有办法和策划交流,只会被动的实现策划提出的需求,没有办法深入到迭代中去。

3. 大多数的符合标准的有能力的策划和程序,懂得尊重彼此的领域,懂的如何深入互相配合迭代玩法。

4. 最稀缺的人才,就是高质量独立游戏制作者的模式,一个人可以包揽设计和实现,一个人可以完成迭代,从设计到打磨玩法全部做好(需要动画美术支持可能),这是最理想的gameplay最稀缺的人才。



4

帖子

7

回复

10

积分
最后登录:
2025-04-06 14:50
注册时间:
2024-10-11 22:10
2 楼
  发表于:2025-04-06 16:33:49|查看用户信息

缓解焦虑的唯一办法,只有提高能力。

不是只有做图形学才是做游戏开发的唯一出路,游戏开发领域值得学习的东西太多了。提些建议:

1、先打好基础。游戏开发本质上还是软件开发,编程语言本身、设计模式、架构、软件工程知识等,都要深入学习。

2、再从Gameplay切入。寻路、人物行为、高层动画、网络同步方案、UI界面、各种脚本,高层gameplay一般比较直观,不存在太多的前置技术需求,每一个领域都是可以快速切入,在几个月里面深入熟悉。

3、然后考虑偏底层的模块。多线程、资源管理、内存管理、性能优化、工具链、渲染等等。这些领域需要一些前置的技术学习,但每一个领域也都不是学不会的,只是费时更久些。

4、最后方方面面知识都接触过了,融会贯通,培养技术的想象力,能结合各种技术,随时结合已有的技术,解决具体的问题。

综合来看,学习的过程是一个循环往复的过程,每个阶段不存在线性的关系,可以随时切换。我们既要追求深度,也要追求广度。

当然,参与一流的项目也是必不可少的经验,不妨加入那些传统的主机研发公司,参与一些一流的AAA游戏研发,绝对可以快速提升能力。

不过,题主问题中提到的“修炼时间太长了”这个问题,是无解的。想要速成?没有的事情。国内游戏行业虽然起步较晚,但一线的程序员,也有20多年经验了。没有他们聪明,也没有他们努力,你怎么能期望自己快速超越他们


0

帖子

6

回复

6

积分
最后登录:
2025-04-06 15:22
注册时间:
2023-03-12 16:59
3 楼
  发表于:2025-04-06 16:44:12|查看用户信息

游戏程序员大概就这么几种分工:

做架构的,做图形的,做战斗的,做UI的,做优化的,做工具的。

架构就不用说了,基本都是老资格,重要程度也不用多说。

做优化的不是说只做优化,而是会做优化。你会做优化,你就有了自己的核心竞争力。说的明白点就是搞底层的。

做工具的要点是了解各个开发者的真实需求,而且架构能力要好,通用性要高,做出来的东西不至于没人愿意用(随便找个人来做这个的结果通常都是没人用)。我这个名字可能不太好,其实就是做引擎的。但现在没必要做引擎,所以就是做通用组件,搞编辑器啥的。

我举个具体的例子,一个数据编辑器的要点是什么?

1.修改简单,具体做法就是通过元标签生成界面。

2.热更,修改数据后在游戏内部就能生效。然而这种需求,基本上不要指望策划或者美术会给你提,他们只会缺什么要什么。

这得靠你的悟性。当然实现上也不能说没有难度。


图形的好像也不用提,因为稍微有点门槛。图形后面还可以转TA,必要性更高,即使是国内的低级项目也有需求(高级的图程,不做牛逼东西,确实不太用得上)。


做战斗的,基本就是写逻辑,oop能力要强,基本也不会没人要。而且做战斗的经常会直接参与战斗细节的调整,因为自己调比暴露参数快多了,细节参数需求也很难到位,尤其遇到纠缠在一起的复杂逻辑。能自己调战斗的程序员必然是有竞争力的,没有也有,毕竟逻辑足够复杂,而且招到合适的不比招个图程容易。如果有人觉得图程更难,说明他们游戏的逻辑部分太简单。逻辑这东西,难度是随着复杂度指数级上升的。


做UI的是最容易被歧视的,因为现阶段UI确实简单,但是现在游戏UI也在向复杂方向发展,如果好好把动态效果做到位,逻辑复杂度也不低,也要开始考虑复用和清晰度。而且你自己懂一定的UI和UE的话,就不太容易搞错需求,一些被遗漏的细节也可以自己补上,也不会老出现界面拼的不齐的状况。


但如果UI简单,而且没有动画,就确实没啥可做的。但其他部分没需求也一样啊,巧妇无为无米之炊啊。

你要问复杂的UI是啥,看看3A游戏,还有以前的日式游戏,UI哪里简单了,只是少有美术能设计出来。虽然确实大部分是美术自己拿animation K,但里面确实也有很多K不动的部分,动画的调用也存在各种时机冲突需要处理,尤其是回退动画。总之,你要是有做过这种界面的经验,你也是有核心竞争力的。假如你自己就能设计动画就更妙了。

所以没有哪个是可以被歧视的,除了做简单UI的。

哎,那些简单UI界面活不了多久的。你们看着吧。

当然还有一个最没用的,叫接sdk的……

不过每个团队还是得有一个经验者对吧。

另外,程序员只靠技术,竞争力确实比较有限,但只要你能稍微跨点界,你的竞争力都会飞速上涨,跨美术或者策划都行,管理能力强,也是优点。稀缺+有用,那就是竞争力,可以考虑下。

不过前后端都会……确实没啥大用,这里不要走歪了。



3

帖子

6

回复

7

积分
最后登录:
2025-04-06 14:11
注册时间:
2024-03-13 22:17
4 楼
  发表于:2025-04-06 17:18:37|查看用户信息

不同岁数需要不同竞争力


很多回答把自己工作年限说了,这个很好。不同阶段认知不同,在成功项目里,35岁的程序有的拿300万年薪,有的拿80万。那么大不同是怎么来的。现在20多岁的技术员到了40会是什么样,怎么发展。


我给的最重要建议是结识一些年纪大混的不错的技术员朋友。多听听,别老自己瞎琢磨。也别听同龄或者比自己大不了太多人的话。互联网降低了信息门槛,但没多少认知就喜欢输出的人太多。才工作几年,技术还不算真入门,听噪音太多了影响发展。第一代信息化时代大生产的程序员已经40多了。那些35以上的技术员现状比较有参考意义,找到好技术带头人的团队有好处,甚至是决定性的。

关于软件技术人才能力,不光是编程能力,我给个参考,分普通、中层和高阶。


普通层面

一个技术人员能掌控技术生产力的深度和创新能力。深度就是难易度,别人觉着程序难搞不动的,你能搞定。这个涉及基本功,技术扎实程度,技术掌握的多寡,用技术解决问题的能力,创新能力是技术创新创造,以及创新性利用技术的能力。


这个层面比较单纯,也是目前回答绝大多数涉及的层面。


我看有人说图形编程……我公司从2000开始自研3d引擎,这东西最多用到线性代数和微积分。13年上了国内第一款自研的延迟着色引擎产品,图形学很形象,容易理解。而且现成引擎很多开源的,书籍论文技术介绍算法代码浩如烟海……时间砸下去就行。可能最大门槛在于大学没深入毕业工作忙没时间自修。这事就是个吃点苦的事,游戏业已经没有什么技术壁垒了,太卷


中层

对业务需求理解能力,软件工程能力,以及合作能力。

游戏是几个不同工种配合完成的复杂软件工程,策划,美术,程序,QA,游戏对技术人员能力本质是软件工程能力。而不是coding能力,软件工程是一门特别有意思和挠头的学问。光看书没用,必须在具备理解需求能力基础上理论结合实际,才有可能具备这个层面的核心能力。


软件工程包含的需求分析,包括功能性与非功能性需求分析,这个阶段的解决,能够保障软件开发项目50%以上成功率。否则,bug 延期加班熬夜之类少不了,工程计划制定涉及到软件复杂度评估和不同水平人员工期准确评估。工程流程涉及到现在说的工业化生产的规模化产能和效率,也包括快速灵活敏捷的开发方法论,白盒与黑盒是确保软件质量最终把关。以上这些,都是对于产品开发最核心的。这些都远远超过了代码层面。


到了软件工程这个层面,大部分游戏公司就是门外汉,也包括不少上市公司,毕竟游戏开发大家都是野生的体系。我们也是经过几年摸索走了很大弯路,弯路有多弯,我从2001开始项目,失败了俩,2008才上线成功第一个产品。当时多数公司都是工程不行靠人力与工期填,因为大家的引擎,工具,客户端,服务器,全是自研,技术失败率很高。现在开发幸福了,引擎底层最多就是改一改现成的,服务器技术也非常成熟,可参考的书籍代码不计其数。但软功能力依然是核心能力之一,工具和底层都完备,大家更要内卷工程能力……

这些都不是工作两三年的人能把控的范畴。甚至认知都不会有。

协作能力,是与他人合作完成任务的能力。涉及沟通能力。

需求理解能力,涉及视野和认知广度,一样程序能力的人,热爱游戏理解游戏的那个人,要更强。


高阶层面

高阶核心能力取决于人员掌握技术生产力和解决问题的规模,就是一个人能搞定多大事,主程,架构师,技术director,技术管理等。这个需要前面两层的基础和成功实践经验,也和管理水平直接相关。Lead Programmer为啥加Lead 这个字,琢磨一下,你能带多少人一起搞定多少事。也算你的核心能力,到了这个层面,能够管理大项目,成功上线,为项目内一切技术相关的事负责,这个能力已经比较金字塔顶部了。


再往上还有,技术团队的组建,培训培养,技术文化建立实施,人员考核需要你对软件复杂度和工程复杂度有深刻认知,否则大家奖金谁多谁少?平时工作怎么量化评分?


再往上还有,全公司技术体系的建立,工程流程统一和改进。比如技术方案制定的方案,也就是元方案。全公司底层技术和工具集的集约化开发,核心成员和技术管理人才的培养选拔。公司技术发展方向的制定,前瞻技术研究,公司技术竞争力的保持和增强,技术创新对公司产品价值的增长,等等


最后,个人成就一定是因为跟对了团队,通过你团队的努力,成功赚钱,并且你在里面发挥了巨大作用。所以找到好技术团队和带头人,非常重要。可以先找机会进入成功成品团队,增长一下见识,别老在一些不成功产品和团队里跳槽。


1

帖子

7

回复

8

积分
最后登录:
2025-04-06 13:50
注册时间:
2023-05-16 01:30
5 楼
  发表于:2025-04-06 17:20:56|查看用户信息

游戏底层的东西,比如渲染,并不是难或者技术水平就比gameplay高,本质,它就是专门的方向。搞渲染,就和搞物理,搞动画,搞编译器,搞AI一样,它是个专业方向。


如果不是专门做这个工作,光靠自己看看书,大概率没啥用,学习一定要实践的。


游戏公司也不是更看重搞引擎的程序员。可能对于年轻人而言,工资会高一些。工资的高低,更多的是市场供需决定的。不恰当举例,gameplay的,招聘计算机科班的本科或者任意方向的研究生都能搞。 而图形的,就需要招聘计算机图形学的研究生, 因为其他人没学过。


搞引擎的,类似互联网公司做算法的。做引擎想做到游戏公司的技术高层,反而不太多。更多是专门在技术方向发展,或者是同时搞gameplay和搞引擎的。


gameplay方向的发展,是标准的软件方向的发展,逻辑,架构,软件工程这条线。


这条线的问题是,架构和工程管理的标准不明确。写上三个月代码,独立开发了一个功能,就可以说我在做设计,甚至做了架构。工作三年,带了个新人,好像就做了管理,架构和管理对实践的要求其实非常高。


推荐大家好好读代码大全和重构,在工作中先认认真真的写代码,改代码。我个人觉得,当你觉得你写代码是为了让其他人看的更明白,更容易理解,或许就走到了架构包括管理的正确道路上,架构和管理,其实都是在处理"人"的事情。


10

帖子

5

回复

12

积分
最后登录:
2025-04-06 16:58
注册时间:
2023-03-12 17:29
6 楼
  发表于:2025-04-06 17:25:02|查看用户信息

游戏程序员主要分三个方向,Gameplay、优化、渲染。

其中渲染已经卷得飞起了,优化又特别吃经验,我认为好的Gameplay程序员比较吃香,后续可以走制作人路线,游戏的Gameplay太麻烦了,各种类型的玩法实现框架都不一定一样,总的来说好的Gameplay程序员需要玩很多游戏,是真正热爱游戏行业的那一波人,而不是愿意机械的执行大部分策划抄袭来的想法,大部分策划也只是为了吃饭,至于好不好玩,自己都不玩,这么难玩的,让玩家买单,喂屎给玩家,这样的游戏能走多远,做游戏,还得有想法。渲染,优化大师都不少,好的Gameplay少之又少。

共 1/1 页

0

帖子

0

回复

0

积分
最后登录:
1970-01-01 08:00
注册时间:
1970-01-01 08:00
会员必须登录才能发布帖子! 点击登录