chore(bridge): 删除桥接包的提交记录和Git属性配置

删除了 .codely-bridge-commit 文件中存储的提交哈希值
移除了 .gitattributes 文件中的行结束符配置规则
```
This commit is contained in:
huadexuan committed 2026-09-24 21:41:14 +08:00
1 parent d26d323912
commit 13d0c80335
392 files changed
+1814 -1895

No files matched your search

+258
View File
@@ -0,0 +1,258 @@
# 召唤之战-核心玩法塔防版
> 版本: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 建场景时确定)。