游戏技能

This commit is contained in:
2026-02-19 17:25:52 +08:00
parent faa19056ac
commit 6baa345d29
5 changed files with 1378 additions and 0 deletions

View File

@@ -0,0 +1,238 @@
# 游戏数值平衡系统
## 目录
- [核心概念](#核心概念)
- [属性系统设计](#属性系统设计)
- [公式体系](#公式体系)
- [经济系统](#经济系统)
- [成长曲线](#成长曲线)
- [概率设计](#概率设计)
- [平衡调优](#平衡调优)
## 核心概念
### 数值设计三原则
1. **可预期性** - 玩家能理解投入与回报的关系
2. **可控性** - 设计者能精确调整数值影响
3. **可扩展性** - 系统能容纳后期内容增加
### 数值层级结构
```
基础数值 (Base Stats)
修正数值 (Modifiers)
计算数值 (Calculated Stats)
最终数值 (Final Stats)
```
## 属性系统设计
### 基础属性模板
```json
{
"attributes": {
"primary": {
"strength": {"base": 10, "growth": 2.5, "description": "影响物理攻击"},
"agility": {"base": 10, "growth": 2.0, "description": "影响攻击速度和闪避"},
"intelligence": {"base": 10, "growth": 3.0, "description": "影响魔法攻击和法力值"},
"vitality": {"base": 10, "growth": 2.0, "description": "影响生命值和防御"}
},
"secondary": {
"max_hp": "vitality * 10 + base_hp",
"max_mp": "intelligence * 8 + base_mp",
"physical_atk": "strength * 2 + weapon_atk",
"magical_atk": "intelligence * 2.5 + weapon_matk",
"physical_def": "vitality * 1.5 + armor_def",
"magical_def": "intelligence * 1.0 + armor_mdef"
}
}
}
```
### 属性类型分类
| 类型 | 说明 | 示例 |
|------|------|------|
| 基础属性 | 角色固有能力 | 力量/敏捷/智力 |
| 衍生属性 | 由基础属性计算 | 攻击力/防御力 |
| 战斗属性 | 战斗中生效 | 暴击率/命中率 |
| 资源属性 | 消耗型资源 | 法力/怒气/能量 |
## 公式体系
### 伤害计算公式
#### 基础伤害公式
```
基础伤害 = 攻击力 * 技能倍率 * 随机波动(0.9~1.1)
```
#### 防御减免公式
```
减免比例 = 防御力 / (防御力 + 防御系数 * 攻击者等级)
实际伤害 = 基础伤害 * (1 - 减免比例)
```
#### 暴击公式
```
暴击判定 = random() < 暴击率
暴击伤害 = 最终伤害 * 暴击倍率
```
### 经验值公式
#### 等级经验曲线
```
升级所需经验 = 基础经验 * (等级 ^ 经验系数)
```
常用经验系数:
- 快速成长: 1.5
- 标准成长: 2.0
- 慢速成长: 2.5
#### 经验值分配
```
击杀经验 = 怪物基础经验 * (1 + 等级差修正)
等级差修正 = clamp((怪物等级 - 玩家等级) * 0.1, -0.5, 0.5)
```
## 经济系统
### 货币体系设计
```json
{
"currencies": {
"gold": {
"name": "金币",
"max": 999999999,
"primary": true,
"sources": ["怪物掉落", "任务奖励", "物品出售"]
},
"gems": {
"name": "宝石",
"max": 99999,
"premium": true,
"sources": ["充值", "成就", "活动"]
}
}
}
```
### 通货膨胀控制
| 手段 | 实现方式 |
|------|----------|
| 消耗 Sink | 强化消耗/修理费/税收 |
| 价值锚定 | NPC售价固定 |
| 动态调整 | 根据服务器经济调整掉落 |
| 分层货币 | 低/中/高级货币分离 |
### 定价模型
```
物品价值 = 基础价值 * 稀有度系数 * 需求系数
```
## 成长曲线
### 标准成长模型
```json
{
"growth_curve": {
"early_game": {
"levels": "1-20",
"growth_rate": "fast",
"unlock_frequency": "high",
"description": "快速反馈期"
},
"mid_game": {
"levels": "21-50",
"growth_rate": "moderate",
"unlock_frequency": "medium",
"description": "核心内容期"
},
"end_game": {
"levels": "51+",
"growth_rate": "slow",
"unlock_frequency": "low",
"description": "深度培养期"
}
}
}
```
### 数值增长类型
```
线性: y = a * x + b
对数: y = a * log(x) + b
指数: y = a * (x ^ b)
S曲线: y = k / (1 + e^(-a*(x-b)))
```
## 概率设计
### 随机系统类型
| 类型 | 公式 | 适用场景 |
|------|------|----------|
| 真随机 | random() < p | 非关键概率 |
| 伪随机 | 计数器修正 | 关键概率 |
| 保底机制 | 必中计数 | 抽卡/稀有掉落 |
| 加权随机 | 权重池 | 战利品表 |
### 伪随机分布 (PRD)
```
C = 1 - (1 - P) ^ N
实际概率 = 基础概率 + (失败次数 * 修正系数)
```
### 保底系统
```json
{
"pity_system": {
"soft_pity": {
"trigger": 70,
"increase_rate": 0.05
},
"hard_pity": {
"trigger": 90,
"guaranteed": true
}
}
}
```
## 平衡调优
### 调优流程
```
1. 数据收集 → 2. 问题识别 → 3. 假设验证 → 4. 方案实施 → 5. 效果监控
```
### 常用调优手段
| 问题类型 | 调优方向 |
|----------|----------|
| 过强内容 | 增加成本/降低效果/增加限制 |
| 过弱内容 | 降低成本/提升效果/减少限制 |
| 单一最优解 | 加强替代方案/增加场景限制 |
| 进度过快 | 增加消耗/提高门槛/减少产出 |
### 数值测试清单
- [ ] 新手流程数值验证
- [ ] 满级角色能力上限测试
- [ ] 资源产出消耗平衡
- [ ] 付费/免费玩家差距
- [ ] 多人竞技公平性
- [ ] 边界值测试

View File

@@ -0,0 +1,306 @@
# 游戏关卡设计
## 目录
- [关卡设计原则](#关卡设计原则)
- [关卡结构规划](#关卡结构规划)
- [节奏与流程](#节奏与流程)
- [教学关卡设计](#教学关卡设计)
- [挑战设计](#挑战设计)
- [关卡类型模板](#关卡类型模板)
## 关卡设计原则
### 核心设计理念
1. **引导而非指示** - 通过视觉语言引导玩家
2. **风险与回报** - 难度与奖励成正比
3. **心流体验** - 难度匹配玩家能力
4. **涌现玩法** - 鼓励创造性解决方案
### 关卡设计五要素
```
空间 (Space) - 物理环境与布局
规则 (Rules) - 关卡内特殊机制
目标 (Goals) - 玩家需要完成的任务
障碍 (Obstacles) - 阻碍玩家前进的元素
资源 (Resources) - 玩家可利用的道具/能力
```
## 关卡结构规划
### 标准关卡结构
```
┌─────────────────────────────────────────┐
│ 入口区域 (安全区) │
│ - 存档点/检查点 │
│ - 资源补给 │
│ - 信息提示 │
├─────────────────────────────────────────┤
│ 探索阶段 (低压区) │
│ - 环境叙事 │
│ - 基础解谜 │
│ - 收集要素 │
├─────────────────────────────────────────┤
│ 挑战阶段 (高压区) │
│ - 战斗/平台挑战 │
│ - 进阶解谜 │
│ - 可选支路 │
├─────────────────────────────────────────┤
│ 高潮阶段 (Boss/关键点) │
│ - 主要挑战 │
│ - 节奏高潮 │
│ - 成就时刻 │
├─────────────────────────────────────────┤
│ 出口区域 (奖励区) │
│ - 战利品 │
│ - 剧情推进 │
│ - 下一关预览 │
└─────────────────────────────────────────┘
```
### 关卡节点规划
```json
{
"level_structure": {
"nodes": [
{"type": "spawn", "safe": true},
{"type": "encounter", "difficulty": 0.3, "enemies": 3},
{"type": "puzzle", "complexity": "simple"},
{"type": "encounter", "difficulty": 0.5, "enemies": 5},
{"type": "checkpoint", "safe": true},
{"type": "mini_boss", "difficulty": 0.7},
{"type": "encounter", "difficulty": 0.8, "enemies": 8},
{"type": "boss", "difficulty": 1.0},
{"type": "exit", "rewards": ["gold", "item"]}
]
}
}
```
## 节奏与流程
### 节奏曲线设计
```
强度
│ ▲ ▲
╲ ▲
╲╱ ╲╱ ╲
│╱ ╲
└──────────────────────→ 时间
入口 探索 挑战 高潮 结算
```
### 节奏类型
| 节奏类型 | 描述 | 适用场景 |
|----------|------|----------|
| 渐进式 | 难度逐步上升 | 教学关卡 |
| 波浪式 | 张弛交替 | 标准关卡 |
| 爆发式 | 突然高强度 | Boss战 |
| 递归式 | 重复+变化 | 无尽模式 |
### 时间规划参考
```json
{
"level_duration": {
"mobile": {"min": 2, "max": 5, "optimal": 3},
"pc": {"min": 5, "max": 20, "optimal": 10},
"boss_fight": {"min": 3, "max": 10, "optimal": 5}
}
}
```
## 教学关卡设计
### 教学设计原则 (I DO - WE DO - YOU DO)
```
1. 展示 (I DO)
- 玩家观察NPC/提示完成动作
- 不需要玩家操作
2. 引导 (WE DO)
- 玩家在引导下完成动作
- 提供视觉提示和安全网
3. 独立 (YOU DO)
- 玩家独立完成动作
- 验证学习成果
```
### 教学流程模板
```json
{
"tutorial_sequence": [
{
"mechanic": "移动",
"steps": ["展示方向键", "引导移动到目标点", "自由移动练习"]
},
{
"mechanic": "跳跃",
"steps": ["展示跳跃动画", "引导跳过障碍", "平台跳跃挑战"]
},
{
"mechanic": "攻击",
"steps": ["展示攻击效果", "引导攻击木桩", "战斗练习"]
}
]
}
```
### 教学提示设计
```
好的提示:
✓ "按空格键跳跃" - 明确指示
✓ 视觉标记目标位置
✓ 失败后渐进提示
不好的提示:
✗ "使用跳跃技能" - 按键不明
✗ 过多文字说明
✗ 惩罚性失败
```
## 挑战设计
### 难度设计维度
| 维度 | 调整方式 |
|------|----------|
| 认知负荷 | 信息量/复杂度 |
| 操作精度 | 时机窗口/输入要求 |
| 反应速度 | 敌人速度/攻击频率 |
| 资源压力 | 弹药/血量/时间限制 |
| 空间导航 | 路径复杂度/迷路风险 |
### 敌人配置设计
```json
{
"encounter_design": {
"enemy_roles": {
"fodder": {"hp": "low", "damage": "low", "purpose": "满足感"},
"tank": {"hp": "high", "damage": "low", "purpose": "时间压力"},
"damage_dealer": {"hp": "medium", "damage": "high", "purpose": "威胁"},
"support": {"hp": "low", "damage": "none", "purpose": "强化其他"}
},
"composition_rules": [
"核心敌人 + 1-2种支援",
"总敌人数 = 3-8为宜",
"避免同时出现过多远程敌人"
]
}
}
```
### Boss设计框架
```json
{
"boss_design": {
"phases": [
{
"hp_threshold": "100%-70%",
"pattern": "基础攻击",
"learning_goal": "熟悉基础模式"
},
{
"hp_threshold": "70%-30%",
"pattern": "新增技能",
"learning_goal": "应对变化"
},
{
"hp_threshold": "30%-0%",
"pattern": "狂暴模式",
"learning_goal": "极限反应"
}
],
"design_rules": [
"每个技能有明确前摇",
"提供安全输出窗口",
"避免秒杀机制",
"失败后可快速重试"
]
}
}
```
## 关卡类型模板
### 动作游戏关卡
```
结构: 线性 + 支线
重点: 战斗节奏、敌人配置
元素: 掩体、高地、移动路径
```
### 平台跳跃关卡
```
结构: 纵向/横向展开
重点: 跳跃难度、移动技巧
元素: 平台、障碍、收集品
```
### 解谜关卡
```
结构: 房间式/开放式
重点: 逻辑难度、信息呈现
元素: 机关、线索、钥匙
```
### 潜行关卡
```
结构: 开放式区域
重点: 路线规划、AI巡逻
元素: 掩体、分散注意道具、警报
```
### Roguelike关卡
```json
{
"roguelike_room": {
"types": ["combat", "elite", "shop", "event", "rest", "boss"],
"generation": {
"min_rooms": 10,
"max_rooms": 20,
"guaranteed": ["rest_before_boss", "shop_midway"]
},
"connections": {
"branching": 0.3,
"merge_points": ["floor_exit"]
}
}
}
```
## 关卡设计检查清单
### 基础检查
- [ ] 关卡目标明确
- [ ] 入口/出口清晰
- [ ] 检查点合理分布
- [ ] 难度曲线平滑
### 体验检查
- [ ] 视觉引导有效
- [ ] 节奏张弛有度
- [ ] 失败惩罚合理
- [ ] 奖励感觉充实
### 技术检查
- [ ] 边界处理完善
- [ ] 无卡死可能
- [ ] 性能优化到位
- [ ] 存档/读档正常

View File

@@ -0,0 +1,328 @@
# 游戏UI/UX设计
## 目录
- [设计原则](#设计原则)
- [UI层次结构](#ui层次结构)
- [HUD设计](#hud设计)
- [菜单系统](#菜单系统)
- [反馈系统](#反馈系统)
- [新手引导](#新手引导)
- [可访问性设计](#可访问性设计)
## 设计原则
### 游戏UI设计核心
1. **不干扰游戏** - UI服务于游戏不是主角
2. **信息层次清晰** - 重要信息优先级最高
3. **一致性** - 全局风格统一
4. **响应性** - 即时反馈所有交互
### 信息优先级
```
P0: 生死相关 (血量/倒计时/警告)
P1: 核心玩法 (技能/弹药/目标)
P2: 辅助信息 (小地图/任务/分数)
P3: 次要信息 (设置/社交/收藏)
```
## UI层次结构
### 标准UI层级
```
Layer 5: 全屏覆盖层 (Loading/过场)
Layer 4: 模态对话框 (确认/提示)
Layer 3: 弹窗面板 (背包/技能树)
Layer 2: HUD (血条/技能/小地图)
Layer 1: 游戏世界 (3D/2D场景)
```
### 屏幕布局分区
```
┌────────────────────────────────────────┐
│ [左上: 玩家状态] [右上: 目标/任务] │
│ │
│ │
│ [中心: 游戏区域] │
│ │
│ │
│ [左下: 技能/物品栏] [右下: 小地图] │
└────────────────────────────────────────┘
```
## HUD设计
### 核心HUD元素
```json
{
"hud_elements": {
"health_bar": {
"position": "bottom_left",
"visibility": "always",
"style": "gradient_fill",
"critical_threshold": 0.25,
"animations": ["damage_flash", "heal_pulse", "critical_pulse"]
},
"mana_bar": {
"position": "below_health",
"visibility": "contextual",
"style": "solid_fill"
},
"skill_slots": {
"position": "bottom_center",
"count": 4,
"show_cooldown": true,
"show_keybind": true
},
"minimap": {
"position": "top_right",
"size": "medium",
"rotation": "player_facing",
"show_markers": ["objective", "npc", "danger"]
},
"ammo_counter": {
"position": "bottom_right",
"visibility": "combat_only"
}
}
}
```
### 状态指示器设计
| 状态类型 | 视觉表现 | 位置建议 |
|----------|----------|----------|
| 生命值 | 条形/心形/数字 | 左上/底部 |
| 法力/能量 | 条形/球体 | 生命值下方 |
| Buff/Debuff | 图标列表+倒计时 | 状态栏 |
| 弹药 | 数字+图标 | 武器附近 |
| 经验值 | 条形 | 顶部/底部 |
## 菜单系统
### 菜单结构设计
```
主菜单
├── 继续游戏
├── 新游戏
│ └── 选择难度
├── 加载存档
├── 设置
│ ├── 画面设置
│ ├── 音频设置
│ ├── 控制设置
│ └── 游戏设置
└── 退出
```
### 暂停菜单
```json
{
"pause_menu": {
"layout": "centered",
"background": "blur_game_view",
"options": [
{"label": "继续", "action": "resume", "default": true},
{"label": "设置", "action": "open_settings"},
{"label": "存档", "action": "save_game"},
{"label": "返回主菜单", "action": "quit_to_menu", "confirm": true}
]
}
}
```
### 背包UI设计
```
┌──────────────────────────────────────┐
│ [角色] [装备] [消耗品] [素材] │
├──────────────────────────────────────┤
│ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ │
│ │ ││ ││ ││ ││ ││ │ │
│ └──┘└──┘└──┘└──┘└──┘└──┘ [详情] │
│ ┌──┐┌──┐┌──┐┌──┐┌──┐┌──┐ │
│ │ ││ ││ ││ ││ ││ │ │
│ └──┘└──┘└──┘└──┘└──┘└──┘ │
├──────────────────────────────────────┤
│ 物品名称: 剑 │
│ 攻击力: +50 │
│ 描述: 一把普通的剑 │
└──────────────────────────────────────┘
```
## 反馈系统
### 反馈类型矩阵
| 事件 | 视觉 | 音效 | 震动 |
|------|------|------|------|
| 受伤 | 红色闪烁 | 痛苦音效 | 轻微 |
| 死亡 | 灰度+慢动作 | 死亡音效 | 强烈 |
| 拾取 | 飘字+粒子 | 拾取音效 | 无 |
| 升级 | 光效+UI动画 | 升级音效 | 中等 |
| 任务完成 | 弹窗+奖励展示 | 完成音效 | 无 |
| 技能冷却 | 图标填充动画 | 冷却完毕提示 | 无 |
### 伤害数字设计
```json
{
"damage_numbers": {
"normal": {
"color": "#FFFFFF",
"size": 24,
"animation": "float_up_fade"
},
"critical": {
"color": "#FF4444",
"size": 36,
"animation": "pop_bounce",
"prefix": "暴击!"
},
"heal": {
"color": "#44FF44",
"size": 24,
"prefix": "+"
}
}
}
```
### 引导指示
```
视觉引导手段:
- 箭头/光柱指向目标
- 高亮可交互物体
- 路径光效指引
- 小地图标记
原则:
- 引导不能喧宾夺主
- 可选关闭引导
- 渐进式减少引导强度
```
## 新手引导
### 引导类型
| 类型 | 适用场景 | 特点 |
|------|----------|------|
| 强制教学 | 核心机制 | 必须完成才能继续 |
| 可跳过教学 | 基础操作 | 可选择跳过 |
| 上下文提示 | 进阶技巧 | 首次使用时提示 |
| 悬浮帮助 | 复杂系统 | 悬停显示说明 |
### 引导设计模板
```json
{
"tutorial_step": {
"id": "first_attack",
"trigger": "first_enemy_encounter",
"highlight": "attack_button",
"message": "点击攻击按钮消灭敌人",
"arrow_target": "enemy",
"block_other_input": true,
"skip_condition": "enemy_killed"
}
}
```
### 引导流程设计
```
开始
[触发条件检查]
[暂停游戏/限制输入]
[高亮UI元素]
[显示指引信息]
[等待玩家操作]
[验证操作正确]
[播放成功反馈]
进入下一步骤 或 完成
```
## 可访问性设计
### 视觉可访问性
```json
{
"accessibility_options": {
"colorblind_mode": {
"type": ["protanopia", "deuteranopia", "tritanopia"],
"effect": "调整UI颜色方案"
},
"high_contrast": {
"effect": "增强UI对比度"
},
"text_size": {
"range": [0.8, 1.5],
"default": 1.0
},
"screen_reader": {
"support": true,
"read_hud": true
}
}
}
```
### 操作可访问性
| 功能 | 说明 |
|------|------|
| 按键重映射 | 所有操作可自定义 |
| 长按/连按切换 | 选择触发方式 |
| 自动瞄准 | 辅助瞄准功能 |
| QTE自动完成 | 自动完成快速反应事件 |
| 游戏速度调节 | 0.5x - 1.0x |
### 听觉可访问性
```
- 所有音频事件有视觉替代
- 字幕系统完善
- 闭 caption 支持音效描述
- 音频提示可视化指示器
```
## UI动效指南
### 常用动效
```json
{
"animations": {
"fade_in": {"duration": 0.2, "easing": "ease_out"},
"fade_out": {"duration": 0.15, "easing": "ease_in"},
"scale_pop": {"duration": 0.15, "scale": 1.1, "easing": "back_out"},
"slide_in": {"duration": 0.25, "direction": "right", "easing": "ease_out"},
"shake": {"duration": 0.1, "intensity": 5},
"pulse": {"duration": 0.5, "scale": 1.05, "loop": true}
}
}
```
### 动效原则
- 持续时间 < 0.3s (不阻塞操作)
- 使用缓动函数增加质感
- 避免过度动画分散注意力
- 提供关闭动画的选项