淘宝斗地主残局玩法技术方案总结

简介: 游戏互动是淘宝内容化建设的重要一环,其实自研的淘宝斗地主满足了部分人群的简单娱乐需求。本文主要介绍了淘宝斗地主新推出的残局玩法从0到1是如何实现的,笔者针对游戏链路到设计方案和可能出现的问题做了比较细致的介绍,供大家参考交流。


项目介绍

当前互联网应用很重要的一点就是内容建设,通过内容吸引用户。对我们来说就是成为吸引用户每天点开淘宝的动力。期望用户能够每天点开淘宝看看——我现在没事,那打开淘宝领取一下淘金币,去淘宝人生看看,打个斗地主,玩个麻将,看看淘宝乐园的小游戏等等。
笔者本次拿斗地主举例,其作为棋牌游戏面向人群广泛,即时满足性强,两分钟一局,通勤、食堂、洗手间等碎片时间来一局,此类互动类内容建设为淘宝在用户增长和用户使用时长方面带来了一定的收益。

image.png

相信每个人都知道斗地主的玩法和规则,这里就不花笔墨叙述了,淘宝斗地主目前有经典玩法、炸弹房、实物大奖赛、好友对战等游戏模式,也形成了任务中心、钻石一分兑、道具商城的运营体系。但是游戏要想持续吸引住玩家,必须要不断推陈出新。


因此在经典玩法基础上我们需要探索出的新的玩法,就像9月份爆火的《羊了个羊》游戏一样,诸如此类的解密闯关类,我们做了斗地主的残局玩法,你可以想象和象棋的残局一样,双方能够看到对方的手牌,并且其中玩家方的胜利路线是唯一的。玩家从复杂的敌我手牌中,面对永不出错的AI,在重重险阻中找到获胜的途径,获得战胜AI的成就感。残局作为承接斗地主部分玩家的双十一活动,为玩家尤其是高玩提供了新颖的游戏体验,后期作为外投的“钩子”,期望吸引到更多感兴趣的玩家,拉新并转化。

image.png

经典模式的斗地主分了以下几个阶段:


匹配->发牌->叫抢地主->加倍阶段->打牌阶段->结算


功能上分为几大模块:实时在线匹配,牌局推进与更新、托管与守护、消息的推拉结合。由于本文主要讲述的是残局,对于经典玩法是如何实现的就不展开了,主要想对比一下残局玩法和经典玩法的区别:

image.png

image.png

  • 触发活动,获得当日牌局

根据运营策略,AB、人群、来源等判断是否触发活动,再请求当日牌局信息。牌局要求:玩家必有获胜机会,但是仅有一种出牌方式能获胜;要求生产的牌局一定要保证某一步是唯一解,既不能出现用户随便出都能赢AI,也不能出现无论怎么出都无法赢AI的牌局。

  • 进入对局
    进入对局后,只有玩家与AI对手两个角色,并且双方手牌都直接展示。
  • 用户出牌
    开局后直接进入出牌环节,玩家为先出的一方,对局过程中,玩家侧不设定倒计时,每一步没有超时时间,可无限等待下去。
  • AI和用户轮流出牌
    每当玩家出牌,AI方将有5S的倒计时出牌时间,AI的每次出牌会随机在1~5S间隔
  • AI出牌策略
    当玩家出牌并在“获胜”的路径上时,AI需要尽量确保后续的出牌也只有1种策略【AI不能认为要输了就摆烂】当玩家出牌并非“获胜”路径时,AI需要使用合理的牌序策略将玩家击败【只要玩家出错就必败】
  • 有一方出完则进入结算
    直到双方有一方将手牌打光,即为牌局结束,AI出完用户失败,反之则胜利。

image.png

当用户击败AI后,可以获得相应关卡的奖励(一般是斗地主的道具或豆子钻石),吸引用户在其他对局中使用,进而拉长用户的游戏时长

  • 牌局保留逻辑


玩家的牌局缓存会保存一定时长,中途退出后,牌局不会被自动托管,现场被保存下来,用户当天再次挑战会从上次结束地方继续,除非用户手动点击重开或本局进入到结算。

  • 牌局选取与更新原则


要求用户短时间(30天)内不能遇到重复的牌局;半夜十二点玩游戏用户很多,因此将每日关卡改到凌晨5点刷新

 功能上的挑战

image.png

  1. 牌局自动生成:这种大量残局不可能由人工生产,需要训练生成,并且残局要求牌面实力相当,用户存在少量必赢路径(1~2条),尤其是大规模高质量残局生成难度大
  2. 用户请求当日关卡如何做到不重复,并且有一定容错能力
  3. 牌局信息存储的选型和可扩展设计,并尽量减少缓存占用

  4. 高度依赖稳定的AI出牌,尤其是较高的调用量要保证高可用高性能:a

    .高准确率:准确率100%;当用户走必赢路径时能合理出牌;当用户走错时AI能100%反杀;b

    .高性能:AI出牌低延迟;c.兜底能力:当AI不可用时,服务端要有兜底的能力,不能阻塞用户
  5. 设计时考虑投放和AB测试能力,以及加入多种降级和紧急下线的开关与兜底工作
  6. 数据表的设计,数据分析能力,监控报警,数据看板以及可灰度、可观测、可回滚的能力等等



