活动的定义
活动是指为了某些特定目的而存在的特殊的系统。活动有调节游戏节奏,增加留存,增加活跃,刺激付费,增加用户等作用。游戏中的活动存在灵活性和时效性的特征,活动可以根据需要开启或者关闭。
活动(服务端的角度): 开启方式:定时活动、开服活动、合服活动、周期活动。 有时间调度(预备、开始、结束关闭)。 有一个或多个玩法。
开发方式: 将每个活动都视出一个整体。 将玩法视为一个整体,每个玩法作为一个活动,各自管理开启方式和时间调度。
开发痛点
痛点①:将一个活动的所有玩法当做一个总体。 特点:使用一个活动配置,由于玩法不独立,耦合度高,无法复用。
痛点②:将活动进行垂直切分,把一个活动分为多个毫无关联的子活动。 特点:玩法独立,由于将一个活动进行垂直拆分,无法共用一个调度,配置冗余。
解决思路
玩法独立出来,降低耦合度。 同个活动共用调度,减少冗余配置。 调度与玩法进行解耦。
什么是组件
组件,它是基于可复用、可插拔为目标的功能单元,同时具有清晰的职责和上下文边界。当然组件颗粒度把控也是一门学问,太大和太小都会直接影响到重用性和复杂性,所以组件一般为某个业务域下具体的、能独立提供服务的产品或者模块。
-
将没有实现组件化目标的业务功能转化为符合组件化目标的功能单元的过程。
-
抽离可组件化的活动玩法, 组成一个活动组件组件库。
组件化活动中
代码实现
架构图
模式优点
可插拔、可复用、易配置、多人协调 可插拔:每个活动可以根据需求对组件进行增删。 可复用:组件独立存在,不用活动可以引入相同的玩法组件。 易配置:策划维护更少的配置表,同个活动只需要一个调度表,每个组件有对应的表,可以进行追加。 多人协调:玩法组件之间的开发不相互依赖,可以多人并行开发。
存在不足
组件粒度的掌握,粒度过大,复用性差,粒度过小,开发成本高。
协议复用,需要客户配合。