游戏服务端开发教程(游戏服务端框架有哪些)

本文主要介绍游戏服务端开发教程(游戏服务端框架有哪些),下面一起看看游戏服务端开发教程(游戏服务端框架有哪些)相关资讯。
经常听说有人打算自学技术,然后做一个单机游戏,但是很少听说有人自己做了一个网游。除了工作量大,服务器的门槛也是原因之一。
相比游戏客户端,游戏服务器更难上手。原因如下:第一,客户端引擎和工具比较完善统一,学习资料很多,而服务器至今没有很强的解决方案,都是自己的一套项目,很多都缺少文档;第二,犯错的风险更大。
尤其是对于网络游戏,bug的危害比客户端bug更大;再次,服务器的开发涉及很多技术领域,不直观,增加了开发难度。
交叉层次多,导致知识盲区大。
从技术角度来说,门户服务器的难点在于需要跨越更多的技术层面。下面是服务器端程序的一种分层,这里我分为六层。在实际项目中,有些层的内容往往较少,不会单独分开,但逻辑分层大体相似。
这六层是基础层核心层框架层逻辑底层逻辑中间层逻辑顶层,每层的内容如下:
基础层
数学库,数据结构,缓冲区,字符串处理,json等。
核心层
网络库、数据库、协议编解码、定时器
框架层
分布式结构、消息分发、热更新、数据持久化
逻辑底层
登录,实体,离线消息,黑名单,aoi算法。
逻辑中间层
项目、公告、电子邮件、聊天、头衔、成就、排行榜、登录和首次充电。
逻辑上层
战斗,收到
这六层加上一些运维知识,构成了游戏服务器技术的知识结构。对于刚毕业,或者刚接触服务器开发的同学,现有的知识结构一般如下图所示。下图显示了一般计算机相关专业毕业生可能掌握服务器开发知识的程度。
大多数学校课程侧重于基础,因此合格的毕业生一般都有很好的基础,尤其是在数学、操作系统、数据结构和算法方面。学校一般会开设网络、数据库等课程,如果参加科技项目,可能也会用到。
所以毕业生对核心层的知识接触很少;因为在学校能写一些程序或者课程作业,一般有简单逻辑实现的基础,所以逻辑的中级水平也略有接触。而其他三层与游戏业务密切相关,一般联系不多。
为什么不轻松自学?
经常听说某某通过策划自学技术做了一个好玩的单机游戏,但是很少听说自学服务器谁做的好。除了即使做出来也不能直接给别人看的原因。漫长的学习过程是自学不容易的主要原因。如下图,要做好服务器开发,
可能需要先学习socket和网络协议,然后在此基础上搭建服务器,再实现各种功能。
但是核心层的知识,比如网络、数据库,包含的内容比较多,而且如果要做到高效率、不出错,需要学习很多内容。比如网络,先丢几本书,很厚。
比如数据库,再丢一本书,还是很厚。
这就导致了学习的流程很长。以看书学习为例,如果学客户端,可能看到第一章就能做个五子棋,看到第二章就能做个贪食蛇,以此类推,每一步都能出点成果。而如果看服务端的,那就完了,可能先啃个200页的基础,
啥都做不出来,等看到300页才做个很基础的,这对自学是非常打击的。
游戏公司怎样培养人新人
如果是比较成熟的游戏公司,会有一套带新人的体系。一般而言,会从业务需求出发,先让新人接触简单的业务逻辑,再逐步涉及复杂的业务,当熟悉业务后可能会尝试一些改动框架底层的任务,以提升技术水平。
这样每次学习基本只需学习一个层次的知识,减少了难度。
如下图,在一开始时接触较为简单的业务,那么只需仿照逻辑中层的已有代码,稍微熟悉支撑它的逻辑底层即可。对于复杂的核心层、框架层无需学会,减少了入门难度。
但也由于业务层不太涉及核心层和基础层,某些公司不太注重长期的人才培养,仅培养到“能开发业务”这层就停止。对于新人,核心层与基础就要靠自己学习。业务层的编写更多是模仿能力,仿照已有的代码改动,
而核心层会涉及一些底层的知识。
对比于从基础开始的自学,公司培养模式的学习曲线如下图的橙色线,学习一点就能出一点输出。而自学曲线如蓝色线,要花上较长时间才有输出。
另一方面,某些游戏公司会给程序员评级,比如从初级程序、核心程序一直到行业专家。
其中一种等级划分方法是根据能够解决问题的范围而定。如下图,具体来说能够解决部分业务问题的是初级程序员,能够解决所有业务问题的是核心程序员,能够解决所有技术问题的是副主程,
能够在解决所有技术问题并能够管理团队的是主程,能解决任何问题的是行业专家。
尽管要2年后才动笔,作为后续服务端书籍的调研,一套好的教程应当有好的流程,从游戏公司的培养模式上汲取经验,能够让读者看一点就能输出一点成果,尽量避免看到最后才能做点东西。另,
笔者的《unity3d网络游戏实战(第二版)》 详解了一套简易服务端的实现,欢迎关注。

怎么把苹果手机视频倒入电脑(苹果手机视频导入电脑)
电脑固态硬盘哪个盘,懂电脑的大佬帮忙看看 固态在哪个盘里
阿里旺旺电脑版登录(阿里旺旺有电脑版吗)
小米4c手机忘记解锁图案怎么办,小米手机忘记账号密码怎么解锁
光猫可以直接连电脑嘛(电脑能直接连接光猫吗怎么连接光猫)
游戏服务端开发教程(游戏服务端框架有哪些)
硬盘误格式化后能不能恢复文件夹,电脑硬盘能不能格式化
仅还原系统设置项可以还原系统么(什么叫仅还原系统设置项)
固态硬盘和机械硬盘差价,够用固态硬盘比机械硬盘贵不了多少为什么
safari怎么设置一窗口多页面手机,safari浏览器怎么设置一窗口多网页
深圳卖美版手机怎么样啊,深圳市福田区华强北赛格广场7A011卖的手机好吗
戴尔电脑怎样截屏快捷方式(戴尔电脑怎么截屏幕快捷键)
联想电脑特约维修站在哪里,山西晋中灵石的联想电脑特约维修站在哪
iphone 13的尺寸(iphone 13的尺寸大小)
环境设计专业用什么笔记本电脑好,我是学环境设计专业的 不知道买什么笔记本好
win7隐藏文件后缀名(win7的后缀名怎么显示)
硬盘上主板能换吗,硬盘的主板可以换吗
组装电脑都需要买什么,组装电脑都要买什么
美图m6s怎么样root,美图公司怎么样
电脑应用程序发生异常0xc06d007e(应用程序发生异常0xc000417)