游戏服务端是什么意思(解析游戏服务端的入门)

网站编辑01 2022-07-24 20:24:10 阅读:35

  经常能听说某某策划自学技术然后把单机游戏做出来,但很少听说谁自己做了个网游,除了工作量大之外,服务端的门槛是原因之一。

  比起游戏客户端,游戏服务端的入门难度较高。原因在于,其一,客户端引擎和工具相对完善和统一,学习资料众多,而服务端至今没有较强大的方案,都是各个项目自己的一套,且很多缺乏文档;其二,犯错的风险较大,特别是对于线上游戏,出bug的危害要比客户端bug大一些;其三,服务端开发涉及到的技术领域较多,又不直观,加大了开发难度。

  跨越层次多,导致知识盲区大

  从技术角度,入门服务端的难点在于需要跨越较多的技术层次。以下是服务端程序的一种分层,这里我把它分层6层。实际项目中往往某些层的内容较少,不会单独分出来,但逻辑上的分层大体相似。这6层分别是①基础层②核心层③框架层④逻辑底层⑤逻辑中间层⑥逻辑上层,各层的内容如下:

游戏服务端是什么意思(解析游戏服务端的入门)

  ①基础层

  数学库、数据结构、缓冲区、字符串处理、Json等

  ②核心层

  网络库、数据库、协议编码解码、定时器

  ③框架层

  分布式结构、消息分发、热更新、数据持久化

  ④逻辑底层

  登录、实体、离线消息、黑名单、AOI算法

  ⑤逻辑中间层

  物品、公告、邮件、聊天、称号、成就、排行榜、签到、首充

  ⑥逻辑上层

  战斗、副本

  加上一些运维知识,这6层组成了游戏服务端技术的知识结构。对于刚毕业的同学,或者刚接触服务端开发的同学,已有的知识结构大体如下图所示。下图展示了普遍的计算机相关专业毕业生可能的服务端开发知识掌握的程度,学校课程大都注重基础,所以合格的毕业生一般基础较好,特别对数学、操作系统、数据结构、算法都有较好的掌握;学校一般会开设网络、数据库等课程,而且如果参与科创类项目,也可能会用到,所以毕业生对核心层的知识稍有接触;因为在学校会写一些程序,或者是课程作业,对简单的逻辑实现一般都有基础,所以逻辑中层也算稍有接触。但其他三个层和游戏业务关联较大,一般接触不多。


二维码