找回密码
 立即注册
查看: 380|回复: 5

为什么C++游戏处事器开发那么难招?

[复制链接]
发表于 2023-8-28 14:48 | 显示全部楼层 |阅读模式
有没有人投递呀,本苦逼HR需要解救

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2023-8-28 14:48 | 显示全部楼层
主要还是工资待遇不到位!
为什么「多数」游戏服务端是用 C++ 来写呢,我觉得这个「多数」很可能是错的,没有任何数据支撑C++写的游戏服务器占大多数。
但是我自己进鹅厂以后一直是用C++写游戏服务器,而且是纯C++,我了解的不少团队都是纯C++,也有极少数团队换成了golang,我参加评审的时候还碰到过用java写游戏服务器的项目。x
下面是个人的一些见解:
1、游戏引擎不纯粹
游戏引擎并不是那种特别短小精悍、几个神奇的算法加起来构成稳定健壮的系统的那种程序。比方像Git、Lua、SVN类似的程序或者系统,虽然看似高深,但是功能边界非常清晰。
现代游戏引擎,除了一些小而美的2D引擎,都是无可避免地走向越来越复杂、越来越集成化的方向。很多功能早就脱离了“渲染”这个核心任务,而是要考虑逻辑扩展、编辑器接口、资源管理、资源编辑器的集成、嵌入脚本引擎等等繁琐的功能中去。
而且很多引擎还要从底层支持UI系统,UI这东西可真不小,而且是典型的特别适合用经典面向对象实现的系统。
2、规范约束,释放C++的潜能
既然如此,如何进行良好的工程管理,如何让大量思想不完全一致的人协作起来,是更重要的任务。如果其他人的思路和你不一致,总不能指责别人“你语言没用对”吧……怎么才算用对,难道你用的就一定对?
C++在统一观念上不见得更好,甚至问题更大,因为支持多种编程范式……但是如果在工程中做出良好的规定,什么能用,什么不能用。经过限制之后C++的语法特性真的能解决很多问题,毕竟有原生的继承,好用的泛型,特别是C++11之后泛型变得越来越好用了。
C++语言特性过于太多,以至于很多地方都被人批判。但是实际工作中,我们总能通过交流沟通、制定规范、代码审查来避免绝大多数坑,其实某些“缺点”都是可以解决的。
反观C,在参与者多了之后问题挺大的。比如:1、用C写面向对象程序,每个guru都有自己独到的见解; 2、指针、类型的转换过于跳脱,互相审查代码有心智负担。当然guru不怕这个。
3、用的人少不见得就不好
话还要两面说,用的人少就不代表不好。
如果进行良好的封装,不要考虑“大而全”,其实C+Lua的方式来制作引擎也特别好。兼顾了底层效率和灵活性。
总之,具体用哪种技术路线其实还要看引擎的设计目标吧。

技术选型这事,说到最后更像是经济学问题,不是纯技术问题。



(上图为示意,不严谨)
作者:马遥 链接:https://www.zhihu.com/question/26591038/answer/378103287
学习C++ 的 好处:
最大的好处是,学会了C++就学会了大多数语言的通用的大部分,而学其他语言则并不能。
C++是一门难度较高的语言,并且非常严肃严谨。
在高级语言满天飞的今天,很多人会问题主这个问题。
C+至少有以下几点优势:

  • 和C语言兼容
  • 近乎零开销抽象
  • 极高的性能及运行效率
  • 极高的可底层可控性
  • 极高的成熟度
  • 极高的兼容性
  • 适合和硬件打交道
以上优势决定了C++在以下领域,依然是霸主和主流:
1.在游戏和工具领域仍然是主流
首先是游戏领域,Milo Yip表示——
程序员必须使用C++框架/库,如大部分游戏引擎(如Unreal/Source)及中间件(如Havok/FMOD),虽然有些C++库提供其他语言的绑定,但通常原生的API性能最好、最新。
其次是工具领域,无论是网络安全还是杀毒软件,C++仍是主流语言。
感谢大家耐心阅读,另外我把大学和工作中用的经典电子书库(包含数据结构、操作系统、C++/C、网络经典、前端编程经典、Java相关、程序员认知、职场发展)、面试找工作的资料汇总都打包放在这了,点击下方可以直达:
计算机经典必读书单(含下载方式)这套资源的目录,非常经典:


这套资源可不是一般那种网上找的资源,是伴随我从学生一路成长为腾讯高级开发工程师,360技术经理、360技术总监、中小公司CTO的打包全套!非常宝贵!

