|
游戏服务器开发其实是综合性比较强的,对开发人员的要求比较高。作为转型或从事游戏服务器开发,我们可以按照这些阶段来进行学习和准备。
阶段1: 掌握至少一门常用的服务器开发语言与数据结构和算法。服务器不像客户端,运行的时候马上能看到效果,服务器都是后台数据在执行,
同时服务器要求稳定,跑几个月系统要非常稳健,对于开发人员的代码质量和要求很高。所以至少要掌握一门主流常用的服务器编程语言,精通数据结构与算法。
服务器编程语言选择哪些好找工作呢?C++/Java 目前是最主流的,还有Go/C#等。腾讯的和平精英服务端是C++与Lua脚本,我的世界是Java服务器。
C++和Java建议大家选一个,有机会都学。
这边有个游戏开发学习交流小组 点击直接加入 可以在里面获取学习路线
阶段2: 掌握服务器基础知识,构建知识体系。服务器的基础知识主要有网络编程(TCP, UDP),传输协议(HTTP, WebSocket),应用协议(Json, XML, ProtoBuf),
数据库(Mysql, Redis, MongoDB), 多线程, 文件IO,内存池,缓存,操作系统调度,多核优化等。
阶段3: 服务器框架设计与高并发,高性能架构,这块主要是要学会发挥多核优势,选择合适的架构,比如多进程多线程,多进程单线程,日志系统,脚本系统,
配置数据系统,ORM数据库系统,高性能网络框架, 序列化与反序列化,常用工具如MD5, SHA1等。
阶段4: 游戏逻辑服务器的核心业务,游戏服务器同步, 主要有帧同步和状态同步,了解这些同步的核心原理与实现方式,游戏用户注册,登录,奖励,任务,好友,
商城背包,核心的游戏逻辑。这些学习完后主流的游戏服务器逻辑编写就完全没有问题。
阶段5: 发布与部署,如何把游戏服务器集群部署到Linux上,如何根据同时在线人数做压测,选好对应的机器。如何来实现刚上线流量突然的猛增等。
经过这5个阶段,不是大神也胜似大神,祝你成功,生活上可以躺平,但技术上要追求躺赢。 |
|