# 关卡配置系统说明文档 ## 概述 本文档详细说明了塔防游戏关卡配置系统的数据结构和字段含义,帮助策划人员正确配置关卡数据。 ## 文件结构 关卡配置文件采用JSON格式,位于 `assets/resources/data/levels/` 目录下,命名规则为 `Level{N}.json`。 ## 数据结构说明 ### 1. 关卡基本信息 #### name (string) - **含义**: 关卡显示名称 - **示例**: "新手引导(草地平原)" - **注意**: 支持中文,建议包含场景信息 #### scene (string) - **含义**: 关卡场景标识符 - **可选值**: - `grassland` - 草地平原 - `forest` - 森林场景 - `magic_ruins` - 魔法废墟 - `industrial` - 工业场景 - `cyberpunk` - 赛博都市 - **用途**: 用于加载对应的场景资源 #### description (string) - **含义**: 关卡描述文本 - **示例**: "新手引导关卡,学习基础塔防玩法" - **用途**: 在关卡选择界面显示 #### weapons (array) - **含义**: 关卡可用武器列表 - **示例**: ["毛豆射手", "尖胡萝卜"] - **注意**: 武器名称需与武器配置表对应 ### 2. 波次配置 (waves) #### waveId (number) - **含义**: 波次编号 - **规则**: 从1开始递增 - **用途**: 标识波次顺序 #### enemies (array) - **含义**: 该波次的敌人配置列表 - **结构**: 每个敌人对象包含以下字段 ##### enemyType (string) - **含义**: 敌人类型标识符 - **可选值**: - `普通僵尸` - 基础敌人 - `路障僵尸` - 高血量敌人 - `漫步僵尸` - 摇摆移动敌人 - `铁桶僵尸` - 超高防御敌人 - `火药桶僵尸` - 爆炸敌人 - `弓箭僵尸` - 远程攻击敌人 - `法师僵尸` - 魔法攻击敌人 - `隐身僵尸` - 隐身能力敌人 - `BOSS1/2/3` - BOSS级敌人 ##### count (number) - **含义**: 该类型敌人的数量 - **范围**: 正整数 - **注意**: BOSS通常设置为1 ##### spawnInterval (number) - **含义**: 敌人生成间隔(秒) - **范围**: 正数,支持小数 - **注意**: BOSS通常设置为0(立即生成) ##### characteristics (array) - **含义**: 敌人特性描述 - **示例**: ["中速移动", "无技能"] - **用途**: 用于UI显示和AI行为参考 ### 3. 关卡设置 (levelSettings) #### initialHealth (number) - **含义**: 玩家初始生命值 - **默认值**: 100 - **用途**: 决定玩家可承受的伤害次数 #### timeLimit (number) - **含义**: 关卡时间限制(秒) - **用途**: 超时则关卡失败 - **注意**: 设置为0表示无时间限制 #### difficulty (string) - **含义**: 关卡难度标识 - **可选值**: - `easy` - 简单 - `normal` - 普通 - `hard` - 困难 - `extreme` - 极限 - **用途**: 影响奖励计算和AI强度 #### energyMax (number) - **含义**: 关卡最大能量值 - **用途**: 限制玩家可同时部署的武器数量 - **示例**: 3表示最多可部署3个武器 #### healthMultiplier (number) - **含义**: 敌人血量倍率 - **默认值**: 1.0 - **用途**: 控制该关卡敌人的血量倍数,实现难度递进 - **示例**: 1.5表示敌人血量为原始值的1.5倍 - **建议**: 随关卡递进逐步增加,如1.0 → 1.2 → 1.4 → 1.6 → 2.0 ## 配置建议 ### 难度递进 1. **新手关卡**: 敌人种类少,数量少,间隔长 2. **进阶关卡**: 逐步引入新敌人类型 3. **高难度关卡**: 多种敌人混合,高密度生成 4. **BOSS关卡**: 单体强力敌人,考验玩家策略 ### 平衡性考虑 1. **时间限制**: 根据波次数量和敌人总数合理设置 2. **星级要求**: 确保有一定挑战性但不过分苛刻 3. **武器搭配**: 提供多样化的战术选择 ### 测试要点 1. 确保所有波次能在时间限制内完成 2. 验证星级要求的合理性 3. 测试不同武器组合的可行性 4. 检查敌人生成节奏是否合适 ## 数据验证 ### 必填字段检查 - 所有基本信息字段不能为空 - 至少包含一个波次 - 每个波次至少包含一个敌人 ### 数值范围检查 - count > 0 - spawnInterval ≥ 0 - initialHealth > 0 - timeLimit ≥ 0 - energyMax > 0 ### 引用完整性检查 - enemyType 需在敌人配置表中存在 - weapons 中的武器需在武器配置表中存在 - scene 需有对应的场景资源 ## 使用说明 1. **Excel编辑**: 使用上述表格结构在Excel中编辑关卡数据 2. **数据导出**: 编辑完成后,可以通过脚本将Excel数据转换回JSON格式 3. **字段验证**: 导入前请确保所有必填字段已填写,数值范围正确 4. **测试验证**: 导入后需要在游戏中测试关卡的平衡性和可玩性 这样的结构化配置方式可以让策划人员更方便地批量编辑关卡数据,同时保持数据的一致性和完整性。