任务模块是所有游戏必备的一个模块,每日任务、连续签到等都是任务模块中的一种表现形式,甚至很多活动也都是由任务组成的,比如春节期间很火的集福卡活动。今天就让我来分享一下我对设计一个通用的任务模块的想法。
了解任务
在开始设计任务模块之前,我们先通过几个例子来深入了解一下任务:
- 第一天签到可获得 5 个金币,第二天签到可获得 10 个金币……连续第七天签到可获得 200 金币
- 通过第 20 关可获得 1000 金币
- 分享到微信群可获得 1 次抽奖机会
- 累计打倒 50 个小野怪可兑换 1000 水晶
- 收集 100 朵红玫瑰可获得红镐头徽章并解锁新地图
通过以上的几个例子,我们可以发现任务的描述是有规律的:通过/完成/收集等+关卡/物品/签到天数等+获得金币/抽奖机会/徽章/水晶等,总结一下就是任务=动作+数值变化+奖励。
动作是一个很泛的词,在系统里发生的任何操作都可以称之为动作,比如分享到朋友圈、收藏物品、点赞某篇帖子等,而动作的发生就意味着必然会影响到系统中的数据,比如每次签到会让签到天数加一,签到七次后用户的签到天数就达到了七,这就是数值的变化。理论上来说,只要有动作,都可以设计出对应的数值。再来说奖励,奖