对于想从事游戏开发的同学,我的建议是:

如果你不是对游戏开发特别感兴趣,建议谨慎地选择这个行业!

如果你不是对游戏开发特别感兴趣,建议谨慎地选择这个行业!

如果你不是对游戏开发特别感兴趣,建议谨慎地选择这个行业!

重要的话说三遍,如果你还是想学习游戏开发,下面是正文:

如果你是上班族,或者想快速地熟悉 C++ 游戏服务器端的开发的话,建议:

1. 先学好 C++。

这类书很多。不建议看《C++ Primer》这样的大部头,掌握 C++ 常用语法就可以了。当然 C++ 原理性的东西还是需要了解一下,推荐看下《深度探索C++对象模型》(链接: https://pan.baidu.com/s/1xUxFyXOeE4Yo4VnyD-dIDQ 密码: v376)。

2. 学好网络编程,做到熟练使用常见操作系统的 Socket API。

根据你的水平高低来选择,依次从低到高的书有:

尹圣雨的《TCP/IP网络编程》(链接: https://pan.baidu.com/s/1NcENujONIUmQe6auD9Bszg 密码: 5nic)

游双的 《Linux 高性能服务器编程》(链接: https://pan.baidu.com/s/1JeHfa2A86_IDes4-1ABCTA 密码: iwp1)

陈硕的《Linux 多线程服务端编程 使用 muduo C++ 网络库》。

看了后两本书,你还能学到一些 C++ 服务器程序框架、结构等一些套路。

3. 学一些游戏开发的知识

如果你需要实战的话,我这里有一套完整的可以编译、调试和部署的 MOBA 游戏的源码。

这是一款类似英雄联盟的 5V5 实时对战游戏,服务器端使用 C/C++ 开发,同时支持 Linux 和 Windows 系统部署;客户端使用 C# + Unity3D 开发。

我们先来看下这个游戏的内容吧,这是在我机器上编译后运行的效果图:

登录界面

图片说明

进入后台配置的对战服务器:
图片说明

设置自己的昵称:
图片说明

支持新手教学、人机对战和联网对战:
图片说明
图片说明

部署在我的云主机上后,和女朋友一起对战的效果图:

ps~被我女朋友虐的体无完肤。。。。。。
图片说明

服务器端有非常多的模块,代码质量非常高,这里先截一张主要模块的项目图示:
图片说明

上述游戏完整的服务器和客户端完整代码及安装部署教程,有人分享出来了:

链接: https://pan.baidu.com/s/1Y6X_TtEZ21-FkFqq8-rQ6g 密码: bde4

总结起来,熟悉 C++ 游戏服务器开发,建立在熟悉 C++、网络通信、服务器开发常用套路上,其次才是游戏服务器本身的特性。