hyapp-server/docs/自研游戏机器人策略与档位奖池产品文档.md
2026-06-12 19:40:21 +08:00

473 lines
17 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 自研游戏机器人策略与档位奖池产品文档
本文描述产品功能设计、运营目标、功能考量和原因
## 产品目标
### 强拉新
功能设计:
- 新用户进入自研游戏后,在低下注档位获得更好的早期体验。
- 新用户保护不等于必胜,而是让用户在前几局更容易获得正反馈。
- 新用户保护只在机器人局生效,不影响真人对战。
考量和原因:
- 新用户第一次玩自研游戏时,连续失败会降低继续下注和复玩意愿。
- 必胜容易被用户感知,也容易被批量新号套利,所以保护应表现为正反馈,而不是绝对必胜。
- 真人对战不能被保护策略影响,否则会破坏真人用户之间的公平预期。
### 中后期正常游玩
功能设计:
- 用户走出新手保护期后,机器人局回到正常随机体验。
- 老用户不配置固定胜率,不配置强制消耗强度。
- 奖池不足时优先收缩保护或熔断机器人补位,不把奖池保护做成用户必输。
考量和原因:
- 机器人存在的第一目标是保证快速开局和形成爽感,不是定向消耗用户金币。
- 新手期给予正反馈,成熟期回到正常随机,更接近用户可长期接受的体验曲线。
- 如果用户连赢后被强制输,用户更容易感知被控制,长期会损害复玩和付费信任。
### 风险可控
功能设计:
- 每个下注档位单独看奖池。
- 每个策略都有预算和水位限制。
- 每局机器人策略都能在后台查到原因。
考量和原因:
- 不同下注档位的资金压力完全不同,高档位不能消耗低档位积累。
- 策略没有预算限制会让奖池不可控。
- 没有策略原因和日志,运营无法解释用户投诉,也无法复盘奖池异常。
## 功能一:档位独立奖池
### 功能设计
每个自研游戏的每个下注档位都有独立奖池。
示例:
| 游戏 | 下注档位 | 奖池 |
| --- | ---: | --- |
| dice | 1000 | dice 1000 档奖池 |
| dice | 5000 | dice 5000 档奖池 |
| dice | 100000 | dice 100000 档奖池 |
| rock | 1000 | rock 1000 档奖池 |
后台在每个档位展示:
- 当前奖池余额。
- 绿色、黄色、红色、黑色健康状态。
- 最近 7 天入池。
- 最近 7 天出池。
- 最近 7 天净变化。
- 当前可承受真人赢次数。
### 考量和原因
- 1000 档和 100000 档不能共用一个奖池。100000 档真人赢一次的奖池支出,可能等于 1000 档很多局积累。
- 按档位隔离后,运营可以清楚看到哪个档位在赚钱、哪个档位在亏钱。
- “可承受真人赢次数”比单纯余额更直观,能告诉运营当前档位还能安全支撑多少次补贴或真人赢。
- 高档位奖池进入红色或黑色状态时,应优先保护奖池,而不是继续拉新或补贴。
### 兜底奖池账务口径
功能设计:
- 机器人局使用兜底奖池承担用户赢机器人时的净支出。
- 用户输给机器人时,用户扣除的积分回收到当前游戏和当前下注档位的兜底奖池。
- 机器人赢局不再从兜底奖池额外抽走平台扣点。
- 当机器人局长期回到 50% 基础体感时,兜底奖池期望接近不流失。
- 平台扣点主要从用户赢机器人时产生的派奖侧体现,具体账务拆分以技术评估后的结算模型为准。
考量和原因:
- 兜底奖池的定位是机器人侧资金池,不是平台收入池。
- 如果用户输机器人时还从奖池再抽平台扣点50% 基础体感下奖池也会持续流失,不利于长期运营。
- 机器人局的重点是控制用户体验成本和补贴成本,不能让基础 50% 体感也消耗兜底奖池。
- 该口径需要技术侧评估是否和现有平台费、入池比例兼容,产品上先明确目标:成熟期机器人局不应该持续打穿兜底奖池。
## 功能二:新用户独立保护
### 功能设计
新用户保护是一套独立策略,不读取成熟用户正常随机逻辑,也不读取任何旧固定胜率配置。
建议默认:
| 配置项 | 默认值 |
| --- | ---: |
| 保护开关 | 开启 |
| 保护时长 | 注册后 7 天 |
| 保护局数 | 前 30 局有效机器人局 |
| 最大保护档位 | 5000 |
| 生命周期补贴额度 | 30000 积分 |
| 首日补贴额度 | 15000 积分 |
| 单局保护上限 | 5000 积分 |
| 新手连输保护 | 开启 |
| 连输触发次数 | 连续 2 局 |
| 默认策略 | 轻度正反馈 |
可选策略:
| 策略 | 产品含义 |
| --- | --- |
| 不保护 | 只记录新用户阶段,不干预结果 |
| 首局不输 | 首局尽量不让用户输,可以赢或和 |
| 轻度正反馈 | 保护期内提高正反馈概率,但不做绝对必胜 |
| 强正反馈 | 活动期使用,给更强体验,但受奖池和风控限制 |
### 有效机器人局口径
功能设计:
- 有效机器人局只统计机器人补位局中已经完成结算、且结果不是平局的对局。
- 平局不计入有效机器人局。
- 平局不消耗新用户保护局数。
- 平局不消耗个人补贴额度。
- 真人局不计入有效机器人局,也不触发新用户保护。
- 新手连输保护的连输次数统计真人局和机器人局中已完成结算、且结果不是平局的自研游戏对局。
- 连输保护只影响下一次机器人补位局,不改写真人对战已经产生或正在进行的公平结算。
考量和原因:
- 平局没有给用户带来实际收益,也没有造成兜底奖池补贴支出,不应该消耗新手权益。
- 有效机器人局用于判断用户生命周期阶段,比“进入游戏次数”或“匹配次数”更准确。
- 只有完成结算的非平局机器人局才代表用户真实经历了一次胜负体验。
- 真人局虽然不消耗新手保护权益,但会影响用户的连续失败体验,因此需要计入连输保护判断。
- 连输保护放在机器人补位局执行,可以修复体验,又不会破坏真人对战的公平性。
### 个人补贴额度
功能设计:
- 生命周期补贴额度:限制用户整个新手保护期最多能消耗多少兜底奖池。
- 首日补贴额度:限制用户注册首日最多能消耗多少兜底奖池。
- 单局保护上限:限制单局最多按多少下注额享受保护。
- 剩余额度不足时,本局降级为正常随机,不再触发新用户保护。
- 用户输给机器人时,兜底奖池会回收积分,但个人补贴额度不恢复。
考量和原因:
- 只限制局数不够,用户可能在高频或高档位下快速消耗奖池。
- 首日额度可以降低批量新号当天快速套利的风险。
- 单局保护上限能防止用户用高档位放大新手保护收益。
- 补贴额度不恢复,可以避免用户通过反复输赢循环获得无限保护。
- 连输保护也必须受生命周期、首日、单局和奖池水位约束;额度不足时降级为正常随机,避免被批量新号稳定套利。
### 考量和原因
- 新用户保护的目标是拉新和留存,不是消耗。
- 新用户保护必须独立执行,否则拉新策略会被后续常规随机逻辑干扰。
- 新用户保护不建议设计成“必胜”,因为必胜会吸引批量新号。
- 保护必须限制低档位。高档位补贴成本太高,容易被用户利用低成本新号套利。
- 保护次数和保护时长都要有限制,避免用户长期停留在新手优惠状态。
- 保护还必须限制补贴额度,避免用户虽然局数不多但单局消耗过大。
## 功能三:成熟用户自然期目标胜率策略
### 功能设计
成熟用户指已经不满足新用户保护条件的用户。
成熟用户机器人局规则:
- 不按连赢、净赢、下注升级等行为强制用户输。
- 不配置老用户消耗强度。
- 不输出 `force_human_lose`
- 后台配置自然期目标胜率,默认 53%,可配置范围 50%-100%。
- 配置 50% 表示完全自然随机,不做任何结果干预。
- 配置高于 50% 时,只按目标胜率少量补正用户赢,不会强制用户输。
- dice 按无平局模型换算补正比例rock 按“平局不计有效机器人局”的口径换算补正比例。
- 红色水位回到正常随机。
- 黑色水位不抽机器人,用户继续等待真人。
### 考量和原因
- 成熟用户也需要可持续复玩体验,不能因为赢过几局就被系统强制回收。
- 50% 自然随机叠加平台费和入池后,对用户是负期望;默认 53% 用来抵消 5% 平台费和 1% 入池带来的长期负期望。
- 强制输策略会增加投诉风险和信任损耗,不符合“爽感”和长期沉浸目标。
- 奖池保护只负责资金安全,黑色时停止机器人补位,不能转化成让用户必输。
## 功能四:奖池水位保护
### 功能设计
每个档位奖池分为四个健康状态:
| 状态 | 产品规则 |
| --- | --- |
| 绿色 | 奖池余额充足,可以执行正常新用户保护和机器人随机局 |
| 黄色 | 奖池余额低于目标值,缩小正反馈和补贴强度 |
| 红色 | 奖池余额不足,回到 50% 基础体感,不再执行保护加成 |
| 黑色 | 可用余额不足以覆盖当前档位最大可能支出,暂停该档机器人匹配或只允许真人匹配 |
后台展示每个档位当前水位,并在保存策略时提示风险。
### 考量和原因
- 奖池水位是所有策略的资金底线。
- 新用户保护不能突破红色和黑色状态;成熟用户红色正常随机,黑色不补机器人。
- 黄色状态用于提前收紧策略,避免等到奖池不足才处理。
- 黑色状态必须熔断该档机器人补位,否则并发结算会把奖池打穿。
- 后台保存高风险配置时必须提示,否则运营可能误配。
## 功能五:风控准入
### 功能设计
风控准入在所有运营策略之前执行。命中风控的用户,不进入新用户保护。
第一阶段规则:
| 规则 | 产品含义 |
| --- | --- |
| 同设备新号过多 | 疑似批量账号 |
| 同 IP 新号过多 | 疑似工作室或机房 |
| 保护期收益过高 | 疑似薅新手保护 |
| 低档赢后快速冲高档 | 疑似资金放大套利 |
| 黑名单用户 | 后台或风控标记的异常用户 |
### 风险评分分层
功能设计:
风控输出 `risk_score`,后台按分层展示用户保护资格。
| risk_score | 风险层级 | 保护策略 |
| ---: | --- | --- |
| 0-29 | 正常用户 | 完整享受当前档位允许的新用户保护 |
| 30-49 | 轻度异常 | 降低保护强度,只保留低档位保护 |
| 50-69 | 中度异常 | 只保留 1000 档弱保护,关闭连输保护 |
| 70+ | 高风险套利 | 关闭全部新用户保护,机器人局回到 50% 基础体感 |
考量和原因:
- 单条风控规则只告诉运营“命中了什么”,风险评分能告诉运营“应该降到什么保护等级”。
- 分层处理比一刀切更适合运营,轻度异常用户仍可保留少量体验,中高风险用户直接防套利。
- 后台展示风险层级后,客服、运营和风控能用同一套语言解释用户为什么没有保护。
### 考量和原因
- 新用户保护是最大套利入口,必须先风控再补贴。
- 风控不是为了影响所有用户,而是排除明显异常用户。
- 第一阶段可以用设备、IP、收益和下注升级行为后续再扩展支付、转赠、提现等行为。
- 命中风控后仍可以正常游戏,只是不享受保护。
## 功能六:全量策略日志
### 功能设计
每局机器人局都记录策略日志。
后台可以按以下条件查询:
- 用户 ID。
- 对局 ID。
- 游戏。
- 下注档位。
- 策略类型。
- 决策结果。
- 时间范围。
每条日志展示:
- 用户阶段。
- 是否命中新用户保护。
- 是否命中风控。
- 当前奖池水位。
- 使用的策略。
- 最终决策。
- 决策原因。
### 考量和原因
- 机器人策略会影响用户体验和奖池资金,必须可追踪。
- 用户投诉时,需要解释这一局为什么赢、输或正常随机。
- 运营调策略后,需要用日志验证策略是否按预期命中。
- 风控复盘时,需要知道异常用户是否吃到了保护。
## 功能七:后台页面
### 基础配置页
功能设计:
- 游戏状态。
- 下注档位。
- 平台费。
- 入池比例。
- 机器人补位等待时间。
考量和原因:
- 这些属于游戏基础玩法配置,和用户阶段无关。
- 基础配置不应该和策略日志、风控规则混在一起。
### 档位奖池页
功能设计:
- 每个档位一行展示奖池状态。
- 支持后台手工加奖池和扣奖池。
- 支持查看档位奖池流水。
考量和原因:
- 运营需要直接处理某个档位奖池不足或过高的问题。
- 手工加扣必须可追踪,不能只改余额。
### 新用户保护页
功能设计:
- 配置保护开关、保护时长、保护局数、最大保护档位、补贴上限、策略强度。
- 展示新用户保护命中数、保护成本、保护后复玩。
考量和原因:
- 新用户保护是拉新功能,页面应围绕新用户体验和成本设计。
- 保护效果不能只看赢局,还要看继续玩和留存。
### 成熟用户观察页
功能设计:
- 不提供老用户消耗配置。
- 展示成熟用户机器人局胜负分布、平局率、复玩变化和奖池变化。
- 展示是否存在异常的强制输日志,正常目标为 0。
考量和原因:
- 成熟用户阶段以观察体验和资金曲线为主,不做单用户定向消耗。
- 保留观察指标可以及时发现自然随机、抽水和奖池账务是否偏离预期。
### 风控规则页
功能设计:
- 配置设备账号上限、IP 账号上限、保护收益上限、高档升级限制、黑名单。
考量和原因:
- 风控规则需要运营可见,否则新用户保护成本异常时无法快速处理。
- 黑名单用于人工兜底。
### 策略日志页
功能设计:
- 查询每局机器人局策略决策。
- 展示完整决策链路。
考量和原因:
- 策略日志是运营、客服、风控和研发共同排查问题的依据。
## 产品验收指标
### 匹配效率
| 验收项 | 上线目标 |
| --- | --- |
| 3 秒内开局率 | 大于等于 95%,高峰期不低于 90% |
| 机器人补位库存 | 不能因为机器人不足导致低档位长时间等待 |
原因:
- 机器人补位的第一目标是保证快速开局,如果开局速度不达标,后续体验策略没有意义。
### 新用户体验
| 验收项 | 上线目标 |
| --- | --- |
| 首局有效机器人局正反馈 | 只在 1000 档、低风险用户中触发 |
| 第 2-5 局体验曲线 | 命中轻度或强正反馈策略,允许统计波动 |
| 第 6-15 局体验曲线 | 正反馈强度开始下降,不能继续保持首局强度 |
| 第 16-30 局体验曲线 | 逐步接近常规体验 |
| 第 31 局后 | 进入后台配置的自然期目标胜率,默认 53%,不继续吃新手保护 |
原因:
- 产品验收不能只看单局胜负,要看用户是否按生命周期自然从强拉新过渡到常规体验。
### 高档位保护
| 验收项 | 上线目标 |
| --- | --- |
| 100000 档新手保护命中率 | 0% |
| 40000 档强保护命中率 | 0% |
| 高档位异常正反馈 | 触发后台预警 |
原因:
- 高档位是奖池风险和套利风险最高的区域,不能被新手保护放大成本。
### 奖池和账务
| 验收项 | 上线目标 |
| --- | --- |
| 黑色状态 | 不应出现;出现后自动熔断该档机器人补位 |
| 日终账务差异 | 0 |
| 奖池流水 | 每一笔入池、出池、冻结、释放都有记录 |
| 50% 基础体感下兜底奖池 | 期望接近不流失 |
原因:
- 策略可以灰度调整,但资金口径必须准确,奖池不能被并发或误配打穿。
### 风控和预警
| 验收项 | 上线目标 |
| --- | --- |
| 高风险用户保护命中率 | 0% |
| 同设备多号补贴异常 | 触发预警 |
| 单档位 1 小时消耗过快 | 自动收缩保护并预警 |
| 阶段体验曲线偏离 | 连续偏离时触发排查 |
原因:
- 新用户保护一旦上线,就必须同步验证套利拦截和策略偏差。
## 功能优先级
| 优先级 | 功能 | 原因 |
| ---: | --- | --- |
| P0 | 档位独立奖池 | 没有档位奖池,策略没有资金边界 |
| P0 | 全量策略日志 | 没有日志,策略不可解释 |
| P0 | 奖池水位保护 | 保护资金底线 |
| P1 | 新用户独立保护 | 拉新核心功能 |
| P1 | 风控准入 | 防止新手保护套利 |
| P2 | 数据看板 | 策略运营需要持续观察 |
## 默认产品配置
| 模块 | 默认配置 |
| --- | --- |
| 档位奖池 | 每个下注档位独立 |
| 新用户保护 | 开启 |
| 新用户保护局数 | 3 |
| 新用户保护时长 | 24 小时 |
| 新用户最大保护档位 | 5000 |
| 新用户策略 | 轻度正反馈 |
| 成熟用户策略 | 自然期目标胜率默认 53%,最低 50% |
| 高档位策略 | 必须启用水位保护 |
| 风控准入 | 开启 |
| 策略日志 | 全量开启 |
## 风险和处理
| 风险 | 说明 | 处理 |
| --- | --- | --- |
| 用户感知风险 | 定向强制输会让用户觉得被控制 | 不提供老用户消耗策略,成熟用户只允许配置目标胜率向上补正 |
| 奖池风险 | 高档位补贴会快速消耗奖池 | 新手保护限制低档位,高档位启用水位保护 |
| 套利风险 | 批量新号会攻击新手保护 | 风控准入先执行 |
| 运营误配风险 | 新手保护配置过激会影响资金和体验 | 保存配置时展示风险提示和可承受次数 |