想请教下各位大佬们,想换到游戏开发,技能点怎么点?

2020-10-26 10:02:01 +08:00
 mmqc
  1. 现状: 目前在做传统的工业的开发(前端后端均略懂皮毛,环境主要是 Linux,单机应用)
  2. 对游戏开发的了解:查了下,游戏开发分为好多,现在自己对游戏行业完全没什么印象
  3. 想了解的内容: 想了解下,各个不同方向的游戏开发的技能点怎么取点
  4. 谢谢各位大佬
6708 次点击
所在节点    程序员
73 条回复
lovecy
2020-10-26 14:11:25 +08:00
@0x2CA 一开口就知道老国产游戏服务器了[doge]
mmqc
2020-10-26 14:19:00 +08:00
@nicebird 现在都想了解一下,然后结合目前的技术栈再进行判断.
老哥你能简介说说么
Katrol
2020-10-26 14:26:33 +08:00
老哥,不是开口说想转就转的,现在都要行业经验,社招没功夫再培养你的
BadRomance
2020-10-26 14:50:21 +08:00
前段时间对这块比较好奇,想切入开发点 c 或 c++的东西;单纯兴趣,不了解游戏行业

Game Server development

https://www.gabrielgambetta.com/client-server-game-architecture.html

Game Networking

https://gafferongames.com/tags/networking/

https://docs.unrealengine.com/udk/Three/NetworkingOverview.html

Doom3 Code Review

https://fabiensanglard.net/doom3/
wangyzj
2020-10-26 14:50:35 +08:00
看到这个就点进来了
我就是觉得此生不自己搞点游戏出来不完整
mmqc
2020-10-26 15:10:55 +08:00
@Katrol 老哥啊,所以我才想找了解下各个方面的所需的技术栈.技术栈匹配的话,那么经验完全是可以借鉴的.
剩下的无非是一些业务上的处理.
mmqc
2020-10-26 15:15:21 +08:00
@BadRomance 非常感谢老哥,晚上好好看一下这些资料.
lights
2020-10-26 15:36:42 +08:00
我是今年转行的,刚转行成功,可以看一下我的博客 https://lightjiao.github.io/
calvincc
2020-10-26 15:39:53 +08:00
没经验工作难找,自学怎么也就一些皮毛,语言好搞业务难熟悉
mmqc
2020-10-26 15:43:39 +08:00
@lights 谢谢老哥,看起来,老哥走的和校招差不多啊...
不过踩得坑的确非常多,也对我这样的非常有帮助.
mmqc
2020-10-26 15:44:48 +08:00
@calvincc 是啊,经验的确很重要.尤其是国内的企业.
lights
2020-10-26 15:46:30 +08:00
@mmqc #50
现在这家公司确实是把我当作校招水平看待的,只是我自身明显超出了校招的水平。
加上又遇到了其他的事情不愉快的事情,已经打算跑路了,找了个做 MMORPG 的,待遇也好起来了
mmqc
2020-10-26 15:51:23 +08:00
@lights 加油老哥,相当的励志!
xiaowangge
2020-10-26 15:55:27 +08:00
只说手游。

前端:cocos2d-x 、unity 、微信小游戏(其实也有不小的了)
后端:Erlang 、Java ( Netty )、C++

除非你非常 热爱 游戏行业,否则不建议进入该行业。热爱的意思是说,是兄弟就来砍我,你也玩得特别有意思。
技术栈相对互联网来行业来说,游戏行业技术栈相对比较窄。

另外,要考虑一下游戏行业加班的情况。
mmqc
2020-10-26 16:15:06 +08:00
@xiaowangge 谢谢老哥.
结合你说的和楼上的相关内容,看起来目前游戏行业环境不是特别好(指做的内容)
技术栈窄,也就是后面的可选择性不大了.
加班,这是楼内出现频率相当高的词了.
总结: 就是目前游戏行业的生态不是很好,且游戏行业的就业方面比较窄,加班严重.
egoistttt
2020-10-26 16:19:55 +08:00
室友从 web 转了游戏后端,据他说写游戏相较于 web 更多是基础的东西,框架方面的比较少了
mmqc
2020-10-26 16:29:29 +08:00
@egoistttt 谢谢老哥,不过这个基础的东西是说,用的都是偏向操作系统底层的系统函数之类的(这些很少封装吧)么?
框架是指,原本 web 开发一些基础性的东西,可以直接忽略,然后专注业务逻辑上的内容么?
还是说,游戏开发后端写的都比较基础,而 Web 开发要考虑的比较多呢?
livepps
2020-10-26 16:36:47 +08:00
1. 客户端:熟悉一款主流引擎,目前主流是 UE 和 Unity,岗位最多的应该是 Unity,大公司都有 UE 的岗位,绝大多数公司都有 Unity 的岗位,还有部分 Cocos,需要点图形和数学基础,大公司游戏开发一般分工比较细,图形这块有专门的人做;大部分程序员负责写业务;美术资源这块要稍微了解,比如资源规格,端游和手游的美术资源规格不一样的,高品质的资源手机跑不动,或者发热厉害。
2. 服务端:语言的选择,一般看公司和项目,大点的公式,底层一般是 C++,然后业务层接入一个脚本语言来开发,也有纯 C++ 开发的,其他语言比如 Java 、Go 、C#、NodeJs 、Lua 、Python 也都有游戏项目在用;主要用 TCP 和 UDP 通信;协议多数也是用 Protobuf ;数据库这块不好说,看项目了,游戏对数据库要求其实不是很高,数据一般是定时写入数据库,不是实时,所以经常看到网游回档,有些都是回档到前一天,常用 Mysql 、Mongo 、Redis ;服务端开发框架我见过的很多公司都是自己研发的,核心是收发包,每次 tick 跑业务逻辑,大体逻辑分几步,底层网络收发消息,然后业务层解析消息,分发给不同的模块,数据定时入库;平时开发大多数就是做模块功能;上线前做压测,理论上单服要承载几千+的玩家。
3. 补充:不同的游戏类型,除了基础服务,比如网络,日志,数据库这些,业务逻辑开发差别巨大,现在更多是做开房间类型的游戏,因为开发相对简单,可以很容易做成分布式部署。
frankmdong
2020-10-26 16:50:28 +08:00
其实游戏开发的技能点能点的太多了,gameplay 、图形学、引擎等都是可以深入的话题。有兴趣的话可以看看我的博客 http://frankorz.com/2019/12/04/2019-year-end-summary,我去年下半年才毕业开始工作,不过我们公司还好,不发版的时候不怎么加班。
mmqc
2020-10-26 16:53:27 +08:00
@livepps 非常感谢老哥!说的太清楚了!
总结一下:
客户端: 基本的图形学,数学基础,美术资源的了解.
服务端: 核心 TCP/UDP 通信.数据的序列化,数据库(实时性要求不太高)
业务: 除了基础业务(日志,通信,数据库)等,基本与游戏类型高度耦合.
扩展:分布式开发

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/718545

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX