当前位置: 华文问答 > 游戏

游戏程序员的核心竞争力是什么?

2019-05-17游戏

你跟我当时很像,我不是什么大神,希望自己的一些见解能帮到你。

仰望大神可以,但是不要一开始就要去模仿大神,因为大神们能够成就今天的自己,他们经历了太多太多你无法触及的项目,遇到太多太多你无法想象的困境并且成功走出来。一开始就把大神作为目标的话,这个目标太遥远以至于你走着走着就发现不行了,走丢了。你现在要做的是,先明确你的方向,明确你内心真正需要什么。

第一从方向上来说:

我个人理解的游戏程序员的方向有很多:

1 渲染狗(Render)

2 逻辑狗(Gameplay)

3 工具狗(Toolchain)

4 SDK"接线员"(手游居多,专门维护渠道)

5 白盒测试(逻辑狗变种,万年修bug,外包公司存在这一职业)

根据你的情况,我感觉你应该更倾向于渲染和逻辑。我大学期间自学过渲染和逻辑(菜的抠脚那种),但是我负责任的告诉你,要想精通其中之一,没有几年甚至十几年的积淀是肯定不行的。

渲染,这个东西很高大上,但是要精通真的很难很难,数学好肯定是必须的,英语也是硬性标准因为你要看国外的Paper,好的渲染书都是英文,而且巨贵.这里不是劝退你,而是你要摆好自己的观念,如果要学渲染先从基础的开始学起吧,自己尝试结合一些设计模式写一个基础点的渲染「框架」,初始化图形库,封装纹理功能类,Obj类,然后shader跑起来挂载到指定的obj上,至少把基础的渲染概念通过自己亲自动手的方式去实现,去理解其内涵,如果可以的话闲着蛋疼你也可以自己去实现一些数学库,例如矩阵,向量,四元数什么的。了解这些数学知识在游戏中表达是怎样的,它们在游戏中的意义是什么,这些都要通过动手去实现才能真正明白。而且很多东西都是融会贯通的过程,做着做着,久而久之你就会突然顿悟,哦。原来之前这个问题是这个意思啊。学习就是这么来的。

逻辑:我见过很多搞渲染的看不起搞逻辑的,因为他们往往喜欢拿渲染的难度去嘲讽逻辑,觉得逻辑那么简单随便搞搞就会,其实更复杂点的逻辑做起来还是比较难的(取决于策划,笑)。这里不谈论鄙视链。做逻辑最大的意义就在于它是真正能够让游戏「动」起来的东西,谈到逻辑我先谈谈游戏引擎,我不推荐大学生一开始就上手各种引擎(unity Cocos ue4之类).为什么?因为引擎很多东西都帮你搞定了,基础渲染,物理,资源使用等等都帮你搞定了。很多东西你就接触不到了。你应该尝试摆脱引擎自己去做。自己亲自去实现一下简单的物理碰撞(基础的如,矩形碰撞,圆形等等),深入点包括高效物理碰撞,做复杂点到逻辑,学会如何管理场景的加载,场景切换关系?如何在场景创建角色?如何移动角色(向量知识)?角色的血条要如何跟角色挂钩在一起?角色的武器呢?武器如何发出不同的子弹并且每种子弹伤害和弹道均不同?你要真正去学的东西,搞逻辑就是个万花筒,只要你敢想你就能做出很多神奇的功能。上面说的这些尽量脱离引擎来做,用引擎就没有意思了,拖拽拖拽,调用内置API写点逻辑就搞定了,但是对于你我还是建议去学习其内部的东西。找个图形库,先从2D做起,图形库初始化成功,纹理能够正确加载,并且显示到程序上,剩下的就是专注写逻辑的事情了。

第二从编程语言角度来说:

我是C系程序员,在学校是C/C++/C#一条龙的,当时分方向时JAVA很火,但是还是选择了C++,别问为什么,那是爱情!

很多入门的图形库基本都是支持C/C++,所以我当然给你安利C/C++了。

你说你C++不好,这应该不能成为不会的借口,你把数组,指针搞定,文件操作,明白内存如何分配与释放,基本上就可以开始搞入门的了,用C的话游戏数据可以用结构体代替,难一点C++直接上 class学习面向对象三大素质连击。前期不用去考虑语言特性什么的。先写出来再说吧。

第三关于图形库:

初学2D上easyx图形库,难点可以选SDL,或者GDI,GDI+

作死可以选择OPENGL或者 DX。2D3D游戏都可以,了解正交和透视的含义巴拉巴拉

哦对了,你还得先学会创建一个win32窗体,百度一大堆

第四关于书籍:

呃,年代久远书名忘了。你买书主要是借鉴别人的逻辑是怎么实现的,搞懂思路自己去尝试写。图形库的话GDI、GDI+、GL、DX书籍都有。自己淘宝京东一大堆

入门还是先选择中文书把,如果你英语好又有钱非得看英文书,那随意。

说了那么多,游戏程序员的核心竞争力,我个人觉得你得看情况,例如从公司岗位角度来讲,SDK接线员也是很重要的,日常维护各种渠道,接各种奇葩SDK,你说没有他行不行?我接的比别人快又好,问题又少,对于这个游戏岗位而言这就是核心竞争力。

但是如果你从技术装逼角度来讲,确实还是逻辑和渲染更好,因为这两个更贴近于游戏到范畴。

所以我觉得关键在于你真正想做什么,决定了方向了就开始去做,然后把他做好,时间富裕的话再去学习其他的方面的知识,最终形成自己的综合优势,最后变成全栈也不是不可能,如果是全栈的话在很多岗位你也就有了属于自己的核心竞争力了。

希望能帮到你。