游戏总设计
游戏模式(已确定)
玩家角色固定在左边位置,不可移动,怪物从右边进入,玩家主英雄死亡后,游戏失败,干掉 4个boss后胜利(胜利条件还在设计中),boss随机,怪物随机,通过达成一定条件完成事件,获得特定分值,不管输赢,计算最终分值 并排名
玩家角色: 主英雄 + 副英雄
装备栏: 武器,盾牌,饰品
武器:剑,刀,斧,锤
盾牌:盾
饰品:饰品
武器获取和升级方式:
怪物掉落装备石,达到一定要求数量后可以 选择或升级装备
lv1:10个
lv2:20个
lv3:40个
...以此类推,
每达到一次要求 可以选择获取当前还未获取的装备,或升级现有装备,武器,盾牌,饰品,共用一个装备石要求池(如lv1 选择了1级武器,lv2 可以选择升级武器到lv2,或者获取lv1的盾牌和饰品)
英雄等级成长系统设计文档
基础类型 (HType) (英雄职业 暂时 无特殊区别)
- 战士 (warrior = 0):
- 远程 (remote = 1):
- 法师 (mage = 2):
经验值系统
升级经验计算
- 基础经验值: 100
- 递增规律: 每级递增10,且递增值本身也会递增
- 公式: 基础经验值 + 递增值累加
升级经验示例
- 1级→2级: 100经验
- 2级→3级: 110经验
- 3级→4级: 120经验
- 4级→5级: 130经验
属性增长机制
攻击力增长
| 英雄类型 |
增长公式 |
说明 |
| 战士 |
Math.floor(baseAp * 0.05) + 3 |
固定增长为主 |
| 远程 |
Math.floor(baseAp * 0.10) + 2 |
平衡增长 |
| 法师 |
Math.floor(baseAp * 0.15) + 1 |
百分比增长为主 |
生命值增长
| 英雄类型 |
增长公式 |
说明 |
| 战士 |
Math.floor(baseHp * 0.08) + 10 |
高增长 |
| 远程 |
Math.floor(baseHp * 0.05) + 5 |
中等增长 |
| 法师 |
Math.floor(baseHp * 0.03) + 3 |
低增长 |
怪物配置
基础属性
- 普通怪物: HP 25, AP 8, 经验值 15
- 远程怪物: HP 20, AP 12, 经验值 25
- 法师怪物: HP 18, AP 15, 经验值 35
配置原则
- 怪物HP ≤ 英雄AP × 3 (确保3次攻击击杀)
- 怪物AP = 英雄AP × (0.8-1.5倍)
- 经验值与怪物威胁度成正比
怪物波次系统设计
游戏模式设定
- 我方阵容: 2个英雄(1主将+1伙伴)
- 战斗方式: 怪物从右侧单线路向我方攻击
- 失败条件: 主英雄死亡
- 装备系统: 武器、盾牌、饰品各1件
每波怪物数量设计
第1-5波(新手期)
第6-10波(成长期)
第11-15波(挑战期)
第16波+ (无限模式)
怪物等级提升机制
每10波等级提升
等级对应的怪物强度示例
| 等级 |
普通怪物 |
远程怪物 |
法师怪物 |
| 1级 |
HP:25, AP:8 |
HP:20, AP:12 |
HP:18, AP:15 |
| 2级 |
HP:33, AP:10 |
HP:26, AP:15 |
HP:23, AP:19 |
| 3级 |
HP:41, AP:12 |
HP:32, AP:18 |
HP:29, AP:23 |
| 4级 |
HP:49, AP:14 |
HP:38, AP:21 |
HP:35, AP:27 |
| 5级 |
HP:57, AP:16 |
HP:44, AP:24 |
HP:41, AP:31 |
装备石系统设计
装备石获取机制
装备获取/升级成本
装备石需求示例
| 装备等级 |
绿色品质 |
蓝色品质 |
紫色品质 |
| 1级→2级 |
50石 |
80石 |
120石 |
| 2级→3级 |
100石 |
160石 |
240石 |
| 3级→4级 |
200石 |
320石 |
480石 |
| 4级→5级 |
400石 |
640石 |
960石 |
装备掉落策略
平衡性分析
装备影响下的战力增长
难度递增合理性验证
- 初期(1-5波): 怪物总威胁度略低于玩家,学习期
- 成长期(6-15波): 怪物威胁度与玩家装备提升同步
- 挑战期(16波+): 需要技能配合和装备优化才能通过
核心函数
经验值相关
getUpExp(currentLevel): 获取升级所需经验
getTotalUpExp(currentLevel, targetLevel): 获取总经验需求
属性增长相关
getUpAp(heroId): 获取攻击力增长
getUpHp(heroId): 获取生命值增长
getHeroTotalAp(heroId, level): 获取总攻击力
getHeroTotalHp(heroId, level): 获取总生命值
getLevelUpStats(heroId, currentLevel, targetLevel): 获取完整属性信息
怪物波次相关
getWaveMonsters(waveNumber): 获取指定波次的怪物配置
getMonsterLevel(waveNumber): 获取怪物等级
getEquipStoneDrops(monsterType, level): 计算装备石掉落
getEquipUpgradeCost(equipLevel, quality): 计算装备升级成本