№ · 活跃计划 CH.07.07
主页 · 📅 活跃计划 · 5 日开发计划 v1.3 草案(7.13-7.17,W29)— 给 PM / Owner 拍板用

5 日开发计划 v1.3 草案(7.13-7.17,W29)— 给 PM / Owner 拍板用

📅 2026-07-07 · 📦 10.2 KB · 📅 活跃计划 · 📝 MD 文档 🆕 14d 🏷️ Buff🏷️ 装备🏷️ 顾客🏷️ Year1🏷️ 剧情🏷️ 联机

项目:同福客栈挂机游戏 · 时间窗:2026-07-13 ~ 07-17 · 承接:W28 v1.2 收口(7.6-7.10)· 更新时点:2026-07-07 11:55


0. 主题候选 + 推荐

候选 A(P2P 完整化 + 胜利规则 v1.1)— ⭐ 我推荐

主线 R7-R8(P2P 实时竞价 / 5 秒流拍 / 断线重连)+ 副线 R9(胜利规则 v1.1 数值拍板)

  • 为什么选 A:P2P 骨架 W28 已落(type + 5 态状态机 + 最小 UI),接续自然;胜利规则 v1.1 数值 owner 必拍,越晚越拖 D3 触发条件落地

候选 B(Phase 6 内容池翻倍 + 角色深度 UI)

主线 R12(顾客 / 员工 / 装备池 / 剧情线 3+ 实际内容)+ 副线 R13(角色深度 UI)

  • 风险:内容池工作量大,容易拖延;UI 缺位时内容池可视化不到位

候选 C(跨周目旧存档迁移 + R6 v1.1 续)

主线 R14(玩家手动回退 + 跨周目存档迁移)+ 副线 R9(胜利数值)

  • 风险:技术债重,跨周目迁移易引入新 bug;W28 R6 v1.2 刚收口,马上 v1.1 易疲劳

我建议走 A。理由:P2P 续 + 胜利数值 风险最低 / 接续最自然 / 不跟 W28 抢资源。要 B / C 跟我说换。


1. 需求 R7 — P2P 实时竞价(Day 1-2 主,8h)

| 项 | 内容 | |---|---| | 产出物 | src/utils/multiplayer/realtimeBidding.ts(新)+ src/data/multiplayer/realtimeBid.ts(type only)+ src/components/multiplayer-lobby/RealtimeBidPanel.tsx(新) | | 文件边界 | 新增 multiplayer/ 下 3 个文件;auction/ 任何文件 / auctionRules.ts | | 内容 | ① 实时竞价状态机:waiting → bidding → antiSnipe → settled(4 态)
② 反狙击机制:最后 30s 内出价 → 自动延长 30s
③ 最小出价单位:minIncrement = currentBid * 0.05
④ 房主 / 客机出价广播(基于 MultiplayerRoomState,WebRTC 留 v1.4)
RealtimeBidState 新 type,跟 AuctionState 平级联通 | | 验收 | type 通过 tsc / 状态机 waiting → bidding → antiSnipe 单步推进 / npm run build 通过 / 反狙击 5 场景单元测试全过 | | 不做 | ❌ WebRTC 实装 / ❌ 真实网络广播 / ❌ 恶意抬价 / 表情包 | | 风险 | 跟 auctionRules.ts 冲突 → 新目录 + RealtimeBidState 平级 type |

2. 需求 R8 — P2P 5 秒流拍 + 断线重连(Day 3 主,6h)

| 项 | 内容 | |---|---| | 产出物 | src/utils/multiplayer/timeout.ts(新)+ src/utils/multiplayer/reconnect.ts(新)+ src/components/multiplayer-lobby/ReconnectBanner.tsx(新) | | 文件边界 | 新增 multiplayer/ 下 3 个文件;auction/ 任何文件 | | 内容 | ① 5 秒流拍:出价后 5s 无新出价 → settled,广播给所有 seat
② 客机断线:30s 内重连 → 恢复 seat + bid 状态;30s 后不重连 → 标记 offline
③ 房主断线:30s 内不重连 → 转移房主给第一个在线 seat
④ 重连状态机:online → reconnecting → recovered(3 态)
⑤ 单元测试 5 场景:5s 流拍 / 客机掉线 30s 重连 / 客机掉线 60s 不重连 / 房主掉线 30s 重连 / 房主掉线 60s 转移 | | 验收 | type 通过 tsc / 5 场景测试全过 / npm run build 通过 / ReconnectBannerRealtimeBidPanel 集成 | | 不做 | ❌ 真实 WebSocket / ❌ 跨设备同步 / ❌ 历史出价回放 | | 风险 | 5s 流拍跟 auctionRules.ts 5s 流拍语义冲突 → 新目录平级实现 |

