Files
HEROLL/docs/2026-08-13_gameplay-monetization-heroll-report.md

405 lines
24 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.
# Heroll : Dice Roguelike 玩法、经济与商业化逆向审计
版本:1.0
日期:2026-08-13
用途:产品立项、系统设计、经济数值、客户端/服务端实现、商业化合规与 QA 验收
## 1. 执行结论
Heroll 的可确认核心是“公平双骰驱动棋盘推进 + 自动战斗/构筑选择 + 首领与循环成长 + 多层局外养成”。它不是单一抽卡游戏,也不是纯棋盘游戏:骰子提供不确定路线,地块把路线转换为战斗、奖励或事件,装备/遗物/Joker/宠物/坐骑等系统承担长期构筑,体力、票券、AFK、日周任务和赛季内容维持回访。
样本商业模式是高密度混合 F2P:
- 声明 397 条商品配置,其中 CASH 343、DIA 28、AD_WATCH 22、FREE 4。
- 现金配置价位 0.99–119.99 美元,中位数 8.99;99 条低于 5 美元,11 条不低于 50 美元,2 条不低于 100 美元。该价格是配置值,不是当前地区商店报价。
- 23 种抽取动作中有 7 种广告入口、1 种免费入口;样本保底配置含装备 20、强化装备 50、坐骑 400。
- 同时存在奖励广告、插屏、去广告、体力/票券、抽卡、通行证、订阅/VIP、AFK 加速、猪猪存钱罐、阶段通关礼包和大量宠物/装备/遗物/坐骑成长商品。
- 部分商品不只是加速,而是影响局内结果:首领防御、监狱脱出、好地块、开局装备和循环点数。
最重要的 GDD 修正是:现有 GDD 中“广告 + 可选抽卡/礼包、避免不可逆战力”的内容属于新项目建议,并不代表 Heroll 样本的实际商业化。样本实际包含直接战力与局内结果控制。后续开发应明确选择“高还原商业模型”或“公平骰子商业模型”,不能把两者混写。
本报告选择后者作为开发基线:付费购买节奏、外观与便利,不购买已生成随机结果的反悔权;所有战力有稳定免费路径;启动期只保留一个通行证、一个月卡和有限 SKU。
## 2. 证据边界与可信度
### 2.1 已验证
- XAPK 静态解包、Android 清单、Unity 资源表、IL2CPP 元数据名称、现有 GDD。
- 158 张表、13,890 行结构化数据;核心棋盘、骰子、内容、资源、商店、抽卡、保底、AFK、通行证等参数。
- 桌面 Google Play Games 版本成功启动并进入 Running/前台可见状态。
- 运行时观察到 Normal 模式、boss_0 对应 Board_Boss001(Clone)、棋盘场景初始化与局内存档事件。
- AppLovin MAX、奖励广告、插屏、Unity IAP/购买服务完成初始化或加载。
### 2.2 受限
样本是 Unity 6000.2.15f1、IL2CPP ARM64。受保护/噪声元数据限制,本轮恢复的是可读类型、字段和方法名,以及结构化资源表,不是完整原始 C# 方法体。本文提到“源码入口”时,准确含义是“由 IL2CPP 元数据恢复的方法签名与 Java/Android 包装层”,不是开发者源代码泄露。
桌面控制通道没有暴露可操作窗口,因此没有伪造逐按钮点击记录;本次“试玩”能确认启动、场景与系统初始化,但没有实际付款、广告领取、完整一局结算或逐页面 UI 走查。运行证据与静态结论在文中分开。
### 2.3 结论标签
| 标签 | 含义 |
|---|---|
| Validated | 表格、元数据、清单或运行日志直接支持 |
| Inferred | 由类型/方法名、字段与多张表联合推断,方法体未恢复 |
| Recommended | 面向新项目的设计决策,不宣称原作如此 |
## 3. 试玩与运行时观察
| 观察项 | 结果 | 结论级别 |
|---|---|---|
| 启动 | 包 com.percent.aos.rollinghero 成功启动,标题 Heroll : Dice Roguelike | Validated |
| 运行环境 | 808×1440,60 FPS 上限,前台状态 Running/isVisible | Validated |
| 场景 | Normal 模式;boss_0 → Board_Boss001(Clone);Board SceneManager Init Complete | Validated |
| 局内状态 | Time tracking、double stack spawn、Ingame Save 日志出现 | Validated |
| 广告 | 奖励广告与插屏加载完成 | Validated;加载不等于展示 |
| 购买 | Percent.Purchase / Unity IAP 初始化成功 | Validated;初始化不等于成交 |
| 商品可用性 | 当前 Google Play Games 会话中多个货币、体力、遗物、通行证、地块包和活动商品 unavailable | Validated;不能外推移动端永久状态 |
| 稳定性 | 观察区间内没有致命崩溃 | Validated,限当前会话 |
脱敏运行证据见 ../analysis/gameplay-monetization/evidence/runtime-session-2026-08-13.md。
## 4. 玩法还原
### 4.1 核心循环
~~~mermaid
flowchart LR
A["消耗体力并创建 run_id"] --> B["投掷两枚骰子"]
B --> C["提交随机结果与移动路径"]
C --> D{"落点类型"}
D -->|战斗| E["Prepare → Spawn → PreBattle → Fight → PostBattle"]
D -->|奖励/商店/事件| F["获取资源或做构筑选择"]
D -->|负面/Joker| G["承受或修正规则"]
E --> H["装备、武器状态、增益与掉落"]
F --> H
G --> H
H --> I{"首领/循环检查"}
I -->|继续| B
I -->|首领| J["Boss 战与阶段结算"]
J --> K["局外成长、商店、任务、AFK"]
K --> A
~~~
元数据入口支持的调用链为 DiceButton.ClickButton/CanAutoRoll → BoardController.ClickDice/RollDice/MoveTile/HandlePlayerTileLanding → BattleController.Prepare/Spawn/PreBattle/Fight/BattleEnd。BoardController 还暴露 BossDiceCounter、AddLoopLevel、UseRevive 和存档/恢复入口。
### 4.2 骰子与棋盘
- 骰子表包含 36 个有序结果,每个权重 10,因此在未发现额外修正的基础表层是等概率的;其中 6 个为双骰相同。
- 棋盘表 777 行:Normal 762、Hard 15;Normal 阶段 0–51,循环层 0–14。
- 阶段表有 53 个 enabled stage,覆盖 6 个生态/主题区。
- 地块共 82 个定义,46 个 enabled。地块不仅触发战斗,也承载商店、奖励、负面和特殊规则。
- JokerEffectController 的方法名显示存在正负规则修正,例如生命损失、破坏增益、双倍掷骰点、按循环扣分、商店进入失败等。具体数值仍应以对应资源表为准。
设计意义:玩家的主决策不是“选骰面”,而是“在不可控移动中管理可控构筑”。因此付费若直接改写已提交骰面或落点,会伤害产品最核心的公平感。
### 4.3 战斗与构筑
- 战斗使用 Prepare → Spawn → PreBattle → Fight → PostBattle 五阶段,适合事件总线、可回放日志和明确的结算时点。
- 样本可确认 202 个敌人、13 种武器状态、58 个 augment(31 enabled)、20 个 relic、65 个 Joker(61 enabled)、35 件 equipment。
- 首领运行日志可见 boss_0;运行时资源列出 20 个常规首领与 6 个影子首领 prefab。
- 基础暴击伤害参数为 150。未恢复完整伤害方法体,因此不在此杜撰最终伤害公式。
- BoardController.UseRevive 证明存在复活链路;复活成本、次数与具体 UI 时机没有方法体或本次点击证据,应作为配置项实现。
推荐实现:所有战斗奖励只在 PostBattle 生成一次事务;动画可以重播,经济发放不可重放。装备、遗物、宠物和坐骑的属性计算必须使用统一 stat snapshot,方便服务端校验、回放和付费优势审计。
### 4.4 解锁与长期循环
样本表支持以下解锁节奏:
| 阶段 | 解锁 |
|---|---|
| 1 | 自动掷骰、AFK/离线收益 |
| 2 | 强化抽取 |
| 3 | 药水战斗 |
| 4 | 无限/日常地牢 |
| 5 | Raid、Destiny |
| 6 | 收集系统 |
| 第 6 天 | 坐骑相关内容 |
这是典型的分层留存设计:首日先让玩家理解掷骰、落点和战斗;随后逐步叠加 AFK、抽取、限次玩法、Raid 和收集。开发时应把解锁表做成数据配置,并用 feature_id + condition_type + condition_value 表达,避免客户端写死。
## 5. 经济系统还原
### 5.1 关键参数
| 系统 | 样本值 | 开发含义 |
|---|---:|---|
| 开局体力消耗 | 5 | 每次开始事务先扣除,技术退出可宽限恢复 |
| 体力恢复 | 600 秒/1 | 必须使用服务端时间 |
| 体力上限 | 40 | 约等于满体力 8 局 |
| VIP 体力上限增量 | +20 | 属于付费便利,不应附带战斗属性 |
| 每日局内钻石上限 | 100 | UI 应显示剩余额度 |
| 药水票上限/恢复 | 10;3600 秒/1 | 到上限需通知,避免隐性浪费 |
| 连胜保留钻石成本 | 100 | 属于损失规避型消费,应慎用 |
| 周常地牢广告奖励 | +50 | 奖励广告入口 |
| Raid 广告奖励 | +50 | 奖励广告入口 |
### 5.2 资源架构
经济不是简单的金币/钻石双币制,而是:
1. 软货币:金币、stage_gold 等,承担升级与日常商店。
2. 硬货币:钻石,连接付费、抽卡、体力与部分局内辅助。
3. 玩法票券:药水票、Raid 票、坐骑活动票等,分割玩法频次。
4. 专属兑换币:遗物灵魂、Raid 币、Destiny 币,形成确定性目标。
5. 进度资源:通行证经验、clearLoop、养成碎片。
6. 局内辅助:道具 600–604 及其运行时消耗态,连接随机结果与商业化。
开发资源源汇、付费暴露和硬性护栏已经拆成 economy-resource-map.csv。所有资产变化都必须落 economy_flow,字段至少包含 transaction_id、resource_id、delta、balance_after、source_or_sink 和 reason。
### 5.3 AFK
样本 AFK 参数:
- 最长离线 1440 分钟。
- 快速 AFK 等价 360 分钟,每日最多 3 次,消耗 15 体力。
- 每日最多 1 次广告快速 AFK。
- 倍率 1.0/1.2/1.5,权重 65/25/10。
推荐保留 24 小时上限和每日一次广告加速,但快速收益不应同时收取体力与现金。领取前显示确定收益;服务器重算时长,本机改时无效。
## 6. 商业化系统还原
### 6.1 商品目录
shopproductlist.csv 声明 397 条记录:
| 支付类型 | 条数 | 占比 |
|---|---:|---:|
| CASH | 343 | 86.4% |
| DIA | 28 | 7.1% |
| AD_WATCH | 22 | 5.5% |
| FREE | 4 | 1.0% |
目录中包含大量永久/历史/季节/触发条目;“声明存在”不等于当前全部上架。当前 Google Play Games 会话确有多项 unavailable,说明目录、平台商品映射和实际可售状态必须分层。
审计脚本按内容物和命名做的启发式分类显示:宠物成长相关 146、钻石 63、阶段触发 45、装备成长 24、季节包 20、通行证 16、体力/票券 15、遗物成长 14、金币/AFK 11、局内结果控制 10、地块成长 10 等。该分类用于评审,不是官方商品 taxonomy。
### 6.2 抽卡与保底
gachatype.csv 支持 shop/pet、relic、advanced relic、equipment、advanced/enhanced equipment、superball 和 mount 等 23 种动作。7 个动作以广告驱动,1 个免费,其他使用钻石、遗物灵魂、活动票等。
gachaceildata.csv 的样本保底:
| 池 | 上限 | 达保底前是否重置 |
|---|---:|---|
| advanced equipment | 20 | 否 |
| enhanced equipment | 50 | 否 |
| mount | 400 | 是 |
坐骑 400 抽对新项目过深。推荐启动期硬保底不超过 80,并同时提供重复品转换、定向兑换、概率版本和可见的剩余保底。抽取必须服务端权威,扣费和发奖原子化。
### 6.3 通行证、订阅与日常消费
样本 normal pass 含 6 个日任务、9 个周任务、3 个挑战任务;普通玩法经验上限 200、高级上限 400;每日 3 次刷新;循环通关给予 10 XP。商品目录还包含普通、Raid、坐骑等多个 pass 家族以及 subscription/VIP。
dailypurchasereward.csv 使用购买点数 0/1/2/4/7/10/13 累进奖励,构成“当日继续消费以追下一档”的刺激层。建议新项目不采用,改为纯玩法活跃里程碑。
### 6.4 广告与去广告
Android 清单与 SDK 清单支持 AppLovin MAX 及多家聚合网络,Manifest 同时包含广告标识/AdServices 与 Google Play Billing。元数据入口包含:
- AdvertiseManager.ManagerInitProcessing、CheckInterstitialUser、ShowRewardVideoAsync、AddAdCount。
- ResultView.ClickADReward、ClickWeekDungeonADReward、GetMultipleReward。
- AFKView 广告领取与快速领取。
- PrepareView.ShowADTicketBoost。
这说明广告不是单一结算加倍,而是跨结算、地牢、AFK、入场资源和商店的系统级货币入口。推荐首发只保留四个奖励位:结算加倍、每日体力、AFK 加速、商店刷新;每日完整奖励总上限 6。插屏只在返回大厅后的自然断点,至少 3 局且间隔 10 分钟。
### 6.5 直接战力与局内结果控制
item.csv 与商品表能对应出以下重点:
| 功能 | 样本获取方式 | 风险 |
|---|---|---|
| 首领防御/闪避 | 钻石/商品内容物 | 直接降低局内失败概率 |
| 监狱脱出 | 钻石/商品内容物 | 付费消除随机惩罚 |
| 好地块 | 钻石、广告、商品 | 改变落点收益体验 |
| 开局装备 | 钻石、广告、商品 | 加快单局成型 |
| 循环点数 | 钻石、广告、商品 | 加速进度/成长 |
| 装备、宠物、遗物、坐骑 | 抽卡和现金礼包 | 长期直接战力 |
这是本次审计最关键的 Finding:样本实际商业化跨过“只卖便利”的边界。若新项目保留这些道具,必须改为局前选择、每类单局最多 1、均可游玩获得、排行榜禁用,且不得在玩家看到坏骰子或失败结果后即时售卖。
## 7. 源码/元数据调用链
~~~mermaid
flowchart TB
DB["DiceButton"] --> BC["BoardController"]
BC --> BT["BattleController"]
BC --> JE["JokerEffectController"]
BT --> RV["ResultView"]
PV["PrepareView"] --> BC
RV --> AD["AdvertiseManager"]
AFK["AFKView"] --> AD
GV["GachaButton"] --> SM["ShopManager / Purchase Service"]
SP["ShopPage"] --> PC["PurchaseConfirmView"]
PASS["PassView"] --> PC
PS["PigBankView"] --> PC
PC --> SM
SM --> TX["平台回执校验"]
TX --> WALLET["Wallet / Entitlement / Save"]
AD --> WALLET
~~~
调用链只证明系统边界和可调用入口。商品价格查找由 ShopManager 承担;PurchaseConfirmView 负责确认;ShopPage 包含阶段通关商品与每日商店刷新;SpecialShopView 包含每日购买点与奖励刷新;ResultView、AFKView 连接奖励广告;GachaButton 检查成本并扣除;PassView 校验商品与发奖。
开发建议把它重构为四个独立域:
1. GameplayDomain:骰子、棋盘、战斗、构筑、run save。
2. EconomyDomain:钱包、资源流水、奖励预览、原子发放。
3. CommerceDomain:目录、可用性、价格、本地化、回执、权益。
4. AdsDomain:placement、资格、频控、播放证明、奖励事务。
UI 只能发意图,不直接改余额。无论广告还是 IAP,最后都进入统一 GrantReward(transaction_id, reward_bundle)。
## 8. 与现有 GDD 的差异
| 主题 | 现有 GDD 表述/倾向 | 样本证据 | 必须做出的开发决定 |
|---|---|---|---|
| 核心循环 | 双骰、棋盘、战斗、构筑、首领、局外成长 | 表格、元数据与运行日志一致 | 保留,作为产品身份 |
| 随机公平 | 建议 deterministic seed 与可复现 | 36 结果基础等权;存在改运商品 | 坚持 seed 提交后不可付费改写 |
| 商业模式 | 倾向广告 + 可选抽卡/礼包 | 397 商品、多 pass/订阅、直接战力与局内控制 | GDD 必须新增“样本现状”和“推荐规则”两列 |
| 战力付费 | 建议不卖不可逆战斗力 | 装备/宠物/遗物/坐骑现金加速 | 新项目禁止现金专属属性,战力差设上限 |
| 广告 | 建议可选广告 | 22 条 AD_WATCH,多个系统级入口,另有插屏 | 收敛 placement、设置日上限与插屏频控 |
| 阶段礼包 | GDD 未充分展开 | 大量 stage clear/trigger 商品 | 仅成功后大厅展示;禁用失败后即时推销 |
| 日购奖励 | GDD 未充分展开 | 0/1/2/4/7/10/13 购买点奖励 | 启动期移除,改玩法活跃里程碑 |
| 平台商品 | 假设正常上架 | 当前 GPG 多项 unavailable | 目录与平台 availability 分离,空壳 SKU 隐藏 |
## 9. 推荐的首发商业模型
### 9.1 产品原则
1. 公平骰子:付费不改变已生成骰面和落点。
2. 卖节奏不卖结局:体力、通行证和养成可加速,但免费玩家能在一个赛季达到所有关键门槛。
3. 广告自愿:奖励广告关闭不扣基础奖励;插屏只在自然断点。
4. 少而可懂:首发付费 SKU 不超过 12,一个通行证、一个月卡。
5. 先展示价值再确认价格:内容、概率、保底、有效期和重复规则均在付款前可见。
6. 技术可信:回执服务端校验,发货幂等,目录版本化,可恢复购买。
### 9.2 建议首发 SKU
| SKU 类型 | 数量 | 建议价位 | 内容边界 |
|---|---:|---:|---|
| 新手支持包 | 1 | 0.99 | 外观 + 少量通用资源;无专属战力 |
| 钻石包 | 5 | 2.99/4.99/9.99/19.99/49.99 | 首购加赠只一次,赠送钻分账 |
| 去插屏 | 1 | 2.99–4.99 | 永久去强制插屏,保留自愿奖励广告 |
| 月卡 | 1 | 4.99–6.99 | 每日钻石、去插屏或便利;无战斗属性 |
| 28 日通行证 | 1 | 7.99–9.99 | 外观、便利、确定性资源;单一高级轨 |
| 里程碑庆祝包 | 2–3 | 2.99–9.99 | 仅成功后展示一次,无失败倒计时 |
启动期不启用 99.99/119.99 档、不启用猪猪存钱罐、不启用每日消费阶梯、不销售现金专属宠物/坐骑/装备词条。
### 9.3 付费优势预算
- 定义 EffectivePower = 关卡成功率、平均战斗时长和资源获取速度的归一化组合,而不是仅看面板战力。
- 同等活跃度、同赛季的付费加速组相对免费组,P50 EffectivePower 优势不超过 15%。
- 首通、竞速、排行榜模式禁用局内辅助道具。
- 任何现金商品内容物都必须能映射到 free_acquisition_path;CI 检查为空则阻断发布。
## 10. 开发规格
### 10.1 事务状态机
购买状态:CatalogAvailable → UserConfirmed → PlatformPending → ReceiptVerified → Granted。失败和取消都不可发货;Granted 对同一 platform_transaction_id 幂等。
广告状态:Eligible → Loaded → Started → CompletedProof → Granted。Loaded 不记完成次数,播放失败不扣资格,CompletedProof 重复回调不重复发奖。
抽卡状态:Quote → CostReserved → ServerRolled → ResultCommitted → RewardGranted。任一步失败要么完整提交,要么完整回滚,禁止扣费成功但结果丢失。
### 10.2 配置键
| 配置 | 默认值 |
|---|---|
| energy.cost_per_run | 5 |
| energy.regen_sec | 600 |
| energy.base_cap | 40 |
| energy.retry_grace_sec | 120 |
| ad.rewarded.daily_cap | 6 |
| ad.interstitial.min_runs | 3 |
| ad.interstitial.cooldown_sec | 600 |
| commerce.allow_midroll_offer | false |
| offer.post_failure_disabled | true |
| pass.duration_days | 28 |
| pass.premium_tiers | 1 |
| store.launch_sku_cap | 12 |
| store.price_ceiling_usd | 49.99 |
| gacha.pity_hard_cap | 80 |
| power.paid_advantage_cap | 0.15 |
| purchase.receipt_server_verify | true |
完整规则与验收条件见 ../design/gameplay-monetization/specs/economy-and-monetization-rules.csv。
### 10.3 QA 必测
- 固定 seed 下,付费/非付费账户的骰子序列一致。
- 掷骰提交后没有购买、广告重掷或落点替换入口。
- 断线重连不会重复扣体力、重复发结算、重复发广告奖励或重复发 IAP。
- 拥有去插屏权益后不再请求强制插屏。
- 商品 unavailable 时 UI 隐藏 SKU,且不留空价格按钮。
- 概率、保底剩余、重复转换和卡池有效期在付款前两步内可见。
- 失败后 30 分钟内阶段礼包曝光数为 0。
- 免费玩家在模拟赛季中可以达到所有玩法门槛;付费组有效战力优势不超过 15%。
- AFK 由服务端时间计算,修改本机时间不能增加收益。
- 退款、延迟订单、恢复购买、重复回调、跨设备登录均有自动化用例。
## 11. Evidence → Finding → Path
### 11.1 Evidence
| ID | 证据 | SHA-256/状态 |
|---|---|---|
| E-101 | GPG 启动日志:包、标题、显示和 Running 状态 | 动态日志;脱敏摘录 |
| E-102 | 广告与购买初始化日志 | 动态日志;脱敏摘录 |
| E-103 | 当前平台多商品 unavailable | 动态日志;脱敏摘录 |
| E-104 | Normal、boss_0、棋盘初始化与存档日志 | 动态日志;脱敏摘录 |
| E-105 | 原始 XAPK | 439D532704AFCCDBEBA8C01AF7869552387CDE31651963D0A45541F252B94E2F |
| E-106 | confirmed-parameters.json | DD99093E21F850C85AA1CE5806F77F9E8ED309F10A38AE17A50D272BE7584B0A |
| E-107 | gameplay-types.csv | DC96B51FBFBC1232339A1F56E63513B823FEB7489386297B9072FB9DBD5B1FA9 |
| E-108 | shopproductlist.csv | 698DED1525EFD8F6CFD87E3FB93818C357DA3016CB2367118A39D2B19B26DD1A |
| E-109 | gachatype.csv | DEC5970C27A348DB0674B4E834130317D6B9917B1BF869804AA33BF1055D6D9D |
| E-110 | system-summary.json | C29F1ED5039C1CCC88F5FA20B98CCE840FA78957ED8A7D7F60AFB03161269236 |
| E-111 | 现有 GDD index.md | 8C0B05D8F0DB8207F9C1AF19D399A24EA54943530AE26F99468691A402EA6E03 |
| E-112 | 原逆向报告 | FF8D0E0266931CB4C4FAD93A24A04851222B0399631D1F9747203F51DCF3C15A |
### 11.2 Findings
| ID | Finding | 证据 | 置信度 |
|---|---|---|---|
| F-101 | 双骰—棋盘—战斗—构筑—首领—局外成长是稳定核心循环 | E-104/E-106/E-107/E-111 | 高 |
| F-102 | 样本采用广告、IAP、硬币、体力/票券、抽卡、通行证和订阅叠加的混合商业架构 | E-102/E-106/E-108/E-109 | 高 |
| F-103 | 样本存在直接局内结果控制和长期战力付费,与 GDD 的克制建议不同 | E-106/E-108/E-111 | 高 |
| F-104 | 397 条声明商品、343 条现金项和大量 trigger/pet 商品意味着商店复杂度与运营负担很高 | E-108 | 高 |
| F-105 | 当前 GPG 购买服务初始化成功,但多项商品 unavailable;需要平台可用性层 | E-102/E-103 | 高,限当前平台会话 |
| F-106 | AFK、日周任务、多副本、多个成长线与 pass 共同承担长期留存 | E-106/E-107/E-111 | 高 |
### 11.3 Paths
| ID | Path | 对应 Finding |
|---|---|---|
| P-101 | DiceButton → BoardController → BattleController → ResultView → Meta progression | F-101/F-106 |
| P-102 | Shop/Gacha/Pass/PigBank → PurchaseConfirm → ShopManager/Purchase → Receipt → Wallet/Entitlement | F-102/F-103/F-104/F-105 |
| P-103 | Result/AFK/Prepare → AdvertiseManager → CompletedProof → Reward transaction | F-102/F-105 |
## 12. 交付物
- 样本商业化标准化目录:../analysis/gameplay-monetization/tables/monetization-products.csv
- 抽卡动作表:../analysis/gameplay-monetization/tables/gacha-actions.csv
- 玩法/商业调用入口:../analysis/gameplay-monetization/tables/gameplay-commerce-callflow.csv
- 统计摘要:../analysis/gameplay-monetization/tables/audit-summary.json
- 可复现生成脚本:../analysis/gameplay-monetization/scripts/build_design_audit.py
- 商业规则:../design/gameplay-monetization/specs/economy-and-monetization-rules.csv
- 付费墙审计:../design/gameplay-monetization/specs/feature-paywall-audit.csv
- 资源源汇:../design/gameplay-monetization/specs/economy-resource-map.csv
- 埋点字典:../design/gameplay-monetization/specs/analytics-events.csv
- 可筛选开发工作簿:../outputs/heroll-gameplay-monetization-20260813/Heroll_Gameplay_Monetization_Development_Pack.xlsx
- 范围与时间线:../analysis/gameplay-monetization/case/scope.md、../analysis/gameplay-monetization/case/timeline.md
## 13. 最终产品决策
Heroll 值得借鉴的是“骰子制造局势、构筑解决局势”的张力,以及把短局、循环、首领、AFK 和多成长线串成长期产品的能力。最不应原样照搬的是高 SKU 密度、多个 pass/订阅层、当日购买阶梯,以及在坏随机或失败附近出售结果修正。
新项目的商业化应服从玩法:玩家可以为更多尝试、更快收集、更漂亮的表现和更省时间付费,但不能为撤销刚刚发生的坏骰子付费。这个边界一旦写进随机提交、商品触发和 QA 验收,玩法公平与收入系统才能长期共存。