游戏开发中细分很多东西,题主似乎问的不是很明确,都讲讲好了。


游戏基础知识:

目前大部分游戏都是基于商业游戏引擎开发的,即Unity3d、Unreal、CryEngine之内,当然此外还有cocos和白鹭等等,以及部分游戏公司有自己的引擎,暂且不谈。

目前放眼游戏市场,Unity引擎和Unreal的使用数量几乎平分秋色。所以接下来说的也是针对这两个引擎。

注意,游戏引擎本身的使用(包括编辑器操作和开发方式)


1.游戏客户端

游戏客户端程序,就是在游戏引擎上实现游戏业务逻辑的工作。

其中,Unreal引擎的开发语言是(Unreal疯狂魔改版)的C++,和Unreal自己发明的Blueprint。在中大型项目中,基本上都是这两种语言混合完成游戏开发的。

Unity3d的官方开发语言是C#,在很多有热更新或是其他需求的游戏中,会用到第三方实现的Lua语言环境。

大概,游戏客户端方向需要学习的内容是

1.游戏引擎开发与操作

2.游戏引擎所用的开发语言的学习

3.计算机图形学


2. TA

TA,技术美术。游戏中,主角隐形之后的半透明效果,主角大招时候的技能效果,或者“我想要这个房子不受周围环境光的影响”、“我要这个logo大一点再小一点”“我想要五彩斑斓的黑”之类的,

简单的说,技术美术的工作就是编写针对GPU的程序,告诉GPU以何种方式渲染出游戏需要的效果。

需要学习的内容:

1. Shader(着色器)开发

2. OpenGL

3. 次世代美术基础


3. 服务端程序

在需要联网交互的游戏中,肯定就会有服务端程序的事。相较于客户端而言,服务端的技术栈就显得“五花八门”了,有Java的,有Cpp的,有Golang的,有C#的,(甚至还有PHP的。 根据游戏的类型,服务器也长得不太一样,有的用http处理类似常规服务端的业务逻辑,有的用udp处理帧同步的游戏。有的服务端需要计算游戏的大部分内容,有的就简单的增删改查。

对于这块的话,建议有常规服务端基础(比如能拿Java做个博客,拿C#做个BBS之类的)之后,找个游戏公司实习个一年半载。



此外,游戏开发领域还有二维美术、三维美术、关卡设计师、音效师、编曲、策划、导演等等各种有趣的值得学习的地方