游戏开发:抽卡规则范式设计

声明一些概念定义:

抽卡类型(drawType)业务上定义的抽卡类型

卡池类目(poolCate) 普通卡池、保底卡池、反保底卡池

品质卡池(poolType)根据卡片品质(quality)定义指定卡池ID

卡片ID(targetId)抽卡的目标单位,抽卡最终结果是随机到任一卡片ID

抽卡步骤

  1. 确定抽卡类型(draw Type)

业务上定义的抽卡类型,比如英雄抽卡、道具抽卡;

  1. 计算卡池类目(pool Cate)

抽奖规则一般会引入保底和反保底约束,在这一步骤里将卡池类目划分为:普通卡池(normal)、补偿卡池(friendly)、保底卡池(protect,只有大奖)、反保底卡池(unprotect,没有大奖);约束规则一般会支持几种:

1)前X次抽卡处于反保底阶段(反保底卡池),第Y次抽卡触发保底(保底卡池),X+1~Y-1次处于正常概率抽卡阶段(普通卡池),抽出大奖重置次数;

2)正常抽卡阶段概率,达到某些条件时(比如连续/累计抽出低品质卡片)触发概率补偿(补偿卡池),调整正常阶段的抽卡概率;

  1. 随机卡池ID(pool ID)

根据卡池类目定义对应的卡池ID,通过上一步计算出的卡池类目获取到对应类目的卡池ID概率表:{poolID = weight, ...},根据卡池ID概率随机到任一ID;

  1. 随机卡片ID(target ID)

计算出卡池ID后,根据卡池ID对应的卡片ID概率表:{target ID = weight, ... },随机出目标卡片ID即是本次抽卡获得的结果,根据目标卡片ID对应更新计算卡池类目规则需要的数据信息。

posted @ 2025-05-23 00:20  linxx-  阅读(218)  评论(0)    收藏  举报