literwave game.

游戏开发

Word count: 496Reading time: 1 min
2022/12/03

目标活动

  • 前几天在开发一个子活动,突然发现一个问题还蛮容易疏忽的。
  • 我们的活动框架类似于这样的,存储结构,{[大活动id][子活动id][玩家id]}
  • 然后策划需求是这样的,经典对需求,类似玩家达到某个条件,然后记录进度。
  • 说说我的设计吧,起初我在大活动模块里回调到各个子活动onstart函数,也就是活动开始的时候取单服所有玩家的数据把目标任务加上去。然后就交给策划验收了,策划用新号,发现,目标任务居然全都完成了(当客户端没数据的时候,会默认所有任务都完成了),原因就是拿单服所有玩家的时候发现新进入的玩家是没有这个任务目标的,所有就出现bug了,这个问题在开发设计中是个坑,所有记录一下。
  • 我目前的处理就是,不能在登录的时候给玩家接取,因为当开始的时候,玩家在线客户端是不会发现有目标任务数据的,所以我在活动开启的时候只接取在线玩家的,如果有离线玩家的,只能通过登录来接取了。

最终修改

  • 这种还是不合理,因为这种耦合性太强了,其实就是策划配错表了,这样会导致出错率太高了。
  • 现在修改为,在活动开始的时候可以onstart ,但是呢,这个时候,是不会取所有玩家接取的,只会注册任务回调函数而已,在触发的时候,根据type_id取一下开启的活动,然后遍历一下这个活动是否有这个任务,这样子不仅仅保证策划动态改任务了,而且还支持所有玩家一上线就能拿到任务。
CATALOG
  1. 1. 目标活动
  2. 2. 最终修改