游戏任务(quest)服务端如何做到良好抽象?
事实上我并不是在做一款RPG,我负责的需求是“用游戏任务(Quest)引导用户了解网站的核心业务,每完成一个任务时给予一定奖励”,但我觉得这个和平时玩的RPG比较相似。
比如RPG中杀掉一定数量、杀掉指定怪物、传递物品、护送、收集物品等...
网站里可能就是:分享次数、邀请好友数、指定时间范围内下单总金额、某活动的分享次数、是否购买了某个商品、点赞/回复次数是否达成一定数量等...
判断任务是否完成,不同的任务需要依赖不同的服务,比如“下单总金额”任务需要依赖订单服务,而“点赞/回复次数是否达成”则需要依赖社交相关服务。
这些任务是如何放到一个任务系统呢?我想总不能为每一个任务提供一个单独的服务,虽然这样给客户端省下了不少麻烦,但这样对服务端的扩展性有影响。
或者我让客户端自己去调用相关服务做判断,如果判断达成则请求任务系统发放奖励。
或者我这样的思维根本上就是错的,求大家指点。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
游戏的话,一般都是服务端专门记录处理,然后告诉客户端。不一定要单独的服务。在每个用户下面有个记录,在完成相关事项后更新就可以了。
完全客户端判断,你很难知道任务有没有完成。完成后有没有领奖。许多信息,如果不做任务系统是不需要记录的。