3. 需求 R9 — 胜利规则 v1.1 数值拍板(Day 1-2 主,4h,与 R7 并行)

| 项 | 内容 | |---|---| | 产出物 | docs/design/active/胜利终局-v1.1数值拍板-v1.md 用户签字 + src/utils/endgame/victoryConditions.ts(新,放常量) | | 文件边界 | 新增 docs/ 拍板文件 + victoryConditions.ts;endgame-save-load-design.md | | 拍板 6 件事 | ① 经营/关系/名声/时间 各项阈值(如 minFame >= 80)
② AND / OR 复合判定(如"经营 AND 关系 AND 名声,时间 ≤ 360 天")
③ 各路径优先级(主路径 vs 支路径)
④ 跨周目继承率(如 30%)
⑤ 失败链触发条件边界(留 v1.2,W30)
⑥ 跟 D3 触发条件 + 收束页的对接 | | 验收 | 主会话明确签字 / 6 件事数值表落盘 / victoryConditions.ts 常量引用 tsc 通过 | | 不做 | ❌ 不实现 UI / ❌ 不实现失败终局 / ❌ 不动 endgame-save-load-design.md | | 风险 | owner 拍板拖延 → Day 1 上午先拍 ①-②-③,Day 2 上午拍 ④-⑤-⑥ |

4. 需求 R10 — 联机 UI 集成 + 视觉对照(Day 4 主,6h)

| 项 | 内容 | |---|---| | 产出物 | src/components/multiplayer-lobby/RealtimeBidPanel.tsx 集成 + ReconnectBanner.tsx 集成 + RoomCard.tsx 升级 | | 文件边界 | 只动 multiplayer-lobby/ 下文件 + App.tsx(只动 multiplayer tab 入口) | | 内容 | ① RealtimeBidPanel 嵌入房间卡片底部
ReconnectBanner 顶部条幅(掉线时显)
RoomCard 升级:显示当前 4 态 + 当前 bid + 反狙击倒计时
④ 联机 panel 视觉对照 checklist(对照视觉规范 v1.0 联机章节) | | 验收 | npm run build 通过 / checklist 全勾 / 房间卡片正确反映 4 态 | | 不做 | ❌ 真实网络测试 / ❌ 表情包 / 弹幕 | | 风险 | 联机 panel 跟 auction/console/ 风格不一致 → 复用视觉规范 v1.0 联机章节 |

5. 需求 R11 — W29 5 日收口(Day 5 辅,2-3h)

| 项 | 内容 | |---|---| | 产出物 | docs/plans/active/2026-07-13-5日开发计划-v1.3-收口.md(7 段真填)+ docs/handoff/index.md W29 收口 Update 段 | | 文件边界 | 只新增 / 修改这 2 份文档 | | 内容 | ① W29 已收口 lane 列表(R7-R11)+ 残余风险 + 下周(W30)排程建议
② W29 收口判定 5 条全过验证
③ 残余风险条目(Phase 6 内容池 / 角色深度 UI / WebRTC 实装 / 跨周目迁移)
④ 下周排程(Phase 6 内容池翻倍 + 角色深度 UI + 失败链 v1.2) | | 验收 | checklist 全勾 / 5 日产出物落盘 / handoff 更新收口 | | 不做 | ❌ 不动已收口 lane / ❌ 不顺手做新需求 |


6. 跨日依赖图(关键路径)

Day 1: R7(实时竞价 type + 反狙击)+ R9(胜利数值 ①-②-③ owner 拍)
            ↓                              ↓
Day 2: R7(实时竞价测试 5 场景)+ R9(数值 ④-⑤-⑥ owner 拍 + victoryConditions.ts)
            ↓
Day 3: R8(5s 流拍 + 断线重连 + 5 场景测试)
            ↓
Day 4: R10(联机 UI 集成 + 视觉对照 checklist)
            ↓
Day 5: R11(收口 + 残余风险 + 下周排程)

关键路径(必走):R7 → R8 → R10 → R11 并行轨道:R9(胜利数值) Day 1-2 主轴,跟 R7 并行 缓冲日:Day 4 相对独立;若 R7/R8 滞后,可挪用半天补 R8


7. W29 派工顺序

