游戏开发:抽卡规则范式设计
声明一些概念定义:
抽卡类型(drawType)业务上定义的抽卡类型
卡池类目(poolCate) 普通卡池、保底卡池、反保底卡池
品质卡池(poolType)根据卡片品质(quality)定义指定卡池ID
卡片ID(targetId)抽卡的目标单位,抽卡最终结果是随机到任一卡片ID
抽卡步骤
- 确定抽卡类型(draw Type)
业务上定义的抽卡类型,比如英雄抽卡、道具抽卡;
- 计算卡池类目(pool Cate)
抽奖规则一般会引入保底和反保底约束,在这一步骤里将卡池类目划分为:普通卡池(normal)、补偿卡池(friendly)、保底卡池(protect,只有大奖)、反保底卡池(unprotect,没有大奖);约束规则一般会支持几种:
1)前X次抽卡处于反保底阶段(反保底卡池),第Y次抽卡触发保底(保底卡池),X+1~Y-1次处于正常概率抽卡阶段(普通卡池),抽出大奖重置次数;
2)正常抽卡阶段概率,达到某些条件时(比如连续/累计抽出低品质卡片)触发概率补偿(补偿卡池),调整正常阶段的抽卡概率;
- 随机卡池ID(pool ID)
根据卡池类目定义对应的卡池ID,通过上一步计算出的卡池类目获取到对应类目的卡池ID概率表:{poolID = weight, ...},根据卡池ID概率随机到任一ID;
- 随机卡片ID(target ID)
计算出卡池ID后,根据卡池ID对应的卡片ID概率表:{target ID = weight, ... },随机出目标卡片ID即是本次抽卡获得的结果,根据目标卡片ID对应更新计算卡池类目规则需要的数据信息。
本文来自博客园,作者:linxx-,转载请注明原文链接:https://www.cnblogs.com/linxx-/p/18892269
浙公网安备 33010602011771号