# 《33号远征队》风格 Boss 战:AI 编码能力基准题完整提示词
> 使用方式:把下面“提示词开始”到“提示词结束”的全部内容原样发给参测模型,并同时附上参考视频 `战斗视频—720P.mp4`。题面已经包含足够完整的机制、数值、演出和验收要求;即使模型不能读取视频,也应当能独立完成高相似度的可玩复刻。
>
> 建议统一给所有参测模型相同的空仓库、运行环境、时间限制和联网权限。评分时以实际运行结果、自动化测试和源代码为准,不以模型自述为准。
---
# 提示词开始
单独创建一个项目文件夹,仅允许使用内置浏览器进行调试。
你是一名资深游戏玩法程序员、战斗系统设计师、技术美术和交互工程师。你的任务不是写策划案、静态页面或战斗动画,而是在当前工作区内直接实现并交付一款可完整游玩的 3D 浏览器 Boss 战原型。它需要尽最大可能复刻《光与影:33号远征队》的战斗观感,参考附件中的 1280×720、约 5 分钟视频,重点复刻视频里的“四手剑客”Boss 战。
你必须从实现一直做到验证完成,不要停留在计划、伪代码或半成品。先检查仓库和可用依赖;沿用已有技术栈。若仓库为空,默认使用 Vite + TypeScript + Three.js,React/React Three Fiber 可选。允许安装合理依赖和使用联网资料,但最终项目必须在本地一条命令启动。核心战斗逻辑必须与渲染解耦、可测试、可重放,不能靠一串写死的动画假装在计算战斗。
若参考视频与下述自包含规格有细微冲突,以本规格的可玩性与验收规则为准;视觉、镜头和节奏优先参考视频。
## 1. 最终目标
实现一场从难度选择、战斗入场、玩家回合、Boss 回合、阶段转换、胜败判定到战后结算都完整闭环的单关 Boss 挑战:
- 固定三人队伍:熙艾尔、吕涅、玛埃尔。
- 单个 Boss:四手剑客。
- 标准难度下,普通玩家首次游玩约 5~8 分钟结束;必须既能获胜,也能失败。
- 所有技能、行动点、伤害、元素克制、状态、护盾、破防、角色资源、行动顺序、格挡、技能连协和反击都由真实状态驱动。
- 鼠标完成菜单、技能、道具、出招方式和目标选择;空格键是所有实时判定的唯一键,包括格挡、跳跃语义、技能连协、追加攻击和完美格挡后的反击。
- 至少提供“远征 / 标准 / 专家”三档难度,且不能只修改血量。判定窗口、招式节奏、AI、提示强度和阶段招式都要有实质区别。
- 战斗界面、镜头、色调、技能面板、Boss 攻击节奏和结算画面尽量贴近视频,但代码、模型、材质、音频必须自行制作或使用许可明确的素材;不得直接提取、打包或分发原作资源。
## 2. 不可妥协的完成标准
以下均为硬性要求:
1. 首屏就是难度选择或战斗入场,不得制作营销落地页。
2. 进入战斗后无需键盘移动;玩家可完全用鼠标和空格完成整场战斗。
3. 三名角色都必须可轮流行动,各自有独立职业机制和至少 6 个可用技能。
4. Boss 至少有 3 个阶段、5 种基础招式和 1 种低血量终结技。
5. 至少有物理、火、冰、雷、土、光、暗 7 类伤害,以及弱点、抗性、暴击、燃烧、标记、破防、护盾、强力、坚壳、迅捷、迟缓、倒逆等机制。
6. 技能释放期间必须有与动画事件绑定的实时按键判定;不同技能的提示次数、时间点和失败后果不同。
7. Boss 每一段可防御攻击必须拥有独立判定窗口;不能“一次按键格挡整套连击”。
8. 完美格挡整套攻击后必须进入独立的追击/反击窗口,玩家再次按空格才触发队伍反击。
9. 必须正确处理暂停、失焦、重复按键、长按、连续重启、角色死亡、复活、插队行动、阶段切换和计时器清理。
10. 必须有胜利、失败、重试和返回难度选择;胜利结算的数据必须来自本局战斗统计。
11. 必须提供自动化测试,至少覆盖战斗公式、时序判定、状态持续、行动队列和重启清理。
12. 完成后必须实际运行测试和构建,启动本地服务,并给出可访问地址及操作说明。
漂亮但不可玩的画面不算完成。缺少实时格挡/连协的作品,即使美术很好也只能得到低分。
## 3. 目标画面与场景
### 3.1 战斗场地
使用全屏、无边框的 16:9 3D 场景,不要把战斗放在装饰性卡片里:
- 圆形、开裂的黑色岩石/干涸颜料地面,半径约 10 米;裂缝中有暗红色反光液体。
- 远景是白骨般的花簇、堆积的颜料残片和倾斜巨石;空气中持续飘落黑色碎屑与画笔般的微粒。
- 整体为暖棕雾、骨白、炭黑、血红、金色和紫色的多色调画面;不可把整个界面做成单一紫色或单一深蓝色。
- 主光来自 Boss 后上方的暖金色逆光,角色有冷色轮廓光;地面保留湿润反射,但不要强到影响 UI 可读性。
- 允许用程序化几何、低多边形模型和自制纹理,但必须呈现真实 3D 深度、阴影、粒子和角色动画,不能把视频或静态截图当背景伪装成游戏。
### 3.2 四手剑客
- 约为普通角色 1.8 倍高的修长人形 Boss,四臂、面具/头盔、破损的黑白长袍、背后垂落羽翼状布片。
- 两把主剑分别发出金色/橙色和紫色/暗影光,另外两臂在招式中抽出短刃或形成剑影。
- 待机时有轻微呼吸、布料摆动、剑光脉冲;进入新阶段时,姿态、粒子密度、剑光和背景亮度均有变化。
- 受击必须有局部闪白、材质溶解边缘、短促后仰、伤害数字和命中停顿;重击需要更明显的镜头震动,但不能让玩家失去判定信息。
### 3.3 队伍外观与站位
- 熙艾尔:棕黑发、暗色长外套,持镰刃/弯刃,技能表现以黑色墨迹、月相、紫色预言符号为主。
- 吕涅:黑发施法者,法杖或悬浮法器,技能表现以红、蓝、绿、黄、白五色“异色/元素印记”为主。
- 玛埃尔:红棕发剑士,轻甲和长剑,动作干净快速,姿态变化用白、红、金三种轮廓光表达。
- 队伍以浅弧形站在镜头近侧,Boss 位于对面。当前行动者向前半步,其余角色保持可见但不过度抢镜。
### 3.4 特效与音频
- 火:红橙粒子、余烬、灼烧层数;冰:青白碎晶、地面霜纹;雷:黄色细闪;土:绿色岩屑;光:金白;暗:紫黑墨迹。
- 完美判定必须有独特的高频金属声、短暂金色环和 40~70ms 命中停顿;普通格挡为较低沉的撞击声;失败为闷响和红色边缘脉冲。
- 技能连协提示出现前有轻微升调音,判定时声音必须与实际逻辑时间一致。
- 使用原创或许可明确的音频;不要求配音。提供总音量和静音按钮。
- 支持“减少镜头晃动”,开启后保留判定反馈但明显减弱震屏、动态模糊和快速推拉。
## 4. UI 与镜头复刻
### 4.1 常驻 HUD
- 顶部正中:细长红色 Boss 血条,下方写“四手剑客”,血条上有 68% 和 32% 的细小阶段刻度;其下显示破防槽和当前状态图标。
- 左侧:纵向行动顺序时间线,显示未来至少 8 个行动头像;当前行动头像有金色描边,Boss 额外行动也必须真实反映在队列中。
- 右下:三名角色横向排列的肖像、当前/最大生命、蓝色行动点菱形、白色护盾层数、职业资源和状态图标;当前角色轻微放大并有金色指示。
- 中央伤害数字按元素着色:普通白色、弱点金色、抗性灰色、治疗青绿;暴击、弱点、完美分别有文字,但同一时刻不要堆叠遮挡。
- 状态图标必须可悬停查看名称、层数、剩余回合和实际效果;只用图标时必须有工具提示。
### 4.2 玩家指令
普通回合采用视频中的斜向/弧形悬浮菜单,位于当前角色附近,包含:
- `攻击`:基础多段攻击,赚取行动点,并带空格连协判定。
- `技能`:打开当前角色的 6 项技能列表。
- `瞄准`:进入自由瞄准,用鼠标击破 Boss 弱点;每发消耗 1 AP。
- `道具`:疗愈亮色、精力亮色、复苏亮色。
技能列表不是铺满屏幕的大卡片网格,而是在角色肩旁出现半透明墨迹面板:技能名、AP 消耗、元素、目标类型和短描述对齐排列;悬停时在旁边显示完整说明。选中技能后相机推近角色肩后,Boss 仍保持在画面中;进入目标选择后,Boss 或队友出现清晰轮廓与红色叉形/金色菱形标记,左上显示即将释放的技能说明。右键、界面返回按钮或 Escape 可以返回上一层,但完成整场战斗不依赖 Escape。
### 4.3 镜头状态
实现可插值、可取消的镜头状态机,不得在重启后残留旧动画:
| 状态 | 目标镜头 |
|---|---|
| 等待/行动顺序 | 当前角色身后 3/4 视角,FOV 42°,同时看见三人和 Boss |
| 指令菜单 | 缓慢横移到当前角色腰部高度,Boss 保持在画面中心偏右 |
| 技能列表 | 肩后中景,技能面板沿视线方向倾斜约 4° |
| 目标选择/瞄准 | 推近 Boss,FOV 36°;鼠标控制准星,角色位于边缘 |
| 玩家技能 | 根据每段攻击切换 2~4 个预设机位,提示出现时不得遮住提示或目标 |
| Boss 攻击 | 切到被攻击角色正面/侧面,Boss 动作完整可读;常驻 HUD 淡出,只保留生命和空格提示 |
| 完美反击 | 0.9 倍慢动作开始,三名存活角色依次切镜反击,结尾拉回全景 |
| 阶段转换 | 1.5~2.5 秒低机位环绕,不能跳过玩家下一行动或重复触发 |
| 胜利 | Boss 解体的低机位慢镜后切斜向结果界面 |
镜头运动必须使用缓动和四元数插值,禁止瞬移、穿模和频繁 180° 翻转。判定期间镜头可以富有动感,但攻击接触点和 Boss 手臂预备动作必须始终可见。
## 5. 输入规范
### 5.1 鼠标
- 左键点击菜单、技能、道具、难度和目标。
- 瞄准模式下,鼠标移动准星,左键射击;界面提供明确的“结束瞄准”按钮。
- 所有可点击区域必须与视觉区域一致,禁用状态必须显示原因,例如“AP 不足”。
- 动画锁定期间不得穿透点击到后面的菜单。
### 5.2 空格键
空格是唯一的实时判定键,具体含义由当前子状态决定:
1. `SKILL_PROMPT`:玩家技能连协或追加段数。
2. `DEFENSE_HIT`:格挡/完美格挡;若视觉提示为地面横扫,则表现为“跳跃”,但仍按空格。
3. `COUNTER_PROMPT`:整套完美格挡后的反击。
4. 其他状态:不产生战斗效果,不能提前为下一次判定蓄键。
只接受 `keydown` 的上升沿;忽略 `event.repeat`,长按不得连续成功。一个按键事件只能被一个尚未结算的时间点消费。禁止把一次按键同时算作两段格挡或既算最后一段格挡又算反击。
## 6. 战斗引擎架构
核心逻辑应是纯 TypeScript/JavaScript 模块或同等可测试模块,不直接依赖 Three.js 对象。至少包含以下概念:
- `BattleState`:角色、Boss、队列、阶段、库存、难度、随机种子、统计数据。
- `ActorState`:生命、AP、攻击、防御、速度、元素修正、护盾、破防值、状态、职业资源、是否存活。
- `SkillDefinition`:数据驱动的目标类型、AP、元素、总威力、命中权重、判定时间、状态效果、姿态/资源变化。
- `ActionInstance`:施法者和目标快照、开始时间、命中事件、提示事件、已消费输入、取消令牌。
- `TimelineEvent`:绝对模拟时间、事件 ID、类型、目标、是否已经结算。
- `BattleLog`:每次行动、伤害、治疗、状态、输入误差、随机结果和状态转换,可导出 JSON。
建议使用显式有限状态机:
`BOOT → DIFFICULTY_SELECT → INTRO → TURN_START → COMMAND → TARGET_SELECT → PLAYER_ACTION → SKILL_PROMPTS → RESOLVE → ADVANCE_QUEUE → BOSS_TELEGRAPH → DEFENSE_SEQUENCE → COUNTER_WINDOW → RESOLVE → PHASE_TRANSITION / TURN_START → VICTORY / DEFEAT`
必须保证任意时刻只有一个权威战斗子状态能消费输入。不要用散落在组件里的多个布尔值拼凑流程。
### 6.1 行动顺序
- 使用可预测的时间线队列,而不是固定三人后 Boss 的轮转。
- 每个角色维护 `nextActAt`;行动后增加 `1000 / speed × actionDelay`。基础攻击 `actionDelay=1.0`,道具 `0.95`,普通技能 `1.0`,重技能 `1.15`,Boss 终结技 `1.25`。
- 队列始终按 `nextActAt`、稳定序号排序。死亡角色从未来队列移除;复活后从当前时间加一个正常行动间隔重新插入。
- 熙艾尔的“命运干预”将目标插到队首并给 4 AP,但同一角色不能在一次未结束的行动链中无限互相插队。
- 阶段转换是独立事件,不消耗或重复任何角色回合。
### 6.2 行动点 AP
- 所有角色 AP 上限为 9,起始值见角色表。
- 基础攻击命中获得 1 AP;基础攻击的最后一个连协达到“完美”再获得 1 AP。
- 完美格挡每段获得 1 AP,但每套 Boss 攻击最多由此获得 3 AP;普通格挡不获得 AP。
- 技能在开始行动时一次性扣除 AP。行动被合法取消前可退款;动画开始后不得因切换 UI 重复扣费或退款。
- AP 永远夹在 0~9。任何获得、消耗、退款都要进入日志。
### 6.3 确定性与时间
- 使用带种子的 PRNG;相同种子、相同输入时间和相同难度必须得到相同 AI 选择、暴击和伤害浮动。
- 战斗计算使用模拟时钟;视觉用 `requestAnimationFrame` 对齐模拟时钟。禁止依赖多个漂移的 `setTimeout` 来决定伤害是否发生。
- 暂停、浏览器失焦或页面隐藏时冻结模拟时钟;恢复后不能把暂停期间的所有事件瞬间结算。
- 重试必须取消旧 `ActionInstance`、音频、粒子和镜头补间。连续重试 10 次不得出现双 Boss、重复扣血或一次按键触发多个监听器。
### 6.4 单段与整项行动的结算顺序
每一段命中固定按以下顺序结算:判定等级 → 格挡/护盾 → 伤害公式 → 标记消费 → 状态施加 → 破防累积 → 死亡检查。破防在达到 100 的该段之后立刻生效,使同一技能的后续段获得破防增伤;阶段转换演出则推迟到当前整项行动及其追加段全部结束后。行动结束时依次检查 Boss 死亡、待触发阶段转换、破防跳过行动、回合末状态和下一行动。死亡永远高于阶段转换,Boss 已死亡时不得播放新的阶段动画。
## 7. 数值与伤害公式
每个技能的 `power` 表示整项技能的总基础威力,再按 `hitWeights` 分摊。推荐采用以下明确公式,允许小幅调参,但不得以随机硬编码数字替代:
```text
base = power × (attacker.attack / 160) × hitWeight
mitigation = 100 / (100 + max(0, target.defense × defenseModifier))
damage = floor(base × mitigation × stanceMultiplier × buffMultiplier
× elementMultiplier × markMultiplier × qteMultiplier
× criticalMultiplier × seededVariance)
seededVariance ∈ [0.96, 1.04]
```
- 暴击基础倍率 1.5;玛埃尔的“剑舞”暴击倍率为 2.0。
- 单段伤害显示上限为 9,999,超过部分仍记录为 9,999,呼应视频结算中的最高伤害。
- 弱点倍率 1.25,抗性 0.75,强抗性 0.5,免疫 0,吸收为负伤害并显示治疗。
- 护盾在伤害公式前结算:一层护盾完全吸收一段命中,然后移除一层;多段技能会逐段消耗。
- 完美格挡不消耗护盾;普通格挡若仍有伤害,则先消耗护盾。
- Boss 破防时受到伤害 ×1.25,并失去下一次排定行动;破防恢复后清空破防槽。
## 8. 元素、状态和破防
### 8.1 四手剑客元素表
| 元素 | 物理 | 火 | 冰 | 雷 | 土 | 光 | 暗 |
|---|---:|---:|---:|---:|---:|---:|---:|
| 倍率 | 1.00 | 0.85 | 1.25 | 1.00 | 0.90 | 1.10 | 0.80 |
弱点、抗性必须同时影响伤害数字颜色、音效、粒子和文本反馈。
### 8.2 状态规则
| 状态 | 规则 |
|---|---|
| 着火 | 最多 10 层;受影响者自身回合结束时受到 `最大生命 × 1.2% × 层数` 的火伤,然后减少 1 层 |
| 标记 | 下一段造成生命伤害的命中 ×1.5,然后移除;被护盾完全吸收时不消费 |
| 破防 | 破防槽达到 100 后触发;取消尚未进入命中阶段的 Boss 行动,延后一次行动,受伤 ×1.25 |
| 破绽/防御降低 | 防御 ×0.75,按施加者回合计时 |
| 强力 | 造成伤害 ×1.25 |
| 坚壳 | 所受伤害 ×0.80 |
| 迅捷 | 速度 ×1.20,并即时重算尚未执行的下一行动时间 |
| 迟缓 | 速度 ×0.80 |
| 虚弱 | 造成伤害 ×0.75 |
| 倒逆 | 所有正数治疗转为等量无元素伤害;可以致死;界面必须显著警告,持续 3 个目标自身回合 |
| 护盾 | 每层完全吸收一段伤害,层数单独显示;上限 5 |
| 台风 | 吕涅回合开始时触发冰霜全体伤害并治疗全队,持续时间独立计数 |
同名百分比增益不叠乘,只刷新为更长持续时间;层数型状态按层数叠加。所有持续时间必须明确由“施加者回合”还是“目标回合”减少,并写测试锁定行为。
## 9. 实时判定:本题核心
### 9.1 通用判定等级
所有命中点都以预定动画接触时刻 `impactAt` 为中心,用实际按键时间减去该时刻得到 `deltaMs`。以下是标准值:
| 难度 | 技能 Perfect | 技能 Good | 格挡 Perfect | 普通格挡外窗 |
|---|---:|---:|---:|---:|
| 远征 | ±110ms | ±260ms | ±100ms | ±260ms |
| 标准 | ±80ms | ±180ms | ±70ms | ±160ms |
| 专家 | ±50ms | ±120ms | ±45ms | ±105ms |
边界值必须使用明确的包含规则,例如 `abs(delta) <= window`。测试必须覆盖窗口内、恰好边界和边界外 1ms。
### 9.2 技能连协与段数
- `Perfect`:该段 QTE 倍率 1.25,并满足技能的追加段数条件。
- `Good`:倍率 1.0,可继续基础段数,但不能解锁要求 Perfect 的追加段。
- `Miss`:倍率 0.65;若该提示控制后续动作分支,则取消对应追加段,但不能取消已经结算的伤害。
- 提示使用角色附近的菱形环和 `SPACE` 图标;环收缩到接触点时判定。提示必须跟随角色/武器的屏幕投影,不得因为分辨率变化漂移。
- 每个提示只能结算一次。动画事件和伤害事件必须使用同一个 `eventId`,避免视觉命中与逻辑命中错位。
至少实现以下差异:
| 行动 | 基础段数 | 提示时间(相对动作开始) | 追加逻辑 |
|---|---:|---|---|
| 基础攻击 | 3 | 0.72s、1.36s | 第二次 Perfect 追加第 4 段;两次都 Perfect,最后再追加一次小型协同击 |
| 熙艾尔·幻影之刃 | 1 | 1.05s | Perfect 产生 35% 威力的影刃追加段 |
| 吕涅·狂杀 | 1~4 | 0.75s 起,每段间隔 0.48s | 每消耗一种异色产生一段;最后一次 Perfect 额外增加 20 破防值 |
| 玛埃尔·剑花怒放 | 3 | 0.68s、1.22s | 首次 Miss 取消第 3 段;两次 Perfect 保持高手站姿 |
| 玛埃尔·剑舞 | 5 | 0.62s、1.18s、1.86s | 第一次 Miss 取消第 4 段,第二次 Miss 取消第 5 段,三次 Perfect 追加第 6 段 |
| 队伍反击 | 3 名存活者各 1 段 | 反击窗口按下后自动依次演出 | 反击提示 Perfect 时总伤害 ×1.25 |
### 9.3 格挡
对 Boss 一套攻击中的每个 `impactAt` 分别判定:
- Perfect:该段 0 伤害,播放金色格挡特效,格挡链 +1,并按 AP 规则奖励。
- 普通格挡:该段只承受 30% 伤害,播放白色冲击环;整套完美链失败。
- Miss:承受 100% 伤害,格挡链失败。
- 在下一段外窗之前过早按空格会进入 250ms 防刷冷却;连续乱按应当降低而不是提高成功率。
- 可以保留最多 60ms 的合法早按输入缓冲,但必须绑定到最近且尚未结算的一段,不能跨段。
- 如果角色在某段死亡,后续只针对该角色的段数跳过;全队攻击仍继续作用于其他存活角色。
### 9.4 完美反击/追击
若一整套攻击的所有可防御段均为 Perfect:
1. 最后一段命中停顿 120ms。
2. 显示“完美格挡”与一个独立的 650ms 反击窗口。
3. 玩家必须再次按空格;之前的最后一次格挡输入不能沿用。
4. 按中后,所有存活角色各发动一段基础反击,按各自攻击、元素和状态计算真实伤害,总破防值 +30。
5. 若反击也达到 Perfect 内窗,反击总伤害 ×1.25;若只在外窗内,正常反击;错过则没有反击,但不额外受伤。
UI 必须同时显示本套攻击的段数进度,例如 `◆◆◇◇ 2/4`。反击完成后才推进队列,不能在反击动画期间让下一个角色偷偷开始回合。
## 10. 三名角色
### 10.1 初始数据
| 角色 | 定位 | HP | 攻击 | 防御 | 速度 | 初始 AP | 暴击率 |
|---|---|---:|---:|---:|---:|---:|---:|
| 熙艾尔 | 先见叠层、增益、插队 | 932 | 170 | 120 | 118 | 4 | 10% |
| 吕涅 | 元素异色、燃烧、治疗 | 1424 | 155 | 108 | 106 | 4 | 8% |
| 玛埃尔 | 姿态切换、爆发、破防 | 1193 | 190 | 115 | 125 | 5 | 12% |
初始每人 2 层护盾。标准难度初始库存:中瓶疗愈亮色 ×2、强力精力亮色 ×2、复苏亮色 ×1。
### 10.2 熙艾尔:先见与日月姿态
每个敌人独立保存“先见”层数。普通上限 10;薄暮状态上限 20。
- `旭日`:技能消耗先见时,每消耗 1 层返还 1 AP,每次技能最多返还 4 AP。
- `月相`:消耗先见的技能每层额外 +10% 伤害,最多计算 10 层。
- 使用与当前姿态相反标签的技能时记录一次交替;连续完成两次交替进入 `薄暮` 2 个熙艾尔回合。
- `薄暮`:伤害 +75%,施加先见层数 ×2,先见上限 ×2;结束后回到旭日。
| 技能 | AP | 标签/目标 | 威力与段数 | 效果 |
|---|---:|---|---:|---|
| 暗影标记 | 3 | 月相、单体、暗 | 900,2 段 | 施加 3 层先见和标记;2 次连协提示 |
| 幻影之刃 | 6 | 旭日、单体、暗 | 3600,1 段 | 消耗最多 10 层先见,每层 +15% 伤害,破防值 25;Perfect 追加影刃 |
| 先见汇聚 | 3 | 月相、单体、物理 | 700,1 段 | 施加 2 层先见;若目标当前为 0 层则改为 5 层 |
| 准备万全 | 5 | 旭日、全体友方 | 无伤害 | 全队获得强力、坚壳、迅捷,各 3 个目标自身回合 |
| 暗影洗涤 | 4 | 单个友方 | 无伤害 | 清除倒逆、虚弱、迟缓、着火之一,并把该目标正面增益以剩余时间减 1 后扩散给全队 |
| 命运干预 | 7 | 单个友方 | 无伤害 | 目标立刻插到队首并获得 4 AP;同一行动链不可再次被命运干预 |
右侧职业提示需根据当前姿态实时显示视频风格文案,例如:`旭日:每消耗 1 层先见,行动点 +1`;`薄暮:伤害 +75%,施加的先见层数 ×2,先见层数上限 ×2`。
### 10.3 吕涅:异色/元素印记
吕涅有 4 个异色槽,每个槽可存火、冰、雷、土、光之一。新异色从左到右填充;槽满时替换最早的一个。技能可以生成或消费特定异色。UI 使用与视频相似的菱形色块簇,不能只显示文字数组。
- 基础攻击最后一段 Perfect 生成 1 个光异色。
- 被技能指定消费的异色在命中开始前锁定,技能完整结算后移除;不能因 UI 重开重复消费。
- 狂杀按当前槽顺序逐段消费,并令每段使用对应元素。
| 技能 | AP | 目标/元素 | 威力与段数 | 效果 |
|---|---:|---|---:|---|
| 焚身 | 3 | 单体、火 | 800,1 段 | 施加 3 层着火;若消费 1 雷异色,再加 2 层;生成火异色 |
| 热能转化 | 3 | 单体、冰 | 700,2 段 | 若目标着火,返还 4 AP;消费 1 火异色时伤害 +50%;生成冰异色 |
| 巨浪成冰 | 5 | 敌方全体、冰 | 1800,1 段 | 施加迟缓 2 回合;消费 1 土异色时伤害 +75%;生成冰异色 |
| 狂杀 | 7 | 单体、动态元素 | 3200,1~4 段 | 消耗全部异色,每种异色形成一段;同时消费 4 种不同异色时额外 +45 破防值 |
| 台风 | 7 | 全场光环、冰 | 每次 1400,1 段 | 吕涅每回合开始对敌方全体造成冰伤并治疗全队最大生命 12%,默认 3 回合;同时消费火与冰异色则延长到 5 回合 |
| 重生 | 5 | 死亡友方 | 无伤害 | 复活并恢复 50% 最大生命;消费 1 光异色时实际 AP 消耗降为 3 |
台风必须是延迟触发的真实状态,而非立刻播放五次动画。它可以在倒逆期间伤害本方,因此 UI 选择时要明确警告。
### 10.4 玛埃尔:剑术姿态
玛埃尔有 `无姿态 / 攻 / 守 / 高手` 四态:
- `攻`:造成伤害 ×1.50,所受伤害 ×1.35。
- `守`:所受伤害 ×0.50;每次普通或完美格挡额外获得 1 AP,每套攻击最多额外 2 AP。
- `高手`:造成伤害 +200%,即 ×3.00;除特别说明外,在完成一个伤害技能后回到无姿态。
- UI 用角色轮廓光和右侧墨迹说明同步显示当前姿态,不能只在内部变量中变化。
| 技能 | AP | 目标/元素 | 威力与段数 | 效果 |
|---|---:|---|---:|---|
| 势如破竹 | 3 | 单体、物理 | 800,2 段 | 每段优先移除 1 层护盾,每摧毁 1 层返还 1 AP;若目标已经破防,玛埃尔额外获得一个回合,每轮最多一次 |
| 大步流星 | 3 | 单体、武器元素 | 750,1 段 | 目标着火时进入高手,否则进入攻;按 Miss/Good/Perfect 获得 0/1/2 AP |
| 刺剑如风 | 4 | 敌方全体、物理 | 1200,1 段 | 施加破绽 1 回合,动作结束进入守 |
| 剑花怒放 | 5 | 单体、物理 | 2600,3 段 | +35 破防值;两次提示都 Perfect 时若原本处于高手则保持高手,否则回到无姿态 |
| 剑舞 | 9 | 单体、武器元素 | 5200,5 段 | 每段独立暴击,暴击伤害 ×2;三次连协可取消或追加段数;结算后离开高手 |
| 进攻转换 | 2 | 单体、武器元素 | 650,1 段 | 施加破绽 3 回合并进入攻 |
## 11. 基础攻击、瞄准和道具
### 11.1 基础攻击
- 3 段武器攻击,带 2 次空格提示;按第 9.2 节解锁第 4 段和小型协同击。
- 每次实际造成生命伤害的基础段获得 1 AP,但一次基础攻击最多获得 3 AP。
- 最后一击视角色产生职业资源:熙艾尔施加 1 先见;吕涅 Perfect 时生成光异色;玛埃尔无姿态时进入守。
### 11.2 自由瞄准
- 镜头进入 Boss 肩后近景,鼠标控制准星;普通躯干命中造成少量物理伤害,每发消耗 1 AP。
- Boss 有两个可破坏弱点:金剑核心和紫剑核心,各 2 点弱点耐久。命中弱点造成 ×1.5 伤害和 +20 破防。
- 金剑核心破坏后,Boss 的着火附加能力失效 2 个 Boss 回合;紫剑核心破坏后,下一次倒逆持续时间减 1。
- 弱点有独立高亮、命中音和破碎演出;破坏后外观必须变化。瞄准模式必须有结束按钮,AP 为 0 时自动退出。
### 11.3 道具
- 中瓶疗愈亮色:单体恢复 45% 最大生命;倒逆时转为伤害。
- 强力精力亮色:单体获得 7 AP,但不超过 9。
- 复苏亮色:复活单个友方并恢复 50% 最大生命。
- 库存全队共享,使用后真实减少;重试恢复初始库存。
## 12. Boss 数据、阶段和 AI
### 12.1 标准难度基础数据
| HP | 攻击 | 防御 | 速度 | 破防槽 | 暴击抗性 |
|---:|---:|---:|---:|---:|---:|
| 96,000 | 210 | 135 | 100 | 100 | 20% |
Boss 的行为不能只是固定循环。第一局前几次行动可以按视频节奏教学,之后使用带种子的权重 AI,并根据阶段、最近招式、玩家 AP、生命、增益和弱点破坏情况选择。
### 12.2 阶段
#### 阶段一:100%~68%
- 姿态较稳,使用“四臂连击”“全体斩击”“迅敏突刺”。
- 第一、二、三次 Boss 行动依次优先使用上述三招,确保玩家能体验由慢到快的格挡教学。
- 同一单体招式不得连续两次瞄准同一角色,除非只剩一人。
#### 阶段二:68%~32%
- 播放约 1.8 秒阶段演出,紫剑和金剑亮度提升,Boss 速度提高 12%,加入“倒逆剑阵”和“刀锋蓄势”。
- 阶段转换只触发一次,清除 Boss 的迟缓,但不清除着火、标记、破防槽或玩家已排定的行动。
- AI 更倾向攻击 AP 最高或正在高手姿态的角色,但仍需有 20% 以上的目标随机性。
#### 阶段三:32% 以下
- 背景变暗,地面裂缝变红,四臂全部展开;第一次进入阶段立即把“腥风血雨”安排为 Boss 下一行动,并给出显著警告,但不抢掉已经开始的玩家行动。
- “腥风血雨”只在第一次和之后每 4 个 Boss 行动至多使用一次。
- 普通招式允许使用专家节奏的一个变体,但标准难度仍保留清晰前摇。
### 12.3 招式时间轴
以下时间均以招式警告文字出现为 `t=0`。伤害威力是整套总威力,再按权重分摊。视觉接触、音效峰值和逻辑 `impactAt` 必须一致。
| 招式 | 目标 | 接触时间 | 总威力/权重 | 未完美后果 |
|---|---|---|---|---|
| 四臂连击 | 单体 | 0.98s、1.54s、2.32s、2.68s | 1300 / `[0.18,0.20,0.25,0.37]` | 最后一段命中施加破绽 1 回合 |
| 迅敏突刺 | 单体 | 0.72s、0.98s、1.62s | 1050 / `[0.25,0.25,0.50]` | 任一 Miss 使 Boss 获得 10 破防恢复值 |
| 全体斩击 | 全体 | 1.25s、2.05s、2.84s | 1450 / `[0.30,0.30,0.40]` | 金色波 Miss 施加 1 着火;紫色波 Miss 有 35% 施加迟缓 |
| 倒逆剑阵 | 全体 | 1.75s | 260 / `[1.0]` | 普通格挡仍施加倒逆 2 回合;Miss 施加 3 回合;Perfect 完全免疫 |
| 刀锋蓄势 | 自身 | 无攻击 | 无 | 获得 3 层护盾和强力 2 回合;下一行动更偏向单体连击 |
| 双刃处刑 | 生命最低单体 | 0.90s、1.86s | 1550 / `[0.35,0.65]` | 仅阶段三使用;第二段 Miss 时若目标低于 30% HP,额外施加 2 层着火 |
| 腥风血雨 | 全体混合 | 1.08s、1.56s、1.96s、2.75s、3.06s、3.48s、4.32s | 2400 / `[.10,.10,.12,.14,.14,.16,.24]` | 第 3、6 段显示地面横扫/跳跃语义;任一 Miss 使下一段速度 +8%;全 Perfect 的队伍反击伤害额外 ×1.5 |
Boss 招式播放时左侧显示简化防御说明和当前段数,主提示仍位于接触点附近。不得在命中前把动作名称和精确倒计时做成巨大教学文字;玩家应主要依靠剑光、音效和动作前摇判断。
金色剑命中使用火/光元素,紫色剑命中使用暗元素,其余肢体攻击为物理。四臂连击按“物理、火、暗、物理”交替;全体斩击按“火、暗、物理”交替;腥风血雨交错使用三类元素。招式表中“任一 Miss 使 Boss 获得 10 破防恢复值”表示把 Boss 当前破防槽减少 10,最低为 0。
### 12.4 专家招式变体
专家难度除缩小窗口外还必须修改行为:
- 四臂连击有两套种子确定的节奏:原版,或 `0.88 / 1.24 / 2.08 / 2.34 / 2.70s` 的五段版。
- 迅敏突刺可能在第一下前做一次不会结算伤害的假动作,但假动作必须有与真命中不同的音色和剑光方向。
- 全体斩击第三波可能延迟 220ms,不能随机到完全不可读。
- 腥风血雨增加第 8、9 段,接触时间为 4.68s、5.10s。
- Boss 在阶段三每 3 次行动可安排一次额外行动;时间线必须提前显示,不能暗中连动。
## 13. 难度差异
| 项目 | 远征 | 标准 | 专家 |
|---|---:|---:|---:|
| Boss HP | 70,000 | 96,000 | 130,000 |
| Boss 伤害倍率 | 0.70 | 1.00 | 1.25 |
| Boss 速度倍率 | 0.90 | 1.00 | 1.12 |
| 格挡/技能窗口 | 见第 9.1 节 | 见第 9.1 节 | 见第 9.1 节 |
| 可见提示 | 环完整显示,提前 450ms | 环提前 320ms | 环提前 220ms,部分招式有节奏变体 |
| 倒逆 | 2 回合,治疗前二次确认 | 3 回合 | 3 回合,并可在 50% HP 后出现 |
| 腥风血雨 | 5 段简化版 | 7 段 | 9 段变体 |
| Boss 额外行动 | 无 | 阶段三低概率 | 阶段二起按规则出现 |
| 瞄准弱点耐久 | 1 | 2 | 3 |
难度选择界面应简洁显示核心差异,不泄露完整招式时间。首次默认标准;难度在战斗中不可切换,重试沿用当前难度。
## 14. 推荐战斗节奏与视频关键节点
参考视频实际可见的演出节奏如下。不要把这些节点写成强制固定录像,但标准难度的首局应当容易自然出现类似流程:
- 约 0:12:四手剑客发动连击,逐段格挡。
- 约 0:37:吕涅技能面板展示狂杀和巨浪成冰;元素菱形资源同步变化。
- 约 0:52:Boss 攻击全体远征队员。
- 约 1:01:玛埃尔技能面板显示势如破竹、大步流星、刺剑如风、剑花怒放、剑舞、进攻转换和当前姿态。
- 约 1:21:Boss“动作迅敏”的快速攻击。
- 约 1:27~1:31:熙艾尔在完整格挡后反击。
- 约 2:02:再次出现快速攻击;约 2:13~2:16 玛埃尔反击。
- 约 2:53:吕涅选择台风,之后延迟到自身回合开始触发。
- 约 3:00:熙艾尔用命运干预让玛埃尔立即行动并获得 AP。
- 约 3:07:玛埃尔在高手姿态释放 5 段剑舞。
- 约 3:15:Boss 对全队施加倒逆。
- 约 3:22:Boss 再次发动连击。
- 约 3:36:吕涅台风触发,同时伤敌和治疗;若队员处于倒逆,治疗会反伤,必须按真实状态结算。
- 约 4:11:Boss 发动腥风血雨,多段快速判定。
- 约 5:05:Boss 解体并进入胜利结算。
这个流程展示了本题最重要的跨系统联动:延迟技能、插队行动、姿态爆发、群体减益、治疗反转、多段格挡和反击必须能在同一个权威状态机中正确组合。
## 15. 胜负、结算与重试
### 15.1 胜负
- Boss HP 降至 0 后立即阻止新行动入队,但允许当前伤害数字和 0.8 秒死亡命中反馈完成,然后进入胜利演出。
- 三名角色均死亡即失败;台风等未来事件不能在失败后继续复活或结算。
- 胜负状态只能进入一次,防止多段技能重复打开结算界面。
### 15.2 胜利界面
参考视频使用斜切黑色墨迹结果页,至少显示:
- `胜利`
- 固定奖励:经验 27,560、战利 3,950、剑客长刀 Lv.9、连续攻击一、精良催化源色 ×3。
- 三名角色的等级和经验条,可做一次升级演出。
- 本局动态数据:战斗用时、总伤害、最高单段伤害、承受伤害、Perfect/普通/Miss 格挡次数、完整反击次数、技能连协命中率、难度、随机种子。
- 按钮:再次挑战、返回难度选择。
视频中的样例结算为:最高伤害 9,999、伤害总计 145,041、所受伤害总计 2,103、战斗用时 5:00、格挡成功 16 次、闪避成功 1 次。正常游玩必须显示本局真实数据;可以额外提供一个固定演示种子,使自动演示结果接近这组数值,用于视觉回归而不是伪造玩家成绩。
失败界面显示 Boss 剩余生命百分比、最佳连续格挡和本局最大伤害,并提供立即重试。
## 16. 视觉和交互质量要求
- 以 1280×720 为主验收分辨率,同时在 1920×1080、1366×768 下不重叠、不裁掉按钮、不溢出文字。
- 固定格式元素使用稳定尺寸和响应式约束;QTE 图标、行动头像、AP 菱形不能因数字变化跳动布局。
- 中文字体必须有可靠回退;标题可用高对比衬线体,紧凑面板正文用清晰无衬线体。字距为 0,不使用负字距。
- 不要堆叠浮动卡片,不要把每个 UI 元素做成圆角胶囊;用细线、菱形、墨迹边缘和半透明平面贴近视频。
- 所有按钮有悬停、按下、禁用和键鼠焦点状态。陌生图标有工具提示。
- UI 不能遮住 Boss 武器前摇、角色生命或空格提示;动态伤害数字需要对象池和避让。
- 目标平均 60 FPS;低性能模式减少粒子和阴影,不改变逻辑时序。首屏加载后画布不得全黑或空白。
## 17. 自动化测试与调试工具
### 17.1 必测逻辑
使用 Vitest/Jest 或仓库既有框架,至少编写并运行以下测试:
1. 相同种子和操作日志得到完全相同的伤害与 AI 行动。
2. AP 消耗、返还、上限、技能取消与重试恢复正确。
3. 弱点、抗性、标记、暴击、姿态、强力、坚壳的乘区顺序固定。
4. 多段攻击逐层消耗护盾;完全吸收时不消费标记。
5. 着火、倒逆、台风在正确回合节点触发;台风治疗在倒逆时转为伤害。
6. 格挡 Perfect、普通格挡、Miss 的边界值和边界外 1ms 正确。
7. 一个空格输入不能同时命中两个相邻事件;长按和 `event.repeat` 无效。
8. 整套完美格挡才出现反击;最后一段格挡输入不能顺带触发反击。
9. 命运干预插队、死亡跳过、复活重入队、Boss 额外行动在左侧时间线和逻辑队列一致。
10. 阶段阈值在多段过量伤害下只触发一次。
11. 胜利/失败只触发一次,未来时间线事件被取消。
12. 连续重试后监听器、计时器、场景对象和统计数据不泄漏。
### 17.2 集成验收
- 用 Playwright 或等效工具加载游戏、选择标准难度、进入战斗、点击技能、选择目标并完成至少一次空格 QTE。
- 截图检查 1280×720 和 1920×1080;验证 Three.js 画布有非空像素、Boss 和队伍在首个战斗视口中可见。
- 检查控制台无未处理异常、资源 404、React key 警告或音频无限重播。
- 构建产物必须成功,刷新任意战斗路由不出现白屏。
### 17.3 调试模式
通过 `?debug=1` 提供不影响正常界面的调试面板:
- 当前有限状态机状态、种子、队列、Boss 阶段。
- 下一段 `impactAt`、判定窗和最近一次输入 `deltaMs`。
- 可给 Boss/角色调血、加 AP、跳到阶段二/三、触发指定招式。
- 导出/导入战斗日志并重放。重放时画面可以简化,但计算结果必须一致。
## 18. 交付物
最终至少包含:
- 可运行的完整源码,不是单张截图或录屏。
- `README`:安装、启动、测试、构建、操作、难度差异、架构说明和已知限制。
- 数据驱动的角色、技能、状态和 Boss 招式定义。
- 自动化测试与运行脚本。
- 使用的外部素材清单及许可证;若全部自制也要说明。
- 本地开发服务地址。
除非环境客观不支持,不要让用户自行补文件或继续实现。你应当在当前任务中完成、运行和验证。
## 19. 评分标准(100 分 + 15 分加分)
### 19.1 正式分
| 维度 | 分值 | 重点 |
|---|---:|---|
| 战斗引擎与状态正确性 | 20 | 权威状态机、队列、AP、伤害、胜负、暂停/重启、无竞态 |
| 格挡、连协、追击与反击 | 25 | 每段独立时序、输入去重、窗口边界、段数分支、完整格挡反击,这是核心项 |
| 角色、技能、元素与状态 | 18 | 三套职业资源真实可玩,元素/状态/延迟/插队能组合,不是换皮技能 |
| Boss AI、阶段与难度 | 12 | 招式可读、阶段转换正确、AI 有权重和目标逻辑、三档难度有结构差异 |
| UI、镜头和操作逻辑 | 12 | 贴近视频,鼠标+空格闭环,视角切换清晰,信息密度合理,无重叠 |
| 3D 美术、动画、特效、音频与性能 | 8 | 角色和场景可辨、命中反馈同步、非空画布、稳定帧率 |
| 测试、可复现性与工程交付 | 5 | 自动化测试、构建、README、种子/日志、无明显错误 |
### 19.2 加分项
| 加分项 | 分值 |
|---|---:|
| 专家难度拥有可靠假动作、节奏变体和额外行动,而非只缩窗加血 | +4 |
| 自由瞄准弱点会改变 Boss 后续能力和模型外观 | +3 |
| 可导出、导入并可视化重放同一场战斗 | +3 |
| Boss 根据玩家姿态、AP、台风和倒逆做合理反应,且不会读输入作弊 | +2 |
| 角色动画、镜头语言、材质溶解和声音达到接近商业原型的完成度 | +3 |
### 19.3 封顶与严重扣分
- 项目无法按 README 启动或首屏白屏:最高 20 分。
- 只有 UI/动画,没有由输入和状态驱动的可玩战斗:最高 30 分。
- 没有逐段实时格挡和技能 QTE:最高 45 分。
- 一次空格可以挡完整套连击,或乱按必定成功:核心项记 0,最高 50 分。
- 只有一名角色或所有角色只是名字不同、技能逻辑相同:最高 55 分。
- 没有失败、胜利、重试闭环:最高 60 分。
- 难度只改 HP/攻击倍率:Boss 与难度维度最多得 4/12。
- 使用参考视频作为不可交互背景,或按固定时间自动胜利:按未实现处理。
- 大量报错、资源 404、计时器泄漏、重启后双重结算:按影响范围扣 5~20 分。
## 20. 完成前自检
提交前逐项确认:
- 标准难度从开场到胜利和失败各跑通一次。
- 三名角色的 18 个技能都能选择、扣 AP、作用正确并结束回合。
- 至少亲自触发一次:燃烧弱点、先见消费、薄暮、异色消费、台风、高手剑舞、倒逆反伤、破防、完整格挡反击、瞄准破坏弱点。
- 空格按早、按准、按晚、长按、连按的结果都符合规格。
- 三档难度的同一 Boss 招式能看出实际差异。
- 1280×720 下所有中文完整可读,没有 UI 互相遮挡。
- 自动化测试和生产构建全部通过。
- 本地服务保持运行,并在最终答复中给出 URL、运行命令、测试结果和剩余限制。
现在直接开始检查工作区并实现。不要只回复计划,不要要求用户代你完成正常的工程步骤。
# 提示词结束
---
## 出题者备注(不要随提示词发给参测模型也可以)
这份题面刻意把“视觉像不像”和“战斗是否真的成立”分开评分。最关键的观察点不是模型能否画出四臂 Boss,而是它能否把以下组合同时处理正确:
1. 多个有绝对时间点的攻击事件,只能由对应的一次空格输入消费。
2. 完整格挡链结束后再开启新的反击窗口,避免最后一次格挡穿透。
3. 吕涅台风是未来回合事件,遇到倒逆时治疗转为伤害。
4. 熙艾尔命运干预改变行动队列但不能形成无限插队。
5. 玛埃尔高手姿态、QTE 段数分支、Boss 阶段转换和过量多段伤害同时发生时仍只结算一次。
6. 暂停、失焦和重试时,模拟时钟、监听器、镜头、音频与粒子都能正确清理。
建议评分者打开 `?debug=1`,在 68% 和 32% 阈值附近用多段技能反复测试,并故意在格挡窗口边缘、连续重试和页面失焦时制造压力。这里最容易区分“能拼出页面的模型”和真正具备复杂交互代码处理能力的模型。