技术方案及思考


 技术模块拆解


1、用户触发活动 2、获得今日关卡 3、用户和AI对局 4、结算和发奖

 系统链路图


image.png

 技术模块拆解


  • 牌局数据存储


一般的存储方式:

    单机内存、 布式数据库、 分布式缓存


由于牌局更新频繁,而且在线玩家越多,并发越大,对RT和性能就越敏感,而牌局的具体过程系统不需要详细记录下来,也不需要使用永久性的存储方式。综合考虑之后基于Redis的缓存是当前比较合适的方式。
残局场景涉及到两个缓存信息:一、十局牌局信息同时也作为触发标志存储包括挑战进度,十局残局对应的信息(gameId;用户手牌;AI手牌)二、用户当日正在挑战局的牌局信息

image.png

  • 用户触发活动逻辑


用户在进入斗地主主页的时候,会去校验该用户是否能够触发活动,如果在触发活动范围内,会判断疲劳度决定是否出现活动弹窗,引导用户进入残局玩法。下面展示的是当用户进入首页时,校验触发逻辑:

image.png



相关文章
|
程序员 图形学
虚拟人直播带货如何实现
虚拟人直播带货如何实现
148 1
|
移动开发 缓存 搜索推荐
淘宝首页大促新玩法“猫头”背后的技术挑战和设计
本文详细介绍了淘宝首页大促新玩法“首页即会场”项目,从开放模式、复用粒度、交互实现、性能、可扩展性等技术角度来说明“猫头”是怎样炼成的。
353 0
|
存储 SQL NoSQL
社交软件红包技术解密(十二):解密抖音春节红包背后的技术设计与实践
本文将要分享的是春节期间海量红包社交活动为抖音所带来的各种技术挑战,以及抖音技术团队是如何在实践中一一解决这些问题的。
391 0
社交软件红包技术解密(十二):解密抖音春节红包背后的技术设计与实践
|
人工智能 API Android开发
淘宝、拼多多、抖音主播颜值大比拼
淘宝、拼多多、抖音主播颜值大比拼
375 0
淘宝、拼多多、抖音主播颜值大比拼
|
移动开发 算法 JavaScript
淘宝直播里的智能互动是怎么做的?
跨端方案成为唯一选择,为了提高运营、设计和玩法开发人员的制作效率,我们也必须有配套的素材生产工具和玩法编辑工具,解决素材制作-效果调试和预览-素材上传-素材投放全链路的问题,同时我们也希望玩法能结合权益产生更大价值。
淘宝直播里的智能互动是怎么做的?
|
机器学习/深度学习 编解码 达摩院
淘宝直播火爆的背后,阿里做了什么?
2020天猫双11的直播间里,平台必须在1秒内将主播声音、画面和商品信息同步给分布范围极广的百万级消费者,确保后者获得一致的、实时的、高水平的音视频体验,以及商品交易(尤其是秒杀)的可信度。为了进一步优化消费者体验,降低延时,阿里巴巴非常重视在音视频技术领域的投入。本文从最新的国际视频标准VVC(Versatile Video Coding,多功能影像编码)讲起,分享视频直播行业的全景与阿里的创新,以及达摩院和淘宝团队共同开发的VVC编解码器相关工作。
淘宝直播火爆的背后,阿里做了什么?
|
监控 安全 前端开发
闲鱼把各种玩法做成了一个平台:哆啦A梦
哆啦A梦的口袋里,都有哪些好玩的?
7276 0
闲鱼把各种玩法做成了一个平台:哆啦A梦
|
数据安全/隐私保护
看过无数短视频软件后,发现了抖音短视频系统开发的小彩蛋
抖音之火,很多人都跟着“中了毒”,邻居聊天,同事间交流,常常谈起抖音短视频,同时也有很多人在研究它,小编也不例外,今天为大家分享几个抖音短视频系统开发的小秘密,快来看看你不知道的有几个?
看过无数短视频软件后,发现了抖音短视频系统开发的小彩蛋
|
搜索推荐 算法 数据挖掘
淘宝如何拥抱短视频时代?视频推荐算法实战
本文就目前推荐算法的巨大潜力空间下,先是分析了整个行业短视频业务和淘宝段视频业务现状。而后就视频推荐算法框架以及基于视频的召回和视频排序做了详细的讲解。最后说明了业务策略的几个要点。
2537 0
淘宝如何拥抱短视频时代?视频推荐算法实战
|
开发工具 UED
一对一直播系统源码,以语音聊天为核心的玩法
一对一直播系统源码,以语音聊天为核心的玩法
1263 0
下一篇
无影云桌面