关卡配置说明文档.md 4.7 KB

关卡配置系统说明文档

概述

本文档详细说明了塔防游戏关卡配置系统的数据结构和字段含义,帮助策划人员正确配置关卡数据。

文件结构

关卡配置文件采用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. 测试验证: 导入后需要在游戏中测试关卡的平衡性和可玩性

这样的结构化配置方式可以让策划人员更方便地批量编辑关卡数据,同时保持数据的一致性和完整性。