1.游戏业务开发思考
在游戏开发中,为了可以进一步加深对引擎底层代码的理解,通晓上层业务逻辑是非常必要的。往往游戏业务逻辑做的优秀的开发人员,也对引擎逻辑有非常独到的理解。这里将我对游戏业务相关的粗浅理解整理一下。游戏业务逻辑分为客户端部分和服务器部分。其中客户端部分逻辑主要负责游戏的表现,用来使得游戏的卖相更好。服务器部分逻辑是整个游戏的灵魂,绝大部分的游戏的逻辑、数值计算都发生在服务器部分(这里以状态同步为例,不考虑帧同步网游)。
客户端开发和服务器开发需要两种截然不同的开发思路,两者都需要一种所谓的“框架”。那么问题来了,框架是什么呢?
所谓开发框架,以我的粗浅理解,我觉得更可以比喻成台式机的主板。一个牛逼的主板,可以往上插入更大的内存,更好的显卡,更多核心的CPU。而差的主板却支撑不住很多强大的组件。而游戏框架也是一样的,一个优秀的框架,可以具有更强的扩展性,可以上更多的功能。相反的,一个很弱小的框架,往往在上一些新功能,整个代码框架就会乱掉,后续随着耦合性越来越强,整个项目几乎就会崩溃掉。因为扩展的空间往往微乎其微了。
然而,优秀框架并非是软件工程的银弹。一个优秀框架只会极大减缓项目衰老的过程,但是并不会阻止项目的死亡。项目大到一定程度的时候,单纯的投入人力物力重构往往已经不能解决问题。成功的项目只会逐渐庞大,成为一个利维坦级别的怪物。这部分内容可以参照软工圣经《人月传说》中的软件工程管理哲学,此处不再赘述。
1.1客户端部分
客户端部分作为游戏表现的核心开发内容,