| Day | 主短工 | 辅短工 | 角色 | |:-:|---|---|---| | 7.13 周一 | R7 实时竞价 type + 反狙击 + 5 场景测试 | R9 胜利数值 ①-②-③ owner 拍 | [短工]#联机-P2P实时竞价@v1.3 + [短工]#胜利数值拍板@v1.1 | | 7.14 周二 | R7 实时竞价完成 + 5 场景测试全过 | R9 数值 ④-⑤-⑥ owner 拍 + victoryConditions.ts | [短工]#联机-P2P实时竞价@v1.3 + [短工]#胜利数值拍板@v1.1 | | 7.15 周三 | R8 5s 流拍 + 断线重连 + 5 场景测试 | — | [短工]#联机-P2P流拍重连@v1.3 | | 7.16 周四 | R10 联机 UI 集成 + 视觉对照 checklist | — | [短工]#联机-UI集成@v1.3 | | 7.17 周五 | R11 W29 收口 + 残余风险 + W30 排程 | R10 收尾 | [短工]#5日回归收口@v1.3 + [短工]#联机-UI集成@v1.3 |


8. Owner 拍板 3 时点

| 时点 | 拍板 | 形式 | |:-:|---|---| | Day 1 上午(7.13) | W29 主题选 A / B / C + R9 胜利数值 ①-②-③ | 文字 / 简表 | | Day 2 上午(7.14) | R9 数值 ④-⑤-⑥ + victoryConditions.ts 数值表 | 文字 / 简表 | | Day 4 下午(7.16) | 联机 UI 视觉对照(对照视觉规范 v1.0 联机章节) | 视觉 OK / 调 1-2 处 / 重做 |


9. W29 收口判定 5 条

| # | 判定 | W29 内不算收口 | |:-:|---|---| | 1 | P2P 实时竞价(R7)+ 5s 流拍 + 断线重连(R8)全收口 | ❌ 反狙击 5 场景测试不过 / ❌ 5s 流拍跟 auctionRules.ts 冲突 / ❌ 房主断线 30s 不转移 | | 2 | R9 胜利规则 v1.1 数值 6 件事全拍板 + victoryConditions.ts 落盘 | ❌ 6 件事签字不全 / ❌ victoryConditions.ts tsc 不过 | | 3 | 联机 UI 升级(R10)+ 视觉对照 checklist 全勾 | ❌ 联机 panel 跟视觉规范脱节 / ❌ 房间卡片 4 态反射不对 | | 4 | cmd /c npm run build 通过 + 反狙击 + 5s 流拍 + 断线重连 15 组单元测试全过 | ❌ 反狙击 5 组 / ❌ 流拍 5 组 / ❌ 重连 5 组任一不过 | | 5 | W29 整体收口文档 + 残余风险 + 下周排程落盘 | — |


10. W29 内可保留的 residual risk

  • ✅ Phase 6 内容池翻倍(W30 单独)
  • ✅ 角色深度 UI / 账号传承 UI 补完(W30)
  • ✅ WebRTC 实装(W29 只到状态机,实装留 v1.4)
  • ✅ 失败链触发条件 v1.2(W30)
  • ✅ 跨周目旧存档迁移(R6 v1.1 续,W30)
  • ✅ 跨设备同步(Phase 7)
  • ✅ 表情包 / 弹幕 / 弹幕互动(W30+)

11. W29 ↔ W28 衔接对照

| W28 v1.2 lane | 收口情况 | W29 v1.3 衔接 | |---|---|---| | R1.x 道具 | Day 5 待 R1.6 手验证据 | 不接,W29 不动道具 | | R2 胜利终局 | Day 1 拍触发条件 + 收束页;数值 Day 3 未拍 | R9 接续数值 6 件事 | | R3 P2P 房间 | Day 4 骨架 + 5 态状态机 + 最小 UI | R7 + R8 接续实时竞价 / 流拍 / 重连 | | R4 剧情预研 | Day 4 待 7.10 下午 owner 拍 1 条优先线 | 不接,W29 不动剧情内容 | | R6 字段净化 | Day 4 待 7.9 短工做 6 处代码 | 不接,W29 不动 R6 | | R5 W28 收口 | Day 5 真填 7 段 + W29 排程 | R11 W29 收口 |


🎬 W29 v1.3 草案整理完毕

总结:

  • W29 = 5 条 R lane(R7-R11)/ 11 个任务 / 3 个拍板时点 / 5 条收口判定
  • W29 v1.3 主题推荐 方案 A(P2P 续 + 胜利数值);备选 B(内容池翻倍)/ C(跨周目迁移)
  • W30 排程预留:Phase 6 内容池翻倍 + 角色深度 UI + 失败链 v1.2 + 跨周目迁移

我没动:

  • ❌ 没派工 / 没 absorb callback / 没改 handoff / 没改代码
  • ✅ 只整理 W29 v1.3 草案结构,等你 / PM 拍板主题(选 A / B / C)