Files
daluandou/召唤之战-核心玩法塔防版.md
huadexuan 23c559d9f7 ```
feat(gameplay): 提升单位检测范围并添加法师属性

- 将所有单位的检测范围从默认值提升至100
- 为法师预制体添加护盾、等级等新属性
- 为法师添加暴击、吸血、伤害减免等战斗属性
- 更换法师弹丸预设并调整相关参数
- 添加锚点交战Z线控制功能
- 更新玩家数据中配备的召唤师技能
- 移除多余的纹理配置文件
```
2026-10-07 23:59:17 +08:00

296 lines
17 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 召唤之战-核心玩法塔防版
> 版本:V1.0(2026-09-24 定稿)
>
> 定位:竖版手机**单机**休闲策略小游戏
>
> 单局时长:2~4 分钟
>
> 核心目标:在波次进攻中守住己方半场,出战英雄不被**同时全灭**
>
> 取代关系:本方案取代《召唤之战 - 核心玩法拆家版.md》(该文档已标记作废,拆家版存档到分支,脚本保留作素材)
## 一、核心定位
一句话规则:**开局在己方半场网格部署固定英雄阵容 → 敌人从上方按波次进攻 → 英雄自动走位交战 → 玩家手动放全屏技能 + 选增益卡 → 撑过波次**。
- 英雄由 AI 自动走位和作战,玩家**不微操走位**;
- 玩家的全部操作只有两类:**手动释放全屏技能**、**从 3 选 1 中挑增益卡**;
- 与同类游戏的差异:
- 对比 PvZ:英雄**会走位**自动交战,不是站桩塔;有英雄死亡/复活与全灭判负;
- 对比皇室战争:**没有基地/推塔**,胜负只看英雄存活;没有实时 PVP 数据强一致。
## 二、单局战斗结构
```text
开局部署阶段(在「卡组编辑页」完成,不进战斗场景)
卡组编辑页选好出战英雄(默认 5 个,可配置)
→ 点「编排阵型」→ 进入「阵型编排页」(底部 5 张卡可拖到网格格位)
→ 不点「编排阵型」则跳过,使用默认阵型:近战在前排、远程 / 法师在后排
→ 进入战斗后**直接开打**,没有额外的「开始」按钮
防守阶段(循环)
敌人从上方按波次生成 → 英雄自动走位接敌 → 击杀计数累积
→ 每累计 N 个击杀 → 弹出 3 选 1 增益卡
→ 玩家在关键波次手动释放全屏技能
→ 英雄死亡 20 秒后复活;每局 2 次「看广告立即复活」
结束阶段
场上全部出战英雄同时全灭 → 濒死窗口(3~5 秒)→ 窗口结束仍全灭 → 本局失败
撑过本关全部波次 → 通关结算(碎片 / 金币 / 抽卡次数)
```
## 三、战场与部署
- 竖版 9:16;沿用现有正交俯视相机方案(正交、约 54°,orthoSize 16);
- 战场为纵向长方形,敌人在 Z 轴正方向(上方)生成,己方在 Z 轴负方向(下方);
- **部署区 = 战场下方约 1/3 的网格**(DefenseTest 场景已建:5 行 × 6 列 = 30 格位,行距 3 / 列距 2.8,覆盖 Z ∈ [-5.35, 9.35]、X ∈ [-8.25, 8.25],约占可见深度 37%);
- **默认摆放规则**:近战在前排(靠近敌人一侧)、远程 / 法师在后排;玩家可手动改;
- **部署流程**:卡组编辑页选卡 → 点「编排阵型」→ 阵型编排页拖拽 5 张卡到格位 → 进入战斗直接开打;
- 出战英雄数量默认 5,数据结构支持可变(关卡 / 玩法可指定上限);
- 网格占位检测 + 吸附复用 `BattleSetupManager` 的布阵实现。
## 四、英雄行为规则
### 4.1 会走位自动交战
英雄复用 `UnitBase` 的寻敌 / 攻击 / 寻路逻辑(NavMesh + 根运动),会主动走向敌人开打。
### 4.2 格位锚点 + 追击上限(leash)—— 必须补的规则
因为英雄会走位、且没有基地,若完全用 `UnitBase` 现有的「视野内最近敌人就追」,英雄会一路推向敌人生成点,阵型瓦解、被逐个点掉。规则:
- 每个英雄绑定**自己的初始格位作为锚点**;
- 英雄最多离开锚点 **6~8 米**(建议 7,待调);
- 超出上限 → 放弃追击、返回锚点待机;
- 复活后回到**自己的锚点格位**再重新接敌;
- 锚点机制做成 `UnitBase` 的**可选开关**(默认关闭),不影响旧场景。
### 4.3 目标锁定
沿用现有规则:无有效目标时才寻敌;锁定后保持;目标死亡 / 失活 / 离开攻击范围才解锁。英雄在本玩法中没有「使命建筑」,只做单位寻敌。
## 五、胜负判定
- **无基地 / 核心**,胜负只看英雄存活;
- **判负条件**:同一时刻场上**全部**出战英雄都处于死亡态;
- 4 死 1 活不算;英雄 20 秒后复活,因此判负通常发生在「一波把全部英雄同时打死」的瞬间;
- **濒死窗口**:全灭时不立即结束,进入 **3~5 秒(建议 4)** 窗口;
- 窗口内有英雄自然复活、或玩家使用「看广告立即复活」→ 继续本局;
- 窗口结束仍全灭 → 本局结束(失败);
- **看广告立即复活**:每局 **2 次**,可立即复活全部(或指定)英雄;Phase 1 先留接口,不接广告 SDK;
- **通关**:撑过本关全部波次即胜利。
## 六、波次系统
### 6.1 波次定义
- 每关由若干**波次**组成,波次用 ScriptableObject 描述(敌兵种类、数量、生成间隔、生成列);
- 复用封存的 `WaveSpawner` 作为基础;
- 波次之间可有短暂间歇(喘息 + 看增益卡)。
### 6.2 敌人构成方案
采用「**角色单位 + 小怪**」混合,但小怪不做多种模型——**1 个底模 + 大小 / 颜色 / 行为变体**:
- 底模直接复用现有**蓝色怪物**(量产低价单位,已计划减面);
- 只调三个参数:**体型档位、颜色 tint、攻击方式**;
- 精英波直接用现有 9 个角色;**Boss 复用现有大体型单位(如石巨人)加配件**,不新做模型。
| 变体 | 体型 | 颜色 | 行为 | 出现章节 / 用途 |
|---|---|---|---|---|
| 快速兵 | 小 (0.7x) | 绿 | 近战、移速快、血少 | 第 1 章起,前期杂兵 |
| 远程兵 | 中 (1.0x) | 蓝 | 远程投射 | 第 1 章起,逼英雄不能站桩 |
| 自爆兵 | 小 (0.8x) | 红 | 冲脸自爆 AOE | 第 2 章起,反扎堆 |
| 重甲兵 | 大 (1.3x) | 灰 | 高血、低速 | 第 2 章起,前排肉 |
| 辅助兵 | 中 (1.0x) | 黄 | 给周围加速 / 回血 | 第 3 章起 |
| 精英 | 大 (1.5x) | 紫 | 复用现有角色 | 各章精英波 |
| Boss | 特大 (2.0x) | 酒红 | 石巨人 + 配件 | 章节关底 |
> 章节差异靠**新行为**(飞行、治疗、护盾)而不是新模型,控制制作量。
>
> 注意:蓝色怪物网格局部缩放极小(约 0.02,被放大上百倍),做描边 / 变体时需同步调整描边材质与缩放,否则描边会巨大化。
## 七、战斗内增益(3 选 1 特效卡)
### 7.1 触发与节奏机制
- **触发时机**:**每清理 2 波敌人触发一次**(单局 2~4 分钟约 8~10 波,全局共触发 **4 ~ 5 次**)。
- **金币 D 牌机制**:
- 金币的唯一用途是**在 3 选 1 弹窗中刷新(重刷/D 牌)卡片批次**。
- 刷新费用递增(如单次弹窗内第 1 次 20 金币,第 2 次 40 金币……),鼓励适度 D 牌。
### 7.2 40% 全体折扣法则与生成公式
- **目标选择**:只有 **6 个明确目标选项** —— **【英雄1】、【英雄2】、【英雄3】、【英雄4】、【英雄5】、【全体英雄】**。
- **40% 全体折扣法则**:
- 作用于**指定单体英雄**:享受 **100% 完整数值加成**。
- 作用于**【全体英雄】**:自动乘以 **40%(0.4)折算**。
- **卡片生成公式**:
$$\text{单张卡片} = \text{随机属性 (1~6)} + \text{随机品质 (初/中/高)} + \text{随机目标 (英雄1~5 或 全体)}$$
### 7.3 精密数值表(基于单局 4~5 次叠加)
| 序号 | 属性词条 | 初级 (白色 55%) | 中级 (紫色 35%) | 高级 (金色 10%) | 选【全体】时的折算数值 (40%) | 全局 5 次满叠期望提升 |
|---|---|---|---|---|---|---|
| 1 | **攻击力** | **+6%** | **+12%** | **+20%** | 初 **+2.4%** / 中 **+4.8%** / 金 **+8.0%** | +45% ~ +60% |
| 2 | **最大生命值** | **+10%** | **+18%** | **+30%** | 初 **+4.0%** / 中 **+7.2%** / 金 **+12.0%** | +50% ~ +80% |
| 3 | **攻击速度** | **+5%** | **+10%** | **+16%** | 初 **+2.0%** / 中 **+4.0%** / 金 **+6.4%** | +30% ~ +45% |
| 4 | **暴击率** | **+6%** | **+12%** | **+20%** | 初 **+2.4%** / 中 **+4.8%** / 金 **+8.0%** | +35% ~ +55% |
| 5 | **通用吸血** | **+4%** | **+8%** | **+14%** | 初 **+1.6%** / 中 **+3.2%** / 金 **+5.6%** | +20% ~ +35% |
| 6 | **技能充能** | **+8%** | **+15%** | **+25%** | 初 **+3.2%** / 中 **+6.0%** / 金 **+10.0%** | +40% ~ +65% |
> 注:增益卡可以增加「技能充能速度」,但元成长升级不能增加,保持该杠杆只留给战斗内 build。另外,单局金币刷新还包含【招财进宝 (+30金币)】与【紧急救急 (回复指定英雄30%血量)】两个特殊功能词条。
## 八、玩家技能系统(战斗主操作)
- **获取**:只能通过**抽卡 / 签到**获得(不通过升级解锁);
- **积攒**:**普攻命中积攒**(近战 / 远程都算)——这样「攻速增益」会间接加速技能,形成 build 联动;具体每次命中积攒量待调;
- **释放**:手动按钮,有 CD 或消耗满槽能量;
- **单局携带规则**:每局允许玩家选择携带 **2 ~ 3 个召唤师技能**;
- 冰冻 / 眩晕复用现有 `StatusEffectController`。
### 8.1 召唤师技能库(8 个详细方案)
| 序号 | 技能名称 | 技能定位 | 视觉表现 | 核心效果与数值机制 | 释放类型 | 建议 CD |
|---|---|---|---|---|---|---|
| 1 | **神圣赞歌** | 群体治疗/救急 | 全场己方升起金色光环与治愈粒子 | 瞬间恢复全场活着的己方英雄 **25% 最大生命值 + 100 点血量**,并在后续 4 秒内每秒持续回复 2% 最大生命值。 | 全屏瞬发 | 25s |
| 2 | **天雷狂轰** | 全屏伤害/清杂兵 | 天空降下多道蓝色落雷击中全屏敌人 | 对全场所有敌方单位造成 **120 点魔法伤害**,并有 **30% 概率造成 1.5 秒眩晕**。 | 全屏瞬发 | 20s |
| 3 | **陨石轰炸** | 局部高伤/砸 Boss | 指定区域 1 秒后陨石砸下,产生烈焰与裂痕 | 对点击位置 **3.5 米圆环区域** 造成 **300 点物理伤害**,并将范围内敌人向外**击退 1.5 米**。 | 地面点选 | 22s |
| 4 | **绝对零度** | 强力控场/争取时间 | 战场出现寒霜,敌人身上覆盖冰晶 | **完全冻结全场敌人 3.5 秒**(无法移动/攻击,Animator 暂停),冰冻解除时造成 40 点微量冰霜伤害。 | 全屏瞬发 | 30s |
| 5 | **斩杀风暴** | 残血收割/战术秒杀 | 全屏刮起暗紫色风刃旋风 | 对全场敌人造成 **80 点基础伤害**;若敌人当前血量 **< 25%**,直接触发**斩杀**(血量清零)。 | 全屏瞬发 | 25s |
| 6 | **庇护圣盾** | 预判防守/抵御高伤 | 己方英雄身体生成透明蓝色六角护盾 | 为全场己方英雄附加持续 6 秒的护盾,吸收相当于英雄 **30% 最大生命值** 的伤害。 | 全屏瞬发 | 24s |
| 7 | **虚弱诅咒** | 减速易伤/爆发配合 | 敌人头顶出现紫色诅咒符文与紫雾 | 持续 6 秒内,全场敌人**移速降低 40%**,受到的所有伤害**增加 35%**。 | 全屏瞬发 | 20s |
| 8 | **岩石傀儡** | 临时肉盾/前排挡伤 | 在指定空地拔起 2 个石傀儡 | 在指定位置召唤 2 个 **500 HP 的石傀儡**(存在 8 秒)吸引仇恨,被击毁或超时爆裂造成 **80 点范围伤害**。 | 地面点选 | 28s |
## 九、元成长系统(Phase 2 起,Phase 1 不做)
### 9.1 卡牌与稀有度
**稀有度 = 机制复杂度,不是数值强度**:
| 边框 | 稀有度 | 定位 | 升级难度 |
|---|---|---|---|
| 蓝 | 普通 | 纯数值 | 低 |
| 紫 | 稀有 | 多一个技能效果 | 中 |
| 橙 | 史诗 | 改变技能形态 | 高 |
| 酒红 | 传奇 | 改变玩法规则 | 最高 |
- 边框顺序:**蓝 < 紫 < 橙 < 酒红**(酒红 = 传奇);
- 稀有度只让卡「更好玩一点、更强一点」,主要靠**更难升级**来平衡。
### 9.2 碎片 / 解锁 / 升级
- **解锁**:需要 5 张碎片;
- **升级**:每级所需碎片递增,稀有度越高基数越大(具体曲线待定);
- **升级增加**:生命、普攻伤害、技能伤害、解锁新的技能效果;
- **升级不增加**:普攻积攒技能速度(这条杠杆只留给战斗内增益卡)。
### 9.3 抽卡
- **抽卡次数**:通关获得 1 次,**看广告翻倍**;
- **全屏技能只能抽卡 / 签到获取**;
- **传奇卡(酒红)**:主线**高难度复刷**才有概率掉落,或通过抽卡;
- 建议教学关直接送 1~2 个技能,保证玩家早期能体验技能系统。
### 9.4 难度滑条
- 每关可调**难度倍数**(建议 1.0x~3.0x);
- **主线推进用固定基线难度(卡点在这里)**;
- **刷碎片 / 金币可自由调难度,难度越高收益倍率越高**(传奇碎片只在高倍率掉);
- 两条线分开,避免「调低难度就绕过卡点」。
### 9.5 关卡章节
- 主线按章节推进,每章适当提升难度并解锁不同卡牌;
- 每章引入新机制(新敌兵行为),不只是数值放大;
- **大关**是卡点(获取 / 结算碎片的关键关),用于推动玩家升级、看广告。
### 9.6 无尽模式
- 按波次给**金币**(升级卡组的消耗来源);
- 波次无限递增,可调难度以适配高等级玩家;
- 定位:**金币来源**;主线复刷 → 碎片来源。
### 9.7 名义 PVP(异步竞技场)
- 名义 PVP:不做数据强一致,不做邀请对战;
- 可获取「同等级玩家的阵容和摆放位置」(无后端时先用预设 + 随机偏移模拟);
- **结果可以对玩家有利**(甚至两边都赢),但**本地必须有段位 / 奖励变化**,否则玩家没有动力;
- 参考形态:异步竞技场(剑与远征式)。
### 9.8 疲劳系统
- **确定要做**(2026-09-24 用户确认);
- 单机 + 无挂机奖励的前提下,硬锁疲劳易显得纯惩罚,因此**优先用「收益衰减」而不是「不能玩」**(超过疲劳阈值后金币 / 碎片收益打折);
- 作用范围建议先只覆盖**无尽模式**(金币农场),主线关卡是否计入待定;
- 具体阈值、衰减曲线、恢复速度待细化。
## 十、数值基准
- 英雄基础属性沿用《角色数值设计.md》的 1 级基准表与升级成长建议;
- 敌人强度按「章节基线 × 难度倍数」计算;
- 波次强度建议曲线(待调):第 1 章 3~5 波,敌人数量与质量线性上升,末尾一波含精英 / Boss。
## 十一、UI 布局
```text
┌──────────────────────────────┐
│ 顶部:波次进度 / 击杀计数 / 暂停 │
│ │
│ 战场(2.5D) │
│ 上方:敌人生成区 │
│ 下方:己方半场部署网格 │
│ │
├──────────────────────────────┤
│ 技能按钮(全屏技能,CD / 能量) │
└──────────────────────────────┘
```
- 阵型编排页:底部为 5 张可拖拽卡片,网格高亮显示可放置格位;进入战斗后直接开打(无「开始」按钮);
- 战斗阶段:底部为全屏技能按钮;3 选 1 增益卡为战斗内弹窗(覆盖式);
- 单位头顶血条沿用 `WorldHealthBar`,伤害数字沿用 `DamageNumber`。
## 十二、开发落地
### 12.1 可直接复用
| 系统 | 现有实现 |
|---|---|
| 单位行为(寻敌 / 攻击 / 寻路 / 根运动) | `UnitBase` |
| 卡牌与升级数据 | `CharacterData` / `PlayerCharacterData` / `PlayerDataManager` |
| 能量 / 资源 | `ManaSystem` |
| 投射物 | `Projectile` |
| 血条与伤害数字 | `WorldHealthBar` / `DamageNumber` |
| 控制效果(冰冻 / 眩晕) | `StatusEffectController` |
| 网格布阵(吸附 / 占位) | `BattleSetupManager` |
| 波次刷怪 | `WaveSpawner`(封存中) |
| 相机 | `CameraFollow` / 现有正交相机方案 |
| 固定卡组与轮转 | `BattleDeckCycle` / `CastleSpawnManager` |
### 12.2 需要新做
- 波次关卡数据(ScriptableObject:敌兵构成 / 间隔 / 生成列);
- 英雄格位锚点 + 追击上限(`UnitBase` 可选开关);
- 击杀计数 + 3 选 1 增益卡系统与卡池;
- 全屏技能按钮 + 普攻命中积攒能量;
- 胜负判定(全灭 + 濒死窗口 + 广告复活接口)。
### 12.3 封存 / 不再作为主线
- 拆家版:`AttackTargetController` 攻击标志、`CrystalMineCapture` 据点争夺、城堡拆家逻辑 —— 存档到分支,脚本保留作素材;
- `BuildingPlacementManager` / `Barracks` / `GoldMine` / `SummonerDuelManager` —— 封存素材。
### 12.4 分阶段
- **Phase 1(垂直切片,只做 1 个战斗场景)**:网格部署 5 英雄 + 3 波敌人 + 3 选 1 增益 + 全屏技能 + 胜负判定。**不碰**抽卡 / 碎片 / 升级 / 关卡 / 无尽 / PVP / 疲劳 / 广告 SDK。
- **Phase 2**:元成长(碎片 / 升级 / 抽卡)+ 第一章关卡。
- **Phase 3**:无尽 + 难度滑条。
- **Phase 4**:名义 PVP、疲劳、签到、广告。
## 十三、待确认项
- 技能积攒:确认「普攻命中积攒」(当前建议);
- 追击上限 leash 数值(当前建议 7 米);
- 增益卡叠加上限与递减规则;
- 疲劳系统的作用范围与衰减曲线(已确定要做,范围 / 数值待细化);
- 网格尺寸与相机取景(Phase 1 建场景时确定)。