chore: initial commit

This commit is contained in:
2026-05-08 11:04:00 +08:00
commit f55d2a57c3
6278 changed files with 866081 additions and 0 deletions

View File

@@ -0,0 +1,263 @@
# 51 · 经济平衡设计Economy Balance Design
> **命名空间** `BaseGames.Economy`(数据层)/ 无运行时模块(纯设计文档)
> **所属文档集** [← 返回索引](./README.md) · [总览](./00_Overview.md)
> **依赖** 28_ShopSystem · 33_EnemyLootSystem · 29_DifficultyModesGuide · 14_ProgressionSystem
> **关联** 17_EquipmentSystem符文购买· 37_ToolSystem工具购买
---
## 目录
1. [经济设计原则](#1-经济设计原则)
2. [货币体系](#2-货币体系)
3. [玩家每小时收益曲线](#3-玩家每小时收益曲线)
4. [商店定价哲学](#4-商店定价哲学)
5. [升级道具性价比锚点](#5-升级道具性价比锚点)
6. [稀有掉落概率校准](#6-稀有掉落概率校准)
7. [难度模式经济缩放](#7-难度模式经济缩放)
8. [经济陷阱防护规则](#8-经济陷阱防护规则)
9. [平衡验证流程](#9-平衡验证流程)
10. [EconomyConfigSO](#10-economyconfigso)
---
## 1. 经济设计原则
| 原则 | 含义 |
|------|------|
| **感受充裕,实则稀缺** | 玩家每次打怪都有 Geo 掉落,但一次购买往往需要攒多场战斗 |
| **死亡惩罚轻** | 死亡只损失上次死后收集的 Geo遗骸机制不损失已购物品 |
| **不同玩法有不同货币通路** | 主线推进赚 Geo探索赚收集品挑战赚荣耀奖励 |
| **商店不是唯一出路** | 每个关键升级道具都有"探索免费获得"的替代途径 |
| **避免 Geo 滞留** | 每区域均有明确的 Geo 消耗出口,防止玩家积累大量 Geo 却无处花 |
---
## 2. 货币体系
### 2.1 主货币Geo灵晶
| 属性 | 值 |
|------|---|
| 掉落来源 | 普通敌人击败 / 秘密格破坏 / 任务奖励 |
| 用途 | 商店购买(符文/工具/消耗品/地图)|
| 死亡机制 | 死亡后在遗骸处留存,复仇取回;若再次死亡则永久丢失 |
| 上限 | 无上限,但正常游玩很少超过 3000 Geo |
| 显示方式 | HUD 左下角常驻数字显示 |
### 2.2 次要资源:形态能源
| 资源 | 恢复方式 | 用途 | 上限 |
|------|---------|------|------|
| 灵力(天魂能源)| 攻击敌人积累 | 天魂形态技能 | 100 点 |
| 魄元(地魂能源)| 承伤后自动积累 | 地魂形态技能 | 100 点 |
| 灵泉次数 | 存档点补满 | 治疗(+1 HP 容器) | 3 次(可升级) |
形态能源不是交易货币,仅作战斗循环资源,不纳入经济平衡模型。
---
## 3. 玩家每小时收益曲线
### 3.1 各区域 Geo 收益模型
基于设计目标:**玩家在进入一个新区域 1~1.5 小时内,能买得起该区域商人的 1~2 件核心商品**。
| 区域 | 平均 Geo/分钟 | 推进时长估计 | 区域内总 Geo 收益 |
|------|-------------|-----------|----------------|
| Forest初始| 8~12 | 45~60 min | 360~720 Geo |
| Cave | 15~22 | 60~90 min | 900~1980 Geo |
| Ruins | 25~35 | 60~80 min | 1500~2800 Geo |
| Abyss | 35~50 | 70~100 min | 2450~5000 Geo |
| Core终局| 50~80 | 60~90 min | 3000~7200 Geo |
**Geo/分钟推算公式**
$$\text{GeoPerMin} = \frac{\text{房间数} \times \text{平均敌人数/房间} \times \text{平均掉落Geo}}{{\text{区域推进分钟数}}}$$
### 3.2 设计验证点
- 玩家击败 Forest Boss 后,应累计约 400~600 Geo能购买 Cave 商人第一件商品)
- 玩家在 Cave 中打通 50% 房间时,应有约 800~1200 Geo能购买工具或地图
- 死亡率 Normal 难度约 30%(每死一次平均损失 50~100 Geo不影响上述收益区间
---
## 4. 商店定价哲学
### 4.1 商品定价层级
| 层级 | 价格范围 | 商品类型 |
|------|---------|---------|
| **L1 消耗品** | 50~200 Geo | 灵泉补充剂、解毒药、临时增强道具 |
| **L2 实用道具** | 200~500 Geo | 工具 SO弹弓等、地图补丁 |
| **L3 永久升级** | 500~1200 Geo | 灵泉容量升级、符文装备槽扩展 |
| **L4 核心符文** | 800~2000 Geo | 强力 CharmSO大幅改变玩法的符文|
| **L5 奢侈品** | 3000+ Geo | 装饰类、隐藏结局相关道具 |
### 4.2 各区域商店定价基准
**原则:进入新区域时,玩家从前一区域带来的 Geo 够买 1~2 件 L1/L2 商品,不够买 L3+**
| 商店位置 | L1 价格 | L2 价格 | L3 价格 | 库存典型商品 |
|---------|--------|--------|--------|-------------|
| Forest 商人 | 80~120 | 200~300 | — | 基础地图 / 灵泉剂 |
| Cave 商人(入口)| 120~180 | 350~500 | 600~800 | 洞穴地图 / 解毒药 / L3 灵泉升级 |
| Cave 商人(深处)| 150~200 | 400~600 | — | 稀有探索道具 |
| Ruins 商人 | 180~250 | 500~800 | 900~1200 | 符文 / 废墟地图 |
| Abyss 商人 | 250~350 | 700~1000 | 1200~2000 | 高级符文 / 深渊工具 |
| Core 商人 | 300~500 | 1000+ | 3000+ | 终局符文 / 奢侈品 |
### 4.3 补货规则
参见 `28_ShopSystem.md §4`触发条件Boss 击败 / 区域探索度 > 50%)。
---
## 5. 升级道具性价比锚点
为防止某单一升级道具"必买"或"无用",以下为设计约束:
### 5.1 灵泉容量升级(+1次使用
| 升级次数 | 价格 | 效益评估 | 设计约束 |
|---------|------|---------|---------|
| 1 → 2 | 600 Geo | 高价值(续战能力 +33%| 在 Cave 商店可购,玩家打 Cave 推进半程可攒到 |
| 2 → 3 | 1200 Geo | 中高价值(续战 +25%| 在 Ruins 商店可购 |
| 3 → 4上限| 2000 Geo | 中等价值 | 仅限 Abyss 商店,非必需 |
**替代途径**:在 Ruins 秘密房间有1个免费灵泉容量升级道具探索型玩家无需购买第2次。
### 5.2 符文装备槽扩展(+1 Notch
| 价格 | 数量上限 | 设计约束 |
|------|--------|---------|
| 1000 Geo/个 | 购买上限 2 个 | 另有 3 个可通过探索免费获取 |
**总 Notch 获取路径**
- 初始3 个 Notch
- 免费探索:+3 个(各区域 Boss 前厅隐藏房间)
- 购买:+2 个(最多)
- 上限8 个 Notch
---
## 6. 稀有掉落概率校准
参见 `33_EnemyLootSystem.md` 的掉落架构,以下为概率校准约束:
### 6.1 Geo 掉落基准
| 敌人类型 | 基础 Geo 范围 | 难度 Normal 倍率 |
|---------|------------|----------------|
| T1 小兵Forest | 3~8 | ×1.0 |
| T2 普通Cave/Ruins | 8~20 | ×1.0 |
| T3 精英 | 25~60 | ×1.0 |
| T4 Boss | 150~300 | ×1.0 |
| 秘密格/可破坏物 | 15~50 | ×1.0 |
难度倍率Easy ×1.3 / Normal ×1.0 / Hard ×0.8Hard 故意减少 Geo增加资源压力
### 6.2 稀有素材掉落
| 素材 | 来源 | 掉落率 | 最低有保证途径 |
|------|------|--------|-------------|
| 古代晶核(合成稀有符文)| T3 精英 | 8~15% | Cave 深处 Boss 必掉 1 个 |
| 虚空碎片(工具合成)| 深渊 T2 敌人 | 12~20% | Abyss 商人 800 Geo 可购 |
| 永恒之露(解除诅咒状态)| 特定 BOSS 掉落 | 100%Boss 首杀)| Boss 必掉 |
**保底规则**:连续击败同类型敌人 20 次未掉落稀有素材,第 21 次100%掉落(隐藏保底计数器,不显示给玩家)。
### 6.3 Geo 遗骸损失容忍度
| 场景 | 掉落的 Geo 量 | 玩家心理容忍阈值 |
|------|------------|---------------|
| 普通探索死亡 | < 200 Geo | 容忍(数分钟可复得)|
| 首次 Boss 死亡 | 100~400 Geo | 可接受(有遗骸取回机会)|
| 遗骸被覆盖(永久丢失)| 最多 800 Geo | 极限值(如果超过此量,应考虑增加 Geo 存储所)|
**Geo 存储所(银行 NPC**P1 功能——允许玩家将 Geo 存入,死亡不损失存储的 Geo收取 5% 手续费)。首次开放在 Cave 商人达到好感度 3 级后。
---
## 7. 难度模式经济缩放
| 参数 | Easy | Normal | Hard | 钢铁之魂 |
|------|------|--------|------|---------|
| Geo 掉落倍率 | ×1.3 | ×1.0 | ×0.8 | ×0.7 |
| 商店价格倍率 | ×0.8 | ×1.0 | ×1.2 | ×1.5 |
| 遗骸损失上限 | 无上限遗骸取回 | 标准 | Geo 永久损失(无遗骸)| Geo 永久损失(无遗骸)|
| 灵泉自动补满 | 每存档点 | 每存档点 | 不补满(需消耗品)| 不补满 |
| Boss 必掉 Geo | +50% | 标准 | 标准 | 标准 |
---
## 8. 经济陷阱防护规则
防止玩家陷入无法购买关键道具的死局:
| 规则 | 说明 |
|------|------|
| **关键道具不限购** | 推进游戏必须的道具(如地图)绝不缺货,补货无门槛 |
| **最低 Geo 保底** | 玩家 Geo 归零后,第一次击败任意敌人必掉 100 Geo隐藏保底|
| **任务奖励保底** | 完成主线 NPC 任务时的 Geo 奖励,不受难度倍率影响,始终是固定值 |
| **不设 Geo 消费强制** | 不存在"不花 Geo 就过不去"的设计,所有门控都有探索路线绕过 |
| **上限防护** | 若玩家持有 Geo > 5000商人不再刷新 L1 消耗品(防止无聊的积累)|
---
## 9. 平衡验证流程
### 9.1 PlayTest 经济数据采集清单
每次 PlayTest 完成后,记录以下数据并与目标区间对比:
| 数据点 | 采集方法 | 目标区间 |
|--------|---------|---------|
| 进入 Cave 时 Geo | PlayTest 记录 | 400~700 |
| Cave 通关时 Geo | PlayTest 记录 | 200~1000扣除购买后|
| 平均死亡次数/区域 | PlayTest 记录 | Forest 2~5次 / Cave 5~10次 |
| 商店消费比例 | PlayTest 记录 | ≥ 50% 收益用于购买 |
| 结束游戏时剩余 Geo | PlayTest 记录 | < 2000说明有足够消费出口|
### 9.2 自动化经济模拟BalanceSim
位置:`Assets/Editor/BalanceSimulator.cs`EditorWindow
功能:
- 输入:玩家路线(房间顺序)、死亡率、商店购买偏好(激进/保守)
- 输出:各时间点 Geo 曲线图折线图UI Toolkit Chart
- 对比:目标区间标注(绿色区域),超出或低于标注红线
---
## 10. EconomyConfigSO
集中管理所有经济参数,供 `ShopManager` / `LootSystem` 读取:
```csharp
[CreateAssetMenu(menuName = "Economy/EconomyConfig")]
public class EconomyConfigSO : ScriptableObject
{
[Header("难度倍率(由 DifficultyScalerSO 覆盖)")]
public float geoDropMultiplier = 1.0f;
public float shopPriceMultiplier = 1.0f;
[Header("保底规则")]
public int geoBreakEvenGuarantee = 100; // Geo 归零后第一次击杀保底量
public int rareDropGuaranteeCap = 20; // 连续多少次未掉稀有触发保底
public float rareDropGuaranteeRate = 1.0f; // 保底掉落率1.0 = 100%
[Header("上限")]
public int maxGeoBeforeShopRefreshPause = 5000;
[Header("遗骸 Geo 上限(防止心理伤害过大)")]
public int corpseLossWarningThreshold = 400; // 超过此值提示玩家存 Geo
public int corpseLossHardCap = 800; // 超过此值 Geo 自动部分存入P2 功能)
}
```
---
*本文档版本 1.0 · 2026-04 · 关联 28_ShopSystem / 33_EnemyLootSystem / 29_DifficultyModesGuide*