为什么游戏服务端用开发效率低的C++来写,其他语言无法胜任吗?

发布时间:2024年01月02日

为什么游戏服务端用开发效率低的C++来写,其他语言无法胜任吗?


在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C++的资料从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!!!

在评论区回复“888”之后私信回复“888”,即可拿走。为什么「多数」游戏服务端是用 C++ 来写呢,我觉得这个「多数」很可能是错的,没有任何数据支撑C++写的游戏服务器占大多数。

但是我自己进鹅厂以后一直是用C++写游戏服务器,而且是纯C++,我了解的不少团队都是纯C++,也有极少数团队换成了golang,我参加评审的时候还碰到过用java写游戏服务器的项目。x

下面是个人的一些见解:

1、游戏引擎不纯粹
游戏引擎并不是那种特别短小精悍、几个神奇的算法加起来构成稳定健壮的系统的那种程序。比方像Git、Lua、SVN类似的程序或者系统,虽然看似高深,但是功能边界非常清晰。

现代游戏引擎,除了一些小而美的2D引擎,都是无可避免地走向越来越复杂、越来越集成化的方向。很多功能早就脱离了“渲染”这个核心任务,而是要考虑逻辑扩展、编辑器接口、资源管理、资源编辑器的集成、嵌入脚本引擎等等繁琐的功能中去。

而且很多引擎还要从底层支持UI系统,UI这东西可真不小,而且是典型的特别适合用经典面向对象实现的系统。

2、规范约束,释放C++的潜能
既然如此,如何进行良好的工程管理,如何让大量思想不完全一致的人协作起来,是更重要的任务。如果其他人的思路和你不一致,总不能指责别人“你语言没用对”吧……怎么才算用对,难道你用的就一定对?

C++在统一观念上不见得更好,甚至问题更大,因为支持多种编程范式……但是如果在工程中做出良好的规定,什么能用,什么不能用。经过限制之后C++的语法特性真的能解决很多问题,毕竟有原生的继承,好用的泛型,特别是C++11之后泛型变得越来越好用了。2baf94dbb747b52ebdd5cacdbbc5bd09.jpeg

文章来源:https://blog.csdn.net/lz19zlun/article/details/135340664
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。