From 6baa345d296a4fc3ad3e8bccec383b985368e8d7 Mon Sep 17 00:00:00 2001 From: shenaowei <450702724@qq.com> Date: Thu, 19 Feb 2026 17:25:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=B8=E6=88=8F=E6=8A=80=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/skills/indie-game-dev/SKILL.md | 143 +++++++ .../assets/templates/game-templates.md | 363 ++++++++++++++++++ .../references/balance-system.md | 238 ++++++++++++ .../indie-game-dev/references/level-design.md | 306 +++++++++++++++ .../indie-game-dev/references/ui-ux-design.md | 328 ++++++++++++++++ 5 files changed, 1378 insertions(+) create mode 100644 .claude/skills/indie-game-dev/SKILL.md create mode 100644 .claude/skills/indie-game-dev/assets/templates/game-templates.md create mode 100644 .claude/skills/indie-game-dev/references/balance-system.md create mode 100644 .claude/skills/indie-game-dev/references/level-design.md create mode 100644 .claude/skills/indie-game-dev/references/ui-ux-design.md diff --git a/.claude/skills/indie-game-dev/SKILL.md b/.claude/skills/indie-game-dev/SKILL.md new file mode 100644 index 0000000000..c2d77ad3d1 --- /dev/null +++ b/.claude/skills/indie-game-dev/SKILL.md @@ -0,0 +1,143 @@ +--- +name: indie-game-dev +description: 独立游戏开发专家,能够快速构建游戏框架、设计游戏系统。涵盖游戏美术、游戏数值、游戏关卡、游戏风格化、游戏玩法、游戏任务、游戏用户体验等专业维度。当用户请求创建游戏、设计游戏玩法、构建游戏系统、设计关卡、调整数值平衡、设计任务系统、优化游戏体验时使用此技能。 +--- + +# 独立游戏开发专家 + +快速构建专业级独立游戏的全栈开发助手,覆盖游戏开发全流程。 + +## 核心能力 + +### 1. 游戏框架构建 +- 2D/3D游戏架构设计 +- 游戏循环与状态管理 +- 模块化系统设计 +- 跨平台适配方案 + +### 2. 游戏玩法设计 +- 核心机制定义 +- 操作系统设计 +- 反馈系统构建 +- 难度曲线规划 + +### 3. 游戏数值系统 +- 属性系统设计 +- 经济系统平衡 +- 成长曲线规划 +- 概率与随机性 + +### 4. 关卡设计 +- 关卡结构规划 +- 节奏与流程控制 +- 教学关卡设计 +- 挑战与奖励平衡 + +### 5. 游戏美术风格 +- 视觉风格定义 +- 色彩与光影方案 +- UI/UX视觉规范 +- 特效与动画指导 + +### 6. 任务系统 +- 任务类型设计 +- 叙事结构规划 +- 成就系统设计 +- 引导与提示系统 + +### 7. 用户体验 +- 新手引导设计 +- 反馈与奖励机制 +- 社交功能设计 +- 留存与参与度优化 + +## 工作流程 + +``` +需求分析 → 概念设计 → 系统架构 → 详细设计 → 原型实现 → 迭代优化 +``` + +## 使用指南 + +### 启动新游戏项目 + +``` +用户: 帮我设计一个2D像素风格的Roguelike游戏 +→ 输出: 游戏概念文档、核心系统设计、技术选型建议 +``` + +### 系统设计请求 + +``` +用户: 设计一个卡牌游戏的战斗数值系统 +→ 输出: 属性框架、公式设计、平衡方案、示例配置 +``` + +### 关卡设计 + +``` +用户: 设计一个平台跳跃游戏的前三个关卡 +→ 输出: 关卡布局图、敌人配置、难度曲线、教学流程 +``` + +## 详细参考 + +- **数值系统**: 见 [references/balance-system.md](references/balance-system.md) +- **关卡设计**: 见 [references/level-design.md](references/level-design.md) +- **UI/UX设计**: 见 [references/ui-ux-design.md](references/ui-ux-design.md) +- **游戏类型模板**: 见 [assets/templates/](assets/templates/) + +## 输出格式 + +### 游戏设计文档 (GDD) + +```markdown +# [游戏名称] 设计文档 + +## 一句话描述 +[核心卖点] + +## 核心玩法 +- 主要机制1 +- 主要机制2 +- 主要机制3 + +## 目标用户 +[用户画像] + +## 商业模式 +[盈利方式] +``` + +### 系统设计表 + +| 系统 | 描述 | 核心参数 | 关联系统 | +|------|------|----------|----------| +| ... | ... | ... | ... | + +### 数值配置表 + +```json +{ + "entity": { + "base_hp": 100, + "base_atk": 10, + "growth_rate": 1.15 + } +} +``` + +## 常用引擎支持 + +- **Unity**: C# 代码示例、组件设计 +- **Godot**: GDScript 代码、节点架构 +- **Phaser**: JavaScript/TypeScript 游戏逻辑 +- **Cocos**: C++/Lua/JavaScript 实现 + +## 注意事项 + +1. 保持核心玩法简洁,避免过度设计 +2. 数值系统需要可扩展性 +3. 关卡难度遵循"简单-学习-挑战-奖励"节奏 +4. UI反馈要及时明确 +5. 预留后期调优空间 diff --git a/.claude/skills/indie-game-dev/assets/templates/game-templates.md b/.claude/skills/indie-game-dev/assets/templates/game-templates.md new file mode 100644 index 0000000000..cbe986f2e7 --- /dev/null +++ b/.claude/skills/indie-game-dev/assets/templates/game-templates.md @@ -0,0 +1,363 @@ +# 游戏类型模板 + +快速启动各类游戏项目的参考模板。 + +## 目录 +- [Roguelike游戏](#roguelike游戏) +- [动作RPG](#动作rpg) +- [卡牌游戏](#卡牌游戏) +- [平台跳跃](#平台跳跃) +- [塔防游戏](#塔防游戏) +- [模拟经营](#模拟经营) +- [解谜游戏](#解谜游戏) + +--- + +## Roguelike游戏 + +### 游戏设计文档模板 + +```markdown +# [游戏名称] - Roguelike + +## 核心概念 +随机地牢探索 + 永久死亡 + 进阶解锁 + +## 核心循环 +1. 进入地牢层 +2. 探索房间/战斗/获取装备 +3. 击败Boss进入下一层 +4. 死亡后解锁新内容/重新开始 + +## 关键系统 +- 程序生成地图 +- 随机掉落装备池 +- 角色成长树 +- 解锁系统 +``` + +### 系统配置模板 + +```json +{ + "game_config": { + "floor_count": 5, + "rooms_per_floor": {"min": 10, "max": 15}, + "room_types": { + "combat": 0.5, + "elite": 0.1, + "shop": 0.1, + "event": 0.15, + "rest": 0.1, + "boss": 0.05 + }, + "meta_progression": { + "unlock_points_per_run": 10, + "permanent_upgrades": ["hp_bonus", "starting_gold", "new_characters"] + } + } +} +``` + +--- + +## 动作RPG + +### 游戏设计文档模板 + +```markdown +# [游戏名称] - ARPG + +## 核心概念 +即时战斗 + 装备驱动 + 技能构建 + +## 核心循环 +1. 接受任务/探索 +2. 战斗获取经验/装备 +3. 升级解锁技能 +4. 挑战更强敌人 + +## 关键系统 +- 战斗系统(连击/闪避/技能) +- 装备系统(稀有度/词缀) +- 技能树 +- 任务系统 +``` + +### 属性系统模板 + +```json +{ + "character_stats": { + "primary": { + "strength": {"affects": ["physical_damage", "max_hp"]}, + "dexterity": {"affects": ["attack_speed", "crit_chance", "evasion"]}, + "intelligence": {"affects": ["magical_damage", "max_mp", "mana_regen"]}, + "vitality": {"affects": ["max_hp", "hp_regen", "physical_defense"]} + }, + "secondary": { + "physical_damage": "strength * 2 + weapon_damage", + "attack_speed": 1.0 + (dexterity * 0.01), + "crit_chance": 0.05 + (dexterity * 0.002), + "max_hp": 100 + (vitality * 10) + (strength * 5) + } + } +} +``` + +--- + +## 卡牌游戏 + +### 游戏设计文档模板 + +```markdown +# [游戏名称] - 卡牌游戏 + +## 核心概念 +策略构筑 + 随机元素 + 回合制 + +## 核心循环 +1. 构建牌组 +2. 对战/冒险 +3. 获取新卡牌 +4. 优化牌组 + +## 关键系统 +- 卡牌效果系统 +- 资源/费用系统 +- 牌组构建 +- 卡牌收集 +``` + +### 卡牌模板 + +```json +{ + "card_template": { + "id": "fireball", + "name": "火球术", + "type": "attack", + "cost": 2, + "rarity": "common", + "effects": [ + {"type": "damage", "value": 20, "target": "enemy"} + ], + "description": "对敌人造成 {damage} 点伤害", + "upgrade": { + "cost": 1, + "effects": [{"type": "damage", "value": 30}] + } + } +} +``` + +--- + +## 平台跳跃 + +### 游戏设计文档模板 + +```markdown +# [游戏名称] - 平台跳跃 + +## 核心概念 +精确操作 + 关卡探索 + 收集要素 + +## 核心循环 +1. 进入关卡 +2. 跳跃/攀爬/战斗 +3. 收集道具/发现秘密 +4. 到达终点 + +## 关键系统 +- 移动系统(跳跃/冲刺/攀爬) +- 关卡设计 +- 收集系统 +- 存档点系统 +``` + +### 移动参数模板 + +```json +{ + "movement_config": { + "walk_speed": 5.0, + "run_speed": 8.0, + "jump_force": 12.0, + "gravity": 0.5, + "max_fall_speed": 15.0, + "coyote_time": 0.1, + "jump_buffer": 0.15, + "dash_speed": 15.0, + "dash_duration": 0.2, + "wall_slide_speed": 2.0, + "wall_jump_force": {"x": 10, "y": 12} + } +} +``` + +--- + +## 塔防游戏 + +### 游戏设计文档模板 + +```markdown +# [游戏名称] - 塔防 + +## 核心概念 +策略放置 + 资源管理 + 波次防守 + +## 核心循环 +1. 观察敌人路径 +2. 放置/升级防御塔 +3. 抵御敌人波次 +4. 获取资源/解锁新塔 + +## 关键系统 +- 塔系统(类型/升级/技能) +- 敌人系统(类型/属性/路径) +- 波次系统 +- 经济系统 +``` + +### 塔配置模板 + +```json +{ + "tower_types": { + "arrow_tower": { + "name": "箭塔", + "cost": 100, + "damage": 10, + "range": 3, + "attack_speed": 1.0, + "target_type": "ground", + "upgrades": [ + {"level": 2, "cost": 150, "damage": 20, "range": 3.5}, + {"level": 3, "cost": 300, "damage": 40, "range": 4} + ] + }, + "magic_tower": { + "name": "魔法塔", + "cost": 200, + "damage": 25, + "range": 2.5, + "attack_speed": 0.5, + "target_type": "all", + "special": "splash_damage" + } + } +} +``` + +--- + +## 模拟经营 + +### 游戏设计文档模板 + +```markdown +# [游戏名称] - 模拟经营 + +## 核心概念 +资源管理 + 建设发展 + 长期目标 + +## 核心循环 +1. 收集资源 +2. 建设设施 +3. 满足需求/扩大规模 +4. 解锁新内容 + +## 关键系统 +- 资源系统 +- 建筑系统 +- 人口/需求系统 +- 科技/升级树 +``` + +### 资源系统模板 + +```json +{ + "resources": { + "gold": {"name": "金币", "storage": true, "production_rate": 0}, + "food": {"name": "食物", "storage": true, "consumption_rate": 1}, + "wood": {"name": "木材", "storage": true, "production_rate": 0}, + "population": {"name": "人口", "storage": true, "consumption_rate": 0} + }, + "buildings": { + "farm": { + "name": "农场", + "cost": {"gold": 100}, + "production": {"food": 5}, + "workers": 2 + }, + "lumber_mill": { + "name": "伐木场", + "cost": {"gold": 150}, + "production": {"wood": 3}, + "workers": 2 + } + } +} +``` + +--- + +## 解谜游戏 + +### 游戏设计文档模板 + +```markdown +# [游戏名称] - 解谜游戏 + +## 核心概念 +逻辑推理 + 空间思维 + 渐进难度 + +## 核心循环 +1. 观察谜题 +2. 分析规则/线索 +3. 尝试解决方案 +4. 解锁新关卡 + +## 关键系统 +- 谜题机制 +- 提示系统 +- 进度系统 +- 星级评价 +``` + +### 关卡模板 + +```json +{ + "puzzle_level": { + "id": 1, + "difficulty": 1, + "grid_size": {"width": 5, "height": 5}, + "elements": [], + "goal": "connect_all_points", + "moves_limit": null, + "stars": { + "1": "complete_level", + "2": "complete_in_30s", + "3": "complete_no_hints" + }, + "hints": [ + "从角落开始", + "注意连线不能交叉" + ] + } +} +``` + +--- + +## 使用建议 + +1. **选择合适模板** - 根据游戏核心玩法选择最接近的模板 +2. **混合创新** - 多个模板组合创造新玩法 +3. **迭代修改** - 模板是起点,根据实际需求调整 +4. **保持简洁** - 从最小可玩版本开始 diff --git a/.claude/skills/indie-game-dev/references/balance-system.md b/.claude/skills/indie-game-dev/references/balance-system.md new file mode 100644 index 0000000000..2df6032130 --- /dev/null +++ b/.claude/skills/indie-game-dev/references/balance-system.md @@ -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. 效果监控 +``` + +### 常用调优手段 + +| 问题类型 | 调优方向 | +|----------|----------| +| 过强内容 | 增加成本/降低效果/增加限制 | +| 过弱内容 | 降低成本/提升效果/减少限制 | +| 单一最优解 | 加强替代方案/增加场景限制 | +| 进度过快 | 增加消耗/提高门槛/减少产出 | + +### 数值测试清单 + +- [ ] 新手流程数值验证 +- [ ] 满级角色能力上限测试 +- [ ] 资源产出消耗平衡 +- [ ] 付费/免费玩家差距 +- [ ] 多人竞技公平性 +- [ ] 边界值测试 diff --git a/.claude/skills/indie-game-dev/references/level-design.md b/.claude/skills/indie-game-dev/references/level-design.md new file mode 100644 index 0000000000..0475f491d8 --- /dev/null +++ b/.claude/skills/indie-game-dev/references/level-design.md @@ -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"] + } + } +} +``` + +## 关卡设计检查清单 + +### 基础检查 +- [ ] 关卡目标明确 +- [ ] 入口/出口清晰 +- [ ] 检查点合理分布 +- [ ] 难度曲线平滑 + +### 体验检查 +- [ ] 视觉引导有效 +- [ ] 节奏张弛有度 +- [ ] 失败惩罚合理 +- [ ] 奖励感觉充实 + +### 技术检查 +- [ ] 边界处理完善 +- [ ] 无卡死可能 +- [ ] 性能优化到位 +- [ ] 存档/读档正常 diff --git a/.claude/skills/indie-game-dev/references/ui-ux-design.md b/.claude/skills/indie-game-dev/references/ui-ux-design.md new file mode 100644 index 0000000000..8c92c312e7 --- /dev/null +++ b/.claude/skills/indie-game-dev/references/ui-ux-design.md @@ -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 (不阻塞操作) +- 使用缓动函数增加质感 +- 避免过度动画分散注意力 +- 提供关闭动画的选项