Files
daluandou/召唤之战-核心玩法塔防版.md
T
huadexuan 13d0c80335 ```
chore(bridge): 删除桥接包的提交记录和Git属性配置

删除了 .codely-bridge-commit 文件中存储的提交哈希值
移除了 .gitattributes 文件中的行结束符配置规则
```
2026-09-24 21:41:14 +08:00

259 lines
13 KiB
Markdown
Raw 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 个,可配置)
→ 点到/拖到己方半场网格(默认近战在前、远程在后,也可手动摆)
→ 点「开始」进入战斗
防守阶段(循环)
敌人从上方按波次生成 → 英雄自动走位接敌 → 击杀计数累积
→ 每累计 N 个击杀 → 弹出 3 选 1 增益卡
→ 玩家在关键波次手动释放全屏技能
→ 英雄死亡 20 秒后复活;每局 2 次「看广告立即复活」
结束阶段
场上全部出战英雄同时全灭 → 濒死窗口(3~5 秒)→ 窗口结束仍全灭 → 本局失败
撑过本关全部波次 → 通关结算(碎片 / 金币 / 抽卡次数)
```
## 三、战场与部署
- 竖版 9:16;沿用现有正交俯视相机方案(约 43°,orthoSize 按取景微调);
- 战场为纵向长方形,敌人在 Z 轴正方向(上方)生成,己方在 Z 轴负方向(下方);
- **部署区 = 己方半场靠后的网格**,建议 6 列 × 3 行、格距约 2.5~3 米(Phase 1 建场景时按取景微调);
- 默认摆放规则:**近战在前排(靠近敌人一侧)、远程/法师在后排**;
- 出战英雄数量默认 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 特效卡)
- **触发**:累计击杀达到阈值(建议每 20~30 个,待调)后弹出 3 选 1;
- **形式**:从卡池随机 3 张,玩家选 1,立即生效(可选持续到本局结束);
- **首版卡池(4 种)**:加攻击 / 回复血量 / 加攻速 / 加技能积攒速度;
- **后续扩展**:加射程、加暴击、召唤援军、短时无敌等;
- **注意**:增益卡**可以**加「技能积攒速度」,但**元成长升级不能加**——两者是两个独立数值字段,不要混用;
- 需要有**叠加上限 / 递减**,避免长局数值失控。
## 八、玩家技能系统(战斗主操作)
- **获取**:只能通过**抽卡 / 签到**获得(不通过升级解锁);
- **首版技能**:全屏伤害、治疗、冰冻(范围 / 持续);
- **积攒**:**普攻命中积攒**(近战 / 远程都算)——这样「攻速增益」会间接加速技能,形成 build 联动;具体每次命中积攒量待调;
- **释放**:手动按钮,有 CD 或消耗满槽能量;
- 冰冻 / 眩晕复用现有 `StatusEffectController`。
## 九、元成长系统(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 疲劳系统
- 单机 + 无挂机奖励的前提下,硬锁疲劳意义不大、易显得纯惩罚;
- **建议**:要么不做;要么**只作用于无尽模式**,且用「收益衰减」(超过 N 次后金币 / 碎片打折)而不是「不能玩」。
## 十、数值基准
- 英雄基础属性沿用《角色数值设计.md》的 1 级基准表与升级成长建议;
- 敌人强度按「章节基线 × 难度倍数」计算;
- 波次强度建议曲线(待调):第 1 章 3~5 波,敌人数量与质量线性上升,末尾一波含精英 / Boss。
## 十一、UI 布局
```text
┌──────────────────────────────┐
│ 顶部:波次进度 / 击杀计数 / 暂停 │
│ │
│ 战场(2.5D) │
│ 上方:敌人生成区 │
│ 下方:己方半场部署网格 │
│ │
├──────────────────────────────┤
│ 技能按钮(全屏技能,CD / 能量) │
└──────────────────────────────┘
```
- 部署阶段:底部为出战英雄卡组 + 「开始」按钮;
- 战斗阶段:底部为全屏技能按钮;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 建场景时确定)。