2.很多领域需要极高的性能和控制性
需要程序员压榨每一分硬件性能的地方并不多,特别是现在的服务器核心数很多,只要能充分利用多核心,每个核心没有完全挖掘也是可以接受的。
一般来说,需要压榨硬件潜力的领域有:
1、操作系统
每个人每天都要用操作系统,这一块的性能哪怕提升1/1000,全球计算机加一起也是相当可怕的。
2、游戏引擎
更好更酷的游戏是主机硬件进化的主要推进器之一,而游戏一旦卡顿,基本就没法玩了,这个领域提升性能和可控性有无限需求。C++一直以来都是编写游戏引擎的首选语言,而且几乎是唯一语言。
3、嵌入式程序
单片机的硬件性能很弱,存储空间极小,C++就派上大用场了!
4、加密与安全方向
这个领域和操作系统类似,每个人每天都会用到。所以用C++来优化很有必要。
国内C++的招聘需求其实很大的,看这里:
校招C++大概学习到什么程度?310 赞同 · 6 评论回答另外,担心C++学不会?可以看看我的这个高赞回答,给出了一些系统学习C++的建议:
应该坚持学 C++ 吗?26 赞同 · 0 评论回答不要担心学习C++之后找不到工作,退一万步说,掌握了C++再去学习其他语言,只能说:非常容易。
最后献上C/C++的一份修炼体系图,希望对大家有帮助:



需要学习资源的戳下面获取:
大厂15万字C++开发面试手册出炉(C++和计算机基础全有)​mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247487041&idx=1&sn=1c49fe6e12b1e52f66462b8b942e1644&chksm=fdb3f09fcac47989e399f52a975a6d2b18bd15e8cdfe720e3d878866f2d05c758318e2f6241f#rd华为最牛逼的c++ 基础与提高PDF​mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486995&idx=1&sn=382ef6a0c1d20bdcc4531463024a8060&chksm=fdb3f0cdcac479dbf38c2db05f3d57ef6cb2acbd2edf977244523026a58258520a784933810b#rd还是那句话,如果感觉学习C++比较吃力,初学者推荐课本+视频的方式学习。这里推荐,B站上面侯捷 C++ 视频课程一直都被看过的同学广为推荐,最近发现 B 站关于侯捷老师的 C++ 视频课程几乎全部被下架了,于是自己搜集了一套非常全的视频,大家赶紧去下载保存备用:
侯捷C++全套视频|含下载方式​mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rd​mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rd​mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rd​mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rd​mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247486987&idx=1&sn=6002f1b0c275f97a33ee2e3e8f53ab4f&chksm=fdb3f0d5cac479c3368acf8cecbf5b0669ff76db88b3f32d3543fcd8f0f5c820845102493c16#rd学好C++才是入职大厂的敲门砖! 当年要是有这课,我的C++也不至于这样.
大家只知道程序员工资高,同样的,选择了程序员这条路也要做好付出更多努力的准备,未来的路很长,我们终身学习,共勉
另外,程序员多刷算法题好处多多,算法厉害的人进大厂非常容易。
算法真的是重中之重,这里送一本阿里P8大佬撰写的算法笔记,身边不少朋友通过它加入大厂:
BAT大佬写的Leetcode刷题笔记,看完秒杀90%的算法题!​mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rd​mp.weixin.qq.com/s?__biz=MzU4MjgwNjQ0OQ==&mid=2247485348&idx=1&sn=02ede6b715b20a6b981af1d021d77d5d&chksm=fdb3f97acac4706cc193bec80b984255bb33db2b35366682bd566280326b7029f1dae632abb2#rd

看看这本书的目录和排版!相当经典!
码字不易,硬核码字更难,希望大家不要吝啬自己的鼓励,给我 :
@码农出击
一个点赞,鼓励下我!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2023-8-28 14:48 | 显示全部楼层
看了职责和要求。
我怎么感觉这家企业要求的有点低啊
还给这么多钱。
还在成都这么繁华的地方,
没事还可以认识川大的高材生。
想想我都开心。
但是,仔细一想,就有些后怕!






我现在都是操作8块屏的顶级程序员了,如果真要让我去操作2个屏幕,我根本就接受不了这种低眼界的局面。
  毕竟我现在cpp 标准已经一路从98 提升到20了,该看的经典都看完了,如果团队的搭档达不到这个水平,那沟通起来得多累。


我估计公司里的小伙伴,应该不会看这类书,那该如何进行共事呢? 毕竟一个人不可能用他不知道的思想去思考问题。


我买编程的书都几万块了。还有30年的电脑升级换代,以及正版软件费用,请老师的费用,都过2百万了。
所以说,我计算了一下不太合算,得在这家公司工作10年才能收回成本。
所以只能让贤了。把好岗位留给兄弟们了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2023-8-28 14:49 | 显示全部楼层
待遇有点低了,起薪20k试试,
其实一般的小游戏公司没必要用c++做服务器,换成golang这个待遇应该能招到。
其实大厂也有用golang写游戏服务器的,中小厂更多,golang性价比真的很高。
C++做服务器招聘还是要侧重招应届生培养,招现成的很难。我这么多年社招就没招到几个。应届生学习能力很强,有人带3个月就可以入门。
发表于 2023-8-28 14:50 | 显示全部楼层
三至五年13k。。。想啥呢
发表于 2023-8-28 14:50 | 显示全部楼层
2年工作经验可能无法符合你这个要求,实打实满足至少需要4到5年,而且这样的人北上广很容易找到工作,待遇也比较好。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-22 16:38 , Processed in 0.105004 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表