码迷,mamicode.com
首页 > 其他好文 > 详细

运营活动需求实现

时间:2017-08-01 12:31:30      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:自己   推断   content   活动   也有   需求   art   网络协议   条目   

平时游戏运营活动需求,看起来是蛮复杂的。事实上本质上任务系统或者成就系统类似。

一般需求像这样:

1. 活动有開始时间和结束时间要求。

2. 活动给出的奖励也有開始时间和结束时间要求。

3. 完毕活动须要做完几件事情(我们称作事件或者条件事件)。

4. 相比較任务和成就系统,这样的活动条目非常少。


分享一下我们的做法:

1. 独立实现一个活动server。存储的DB也是独立。这种优点是,活动server和主逻辑server的全然分离的,DB数据能够随便清除,很easy维护。

2. 主逻辑server,不断将事件通过网络协议的方式通知活动server;

3. 主逻辑server,通知事件后。活动server将可能返回已完毕的活动条目。


主逻辑server,没有什么好说的。考虑活动的特点。我们仅仅要无脑地将事件发给活动server。

活动server实现几个地方略微讲究一下。

1. 每次收到玩家登录消息时,就将全部未接受的活动项。自己主动接受下来。这里注意的一点事,即使这个活动開始时间未到。我们也接受下来。

2. 收到事件通知时,要注意一下活动是否已经開始,和活动是否已经结束。1&2这样做的目的是,某个活动的開始的时候。玩家不用又一次登录。这个是比較重要体验问题。

3. 完毕活动后,给主逻辑server发奖励的话,需要推断一下,当前时间是否是奖励发放时间范围内。


举一个实际的样例:

2014.10.1~2014.10.7充值的玩家,在2014.10.5~20.10.7期间,能获得双倍掉落的奖励。

接受时间:2014.10.1~2014.10.7

事件:充值

奖励时间:2014.10.5~20.10.7

奖励内容:双倍掉落

1. 某个玩家登录时,活动server生成这个 活动任务 对象。

2. 这个玩家充值的时候,活动server收到这个充值事件,仅仅要在2014.10.1~2014.10.7内。就推断该活动是否完毕。

3. 玩家登录后。主逻辑server发一个空的通知事件,然后就收到双倍奖励内容,后面该干什么就干什么。


这类需求头脑保持清醒。看似眼花缭乱的需求,实现起来很简洁。

运营活动需求实现

标签:自己   推断   content   活动   也有   需求   art   网络协议   条目   

原文地址:http://www.cnblogs.com/mfmdaoyou/p/7267532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!