V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Game Engines
Unreal Engine
MyCryENGINE
Edcwsyh
V2EX  ›  游戏开发

游戏服务器开发人员有没有必要学习客户端的相关技术?

  •  
  •   Edcwsyh · 2022-05-18 18:41:20 +08:00 · 3166 次点击
    这是一个创建于 680 天前的主题,其中的信息可能已经有所发展或是发生改变。

    楼主去年入职了一家游戏公司, 目前在服务器部门

    公司服务器主要用的是 C++, 但现在 C++的岗位似乎越来越少了.....而我又不可能一份工作干到老

    并且游戏公司给我的感觉就是对客户端开发人员的需求要大于服务器开发人员..

    所以如果从个人发展的角度来看, 游戏服务器开发人员是否有必要了解下客户端的技术?

    各位大佬怎么看?

    15 条回复    2022-05-20 09:41:08 +08:00
    lookStupiToForce
        1
    lookStupiToForce  
       2022-05-18 19:11:24 +08:00
    有时间研究肯定是好的,不过得看你公司游戏客户端用的技术栈或者你以后想发展的方向再决定。
    像虚幻和 unity 都对 c++有要求( unity 虽然只支持 c#,但可以通过调用 dll 支持 c++;有 c++基础 c#上手也容易得多),其他游戏引擎不清楚(不过除了这俩和部分用 cocos2d 的公司,国内还有其他公司自研引擎吗?)
    guyeu
        2
    guyeu  
       2022-05-18 19:43:24 +08:00
    c++必了解啊,后面可以转全栈
    weiweiwitch
        3
    weiweiwitch  
       2022-05-18 20:56:49 +08:00 via Android
    游戏服务端属于入门容易精通难的一个领域。这个和互联网行业的后端类似。因为这个领域的含金量体现在你所做的项目上线达到什么规模。技术难度随着规模上升,是指数级上升的。而这个是个人和小公司给不了的。
    既然涉及到规模,那么语言因素其实是比较小的一块,团队熟悉什么语言用什么语言。更重要,也是开发需要了解的,是制作人要做的那个类型的游戏跑起来的那套架构设计和相关的支撑组件。
    所以你不需要深入太高深的语言语法,而是要学习线程和进程模型、网络、数据库、缓存、分布式架构、消息队列,学习怎么收集和分析海量日志,学习网页前端,学习服务器部署和运维知识,学习一大堆要用的和要对接的各种轮子。
    而说到这些,那么 c++在上面这些中的路还是比较窄的。
    至于在客户端领域,c++很有用,如果要做到底层,逃不掉要用 c++。
    wangxiaomu
        4
    wangxiaomu  
       2022-05-18 23:41:12 +08:00
    我建议主要看你自己的兴趣:

    1. 如果对游戏内容制作感兴趣,可以做很资深的 gameplay developer ,也可以学客户端( UE 、Unity )转客户端。我见过服务端转客户端的,也见过客户端转服务端的,也见过都能 cover 的。一般来说,新项目的主程都是客户端程序,大的项目会分客户端主程和服务端主程。

    2. 如果对游戏内容制作不感兴趣,但是对游戏技术感兴趣或者对游戏行业有热情,可以做引擎程序,更贴近底层的实现。有引擎程序的一般都是一些有自研

    3. 如果都不感兴趣可以看看其他的开发或 SRE 、QA 岗位。

    ---

    但要是涉及到薪资待遇、发展前景,那又是另外的故事了。
    Katrol
        5
    Katrol  
       2022-05-19 01:29:02 +08:00
    完全没有必要。首先看你描述,是属于新入游戏行业,而且并不是热爱游戏行业,做游戏加班也多,先做好自己本岗位的沉淀,后面不干游戏也可以很好转互联网。游戏客户端学的很杂,而且要有深度。有那么多精力和时间吗,我不乐观
    gantleman
        6
    gantleman  
       2022-05-19 12:04:50 +08:00
    @weiweiwitch 我们把 java/go 这些异端都骚死,上升空间不就有了?
    Edcwsyh
        7
    Edcwsyh  
    OP
       2022-05-19 15:22:54 +08:00
    @weiweiwitch 有点疑惑, 请教一下大佬,为啥服务器开发为啥也要学网页前端呢
    Edcwsyh
        8
    Edcwsyh  
    OP
       2022-05-19 15:31:57 +08:00
    @Katrol
    倒不是不热爱, 而是这些换皮游戏实在提不起激情啊....
    其次是说热爱的前提也得解决温饱....
    xjp9832
        9
    xjp9832  
       2022-05-19 16:20:47 +08:00
    唉,我现在也遇到同样的问题了,毕业两年游戏服务器开发,说是服务器,其实跟服务器关系一点都不大,要么是前端写写 Lua 业务逻辑,搞搞 UI 的东西,要么就是服务器 Lua 这边写写副本脚本和怪物 AI 脚本,C++偶尔才写,一般也就是写写上下行消息协议,或者是业务逻辑的东西。简单来说,只要会 C++和 Lua 语法的都能来干这个活。感觉在游戏来说,排开其他岗位不谈,策划>>客户端>服务器端。已经着手准备自己学些东西转互联网了,我也想看看各位都是啥想法。
    Edcwsyh
        10
    Edcwsyh  
    OP
       2022-05-19 16:41:11 +08:00
    @xjp9832
    我甚至都还不会写 lua 脚本....
    平时服务器用的 C++倒是挺多的,但多是无用的代码,例如有一个功能,为了支持多开,直接复制了好几份一模一样的代码(原先设计的时候没考虑多开)....C++用的多也导致一个问题,编译代码得好久....一遇上游戏更新凌晨一两点就坐在那等编译,要倒霉点测出 bug 了那就得通宵了,从这点上来看,游戏逻辑用脚本写那真的是好事.....
    项目是没有文档的——注释都没有哪来的文档?公司开发了几款游戏,用的全是同一套服务器代码,前不久开了新的坑,结果还是不支持 C++11....
    xjp9832
        11
    xjp9832  
       2022-05-19 16:47:54 +08:00
    @Edcwsyh 一样的,都是老服务器框架代代相传,传了得有 10 多年了吧,我们连 STL 都不让用。
    paoqi2048
        12
    paoqi2048  
       2022-05-19 20:11:13 +08:00
    1. 只要国内大部分游戏公司还在做网游,那么游戏服务端永远有人员需求。不过长期来看,需求数应该是向少的。
    2. 你司要是一直做换皮的话,早日跳槽吧,不然不利于个人成长。
    3. 不喜欢游戏就趁早转互联网吧,喜欢的话可以往 Unreal 那边渗透,未来虚幻应该会掀起一些热潮。但最主要还是把网络、数据库等方面的基础夯实好,游戏客户端也有网络方向的(即时性要求高的游戏)。
    weiweiwitch
        13
    weiweiwitch  
       2022-05-19 23:58:43 +08:00 via Android
    @Edcwsyh 做网游的话,一个好用的 gm 平台是少不了的。问题是这玩意客户端不会给你做,技术弱的运营也不会给你做,公司小的话,也不会有专职部门来做这个,最后只有服务端自己写。
    你不需要写的好,但你要有。研发预算足的团队,会有专职后端做这个。
    游戏后端是个小麻雀,什么都有,什么都要做。
    weiweiwitch
        14
    weiweiwitch  
       2022-05-20 00:18:24 +08:00 via Android
    @gantleman 看来你在我眼里就是异教徒啊。
    gantleman
        15
    gantleman  
       2022-05-20 09:41:08 +08:00
    @weiweiwitch 来呀,看看谁更骚
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5377 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 06:59 · PVG 14:59 · LAX 23:59 · JFK 02:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.