# 《卡制工程》超大内容扩充与无尽工坊重构计划
## Summary
本次更新按“可直接发布的大型内容版本”制作:
- 音乐扩充至 **10 个类别,每类 30 首,共约 300 首纯音乐**。
- 无尽工坊改为 **5 级主题循环、5 个头目家族、共 25 种头目变体**。
- 制作至少 **205 个敌人头像、450 张独立敌方卡面**。
- 击败第 5 级头目后播放短剧情并进入下一轮回;敌人继续增强,玩家卡牌、插件、宝藏、生命与货币全部保留。
- 素材允许 Public Domain、CC0、CC BY、CC BY-SA;发布采用 Steam 无 DRM,并附带完整素材来源包。
## 内容数据架构
新增数据驱动的 `EndlessContentDB`,将头目、敌人、卡牌、奖励和素材从 `EndlessRunState` 的硬编码中拆出。
核心数据接口:
- `BossVariantDef`
- `id/family_id/act_level/name/story/mechanics/portrait_id/card_pool/reward_pool/music_tags`
- `EnemyDef`
- `id/theme/role/portrait_id/deck_pool/behavior_tags`
- `role` 固定为 `normal`、`elite`、`boss`
- `EnemyCardBlueprint`
- `id/name/cost/stats/skills/art_id/theme/tier`
- `AssetDef`
- `id/path/role/theme/author/source/license/modified`
- `EndlessRunState` 新增:
- `cycle_index`
- `act_level`
- `boss_variant_id`
- `act_theme_id`
- `combat_index_in_act`
- `run_scrap`
- `cycle_protocols`
- `discovered_bosses`
规则校验器必须阻止:
- 敌人头像与卡牌卡面使用同一素材。
- 普通、精英、头目头像混用。
- 不同名字卡牌共享卡面。
- 同名字卡牌在不同战斗中随机更换卡面。
- 缺少来源或许可证的素材进入发布包。
旧存档迁移时,根据旧 `ante` 转换为 `act_level/cycle_index`,保留牌库、插件与资源,重新生成当前地图和敌人。
## 五级无尽循环
每一级开始时,从该级对应家族的 5 个头目变体中随机选择一个,并提前向玩家展示。相邻轮回优先避免重复。
| 等级 | 头目家族 | 五种变体机制 |
|---|---|---|
| 1 | 齿轮工坊 | 蜂群铺场、节奏抢攻、废料回收、低费复制、突袭连击 |
| 2 | 熔炉城 | 护甲嘲讽、玻璃大炮、燃烧直伤、群体强化、吸血吞噬 |
| 3 | 冰封档案馆 | 冻结控制、镜像复制、沉默清除、费用延迟、圣盾防守 |
| 4 | 废料墓园 | 亡语爆发、剧毒、衍生物、死亡转护甲、英雄爆破 |
| 5 | 核心圣殿 | 回合末反应堆、奇偶费用、无限连锁、插件干扰、适应玩家牌库 |
每个头目变体会影响整级内容:
- 地图配色、背景、音乐和剧情文本。
- 普通敌人与精英敌人的头像池。
- 敌方卡池、技能权重和战斗机制。
- 工作台、事件、商店商品与胜利奖励。
- 头目专属卡牌、专属宝藏和专属插件。
每级地图调整为 8 层、4 条路线,包含战斗、精英、事件、工作台、商人和头目节点。每次战斗胜利仍提供三选一奖励。
击败第 5 级头目后:
1. 播放三段式短剧情。
2. 从三个“轮回协议”中选择一个永久局内效果。
3. `cycle_index += 1`,回到第 1 级。
4. 完整保留当前构筑并生成更强的新地图。
成长公式:
- 敌方生命:`基础值 × 1.32^(等级-1) × 1.10^(本级战斗数) × 2.0^轮回数`
- 敌方卡牌预算:`基础值 × 1.24^(等级-1) × 1.07^(本级战斗数) × 1.65^轮回数`
- 奖励强度:`基础值 × 1.20^(等级-1) × 1.06^(本级胜场) × 1.50^轮回数`
高费成长路径:
- 第 1 级主要奖励 1–3 费卡。
- 第 2 级开放 4–5 费强卡。
- 第 3 级开放 6–7 费构筑核心。
- 第 4 级开放 8–9 费终结牌。
- 第 5 级与后续轮回开放 10 费神话蓝图、费用改造和技能翻倍。
## 头目、敌人与卡面素材
目标内容量:
- 25 个独立头目头像。
- 每个家族 24 个普通敌人头像、12 个精英头像。
- 总计至少 205 个敌人头像。
- 每个家族 50 张公共敌方卡牌。
- 每个头目变体 8 张专属卡牌。
- 总计至少 450 张拥有独立名字和独立卡面的敌方卡牌。
视觉统一为彩色像素卡牌:
- 每个家族使用独立的 12–20 色主题调色板。
- 开源素材统一进行裁切、像素化、描边、调色和透明背景处理。
- 头目、敌人头像与卡面分别使用不同构图和边框。
- 图片按需加载并使用缓存,禁止启动时一次性载入全部素材。
主要素材来源包括 [OpenGameArt](https://opengameart.org/content/faq)、[Kenney](https://kenney.nl/support)、[Wikimedia Commons](https://commons.wikimedia.org/wiki/Commons:Reusing_content_outside_Wikimedia) 与 [Game Icons](https://game-icons.net/about.html)。排除 NC、ND、GPL 和许可不明素材。
## 插件、奖励与商店
- 主板插件由当前 6 个扩充至 **30 个**,分为铺场、高费、亡语、防御、伤害、经济六类。
- 插件槽仍为 5 个;再次获得相同插件时升级至二级、三级,而不是浪费奖励。
- 新增 **15 个轮回协议**,作为击败第 5 级后的长期局内成长。
- 局外商店由 9 项扩充至 **30 项永久升级**,按最高等级、最高轮回和已击败头目解锁。
- 地图商人使用局内废料,出售蓝图、技能印花、卡牌删除、费用改造、插件升级和主题克制道具。
- Boss 奖励固定包含主题宝藏、专属高费卡或插件升级三选一。
- 所有新增插件、宝藏、头目机制和商店项目提供六语言名称与完整说明。
## 音乐重构
音乐库扩充为全纯音乐的 10 类 × 30 首:
- 古典名作
- 巴洛克与室内乐
- 管弦与电影感
- 电子
- 合成器浪潮
- 芯片音乐
- 流行器乐
- 摇滚与金属器乐
- 爵士与摇摆
- 世界音乐与氛围音乐
古典曲目以用户提供的五首作品为审美基准,并收录这些作品的可商用授权录音版本。核心曲目还包括《贝多芬第五交响曲》《Eine kleine Nachtmusik》《卡农》《蓝色多瑙河》《威廉退尔序曲》《月光》《天鹅湖》《匈牙利舞曲第五号》等耳熟能详的作品。
用户提供的本地文件仅在具体录音许可证确认后使用;否则替换为同一作品的 Public Domain、CC BY 或 CC BY-SA 录音。
音乐系统按场景选曲:
- 主菜单:古典、爵士、流行器乐。
- 制卡与商店:巴洛克、芯片、氛围音乐。
- 普通战斗:电子、摇滚、合成器。
- 精英与头目:管弦、金属、主题专属音乐。
- 剧情与轮回:古典慢板、世界与氛围音乐。
所有曲目统一响度、去除异常静音、验证解码,并在清单中记录作品、作曲家、演奏者、来源与具体录音许可证。
## 制己头像编辑器
新增共享 `AvatarRenderer`,编辑器、本地战斗和联机头像全部使用同一渲染流程。
- 支持导入 PNG、JPG、WebP。
- 导入后可调整缩放、水平位置和垂直位置。
- 保存标准化的正方形头像与裁切参数。
- 编辑器显示与战斗完全一致的 104×104 实战预览。
- 联机头像从同一标准化图像缩放至 128×128,不再二次自动裁切。
- 绘制内容、导入图片和实战预览进行逐像素一致性测试。
## 发布与验收
- Steam 发布不启用 DRM。
- 单独附带 `THIRD_PARTY_ASSETS`、许可证、原始来源链接和 BY-SA 修改说明。
- 为 BY-SA 修改素材提供可再分发的素材包。
- 批量替换前备份现有音乐清单、无尽存档结构和素材目录。
验收测试:
- 25 个头目变体均可生成,且会正确改变整级内容。
- 击败第 5 级后正确播放剧情、进入新轮回并保留完整构筑。
- 连续三个轮回敌人与奖励均持续指数成长。
- 450 张敌方卡牌的名字、卡面映射稳定且无跨卡重复。
- 普通、精英、头目头像严格区分,卡面与头像不重复。
- 300 首音乐均可播放,每类不少于 30 首,无人声、无许可缺失。
- 制己预览、本地战斗头像和联机头像构图一致。
- 旧无尽存档能够迁移,普通对战与联机模式不受新无尽规则影响。
