聚酯纤维,拿到一套游戏服务端源码,该从哪看起?-优德88手机登录

admin3周前269浏览量

文/罗培羽

开发游戏服务端,常常要触摸一套全新的游戏代码。触摸新代码贯穿于整个作业生计,比方,作为刚入职的新人,要去了解项目代码,赶快上手作业;调到一个新的项目组作业时,要了解已有代码;给项目组做技能指导时,也需求了解原有的写法。

但是看懂一套自己并不了解的代码并不简略。其一是时刻有限,作业中往往要求能够快速上手;其二是新代码往往包括自己一些常识盲区,需求学习。所以编写此文,总结一套看代码的办法和流程,以供参阅。

第一步:看人物逻辑的编写方法

游戏服务端的最中心功用便是处理玩家逻辑,能够先从单服的逻辑看起。比方看看背包模块、报到模块的编写方法,然后了解游戏的逻辑安排。

一般来说,玩家逻辑会触及如下图的几个部分,看代码时能够依照模块生命周期的流程跟着。当玩家上线时,需求加载数据;然后处理客户端协议;下线前需求保存数据。依照这个次序,看看每个过程的写法。




看过几个模块后,便能够仿写一些简略的功用逻辑。对游戏公司,这也是培育新人时,前期的要求。

第二步:看玩家上线到下线的整个流程

玩家从衔接服务端,到他退出游戏,中心一般会阅历如下图的流程。


(图片来历,《Unity3D网络游戏实战(第2版)》第七章通用服务端结构)



跟完这个流程,根本能够理解整个服务端的逻辑架构。比方有些游戏服务端在gateway中处理衔接,然后交由login服处理登录,再交给game服处理游戏逻辑,或许还会有db服处理数据库的读取。那么,一步步的跟进这个流程,就能够把服务端各个部分的功用给联系起来,也能够处理一些游戏流程的问题。

第三步:看战役逻辑的完成

游戏中的一些中心功用,比方地图、战役往往较为杂乱,还或许触及跨服。看这部分代码的意图是从之前只能开发一些简略的通用功用,扩展到能够开发中心功用。

举例来说,比方某款游戏的战役流程或许如下图。当玩家进入匹配时,游戏服会把玩家的一些信息发到匹配服去做匹配;当匹配成功,服务端会创立一个战役服,然后参加战役的各个玩家切到战役服去战役。




那么要重视的当地就有各个服务的功用是什么,它们间的数据传输流程,以及传输了哪些数据。从而还需求了解人物在战役服中的逻辑,比方战役开端、战役完毕的处理,放技能损伤的核算。

第四步:技能完成细节

游戏服务端触及的内容其实许多,在依照以上三个过程看代码后,根本就能够在这套代码的基础上做开发。但假如要修正一些底层功用,或许做功用优化,就要愈加深化的看代码。

一般来说,以下的三个模块是要点,能够优先了解。




网络作为服务端的要点模块,能够了解该结构选用什么方法处理多路衔接,了解协议的规划。磁盘IO或许会是服务端的功用瓶颈,一般会经过缓存机制来缓解,要了解服务端的存储结构,知道保存着什么数据以及怎样保存。手游很重视热更新功用,作为坚持服务器安稳的一个重要手法,但做好热更新并不简略,能够了解结构的热更计划。

经由以上几步,应能够了解一套服务端代码,能在它的基础上编写逻辑,改动底层功用。

最新评论