# 《大厂保卫战：最后的打工人》- PRD v1.0

## 1. 产品概述

### 产品定位
一款2D讽刺类塔防小游戏，以互联网大厂职场文化为背景，用黑色幽默和荒诞策略玩法解构"内卷"现象。游戏嵌入Next.js页面，通过纯前端（Phaser.js）实现，无需安装额外软件即可在浏览器中游玩。

### 背景与目标
- 目标用户：互联网从业者、对大厂文化有共鸣的泛玩家
- 核心体验：荒诞、黑色幽默、策略对抗、共情压力
- 解决痛点：让职场压力通过游戏化方式得到释放和自嘲

### 游戏基本信息
- 游戏名称：《大厂保卫战：最后的打工人》(The Last Grinder)
- 类型：2D 讽刺类塔防 (TD)
- 平台：Web (浏览器)，嵌入 Next.js 页面
- 技术实现：Phaser.js（纯前端游戏框架）

---

## 2. 功能需求

### 核心数值体系 (P0)

**HC (Headcount)** - 资源单位（等同于传统塔防的金币）
- 初始值：200 HC
- 获取方式：击败怪物 + 每波结束后的基础奖励

**KPI (关键绩效指标)** - 基地生命值
- 初始值：100%
- 扣减规则：怪物到达终点时按怪物类型扣减

**精力值 (Stamina)** - 防御塔持续作战能力
- 范围：0~100
- 攻击时消耗，不攻击时每秒恢复5%
- 归零后进入"摸鱼"状态（停止攻击）

---

### 核心功能 (P0)

#### 1. 第一关地图：人力资源部·降本增效

**地图布局**
- 形状：S型办公走廊路径
- 起点："面试间"（怪物刷出点）
- 终点："财务室/茶水间"（KPI扣除点）
- 装饰：代码框、倒下的咖啡杯、"奋斗"横幅

**路径设计（格子坐标系，16x12格）**
```
起点(0,2) → 右行至(7,2) → 转向下至(7,9) → 转向右至(15,9) = 终点
```

#### 2. 防御塔系统

| 塔名称 | 成本 | 攻击类型 | 特殊技能 | 攻击力 | 攻速 |
|--------|------|----------|----------|--------|------|
| 00后实习生 | 50 HC | 单体近战 | 整顿职场：5%概率秒杀普通怪；每秒1%概率自动离场 | 15 | 1.5/s |
| P6资深开发 | 120 HC | 远程直线 | 代码屎山：子弹附带持续伤害(10/s，持续3s) | 30 | 1.0/s |
| PPT大师 | 100 HC | 范围减速 | 黑话领域：范围内敌人移速降低40% | 5 | 1.5/s |
| HRBP | 80 HC | 辅助Buff | 打鸡血：周围1格内塔攻速+20%，每秒消耗其额外精力 | 0 | - |

#### 3. 敌人波次系统

| 怪物名称 | 血量 | 移速 | KPI扣减 | HC奖励 | 特性 |
|----------|------|------|---------|--------|------|
| 校招应届生 | 30 | 快 | 2% | 10 HC | 成群结队，数量多 |
| 35岁老员工 | 150 | 慢 | 8% | 30 HC | 经验护盾：无视前3次攻击 |
| 职业碰瓷王 | 80 | 中等 | 5% | 20 HC | 死亡时扣玩家20 HC（劳动仲裁） |
| BOSS: 空降VP | 800 | 慢 | 30% | 150 HC | 技能：组织架构调整（随机摧毁1个防御塔） |

**波次设计（共6波）**
- 第1波：10只校招应届生
- 第2波：8只校招应届生 + 3只35岁老员工
- 第3波：周报结算 → 5只35岁老员工 + 3只职业碰瓷王
- 第4波：12只校招应届生 + 2只职业碰瓷王
- 第5波：6只35岁老员工 + 3只职业碰瓷王
- 第6波（Boss）：周报结算 → 1只空降VP + 4只35岁老员工

#### 4. 周报结算系统（每3波触发）

- 触发时机：第3波结束后、第6波开始前
- 界面：全屏弹出，10秒倒计时
- 玩法：从3个随机互联网黑话中选择1个正确答案
- 结果：
  - 选对：随机获得50~100 HC 或 全场塔精力补满
  - 超时/选错：全场塔禁锢3秒

**黑话题库（示例）**
```
赋能 / 对齐 / 颗粒度 / 打通 / 闭环 / 抓手 / 生态 / 赛道 / 护城河 / 降维打击
底层逻辑 / 顶层设计 / 方法论 / 复盘 / 迭代 / 串联 / 拉齐 / 落地 / 沉淀 / 跑通
MVP / ROI / KOL / ToB / ToC / 私域 / 增量 / 存量 / 心智 / 势能
```

#### 5. 摸鱼回复机制

- 塔不攻击时精力自动恢复：+5%/s
- 点击塔消耗10 HC购买"瑞幸咖啡"：瞬间补满精力

#### 6. 失败结算界面

仿钉钉/飞书通知样式弹窗：
```
[系统通知] 鉴于您近期的表现未能达成业务闭环，经公司管理层研究决定，
对您进行"毕业"处理。请于5分钟内归还工牌，不要带走办公文具。

[领取 N+1] (重新开始)    [申请仲裁] (返回主页)
```

#### 7. 胜利结算界面

仿绩效评级样式，显示：
- 最终KPI分数
- 消灭怪物总数
- 剩余HC
- 绩效评级：S/A/B/C

---

### 重要功能 (P1)

#### 8. 怪物头顶语录飘字

- 怪物头顶随机显示大厂黑话语录
- 100条随机语录池
- 每个怪物显示1条，淡入淡出动画

#### 9. Next.js 主页集成

- 主页展示游戏封面、游戏名、开始按钮
- 游戏画面占据主页核心区域
- 飞书/钉钉质感的极简扁平化UI

---

## 3. 视觉设计规范

### 整体视觉风格
- 扁平化设计，2D像素艺术风格
- 色调：灰蓝色调（"格子间"氛围），配合荧光绿（代码）、橙红（警报）

### 主题配色方案
- 主色（Primary）：`#1D2D44`（深夜格子间蓝）
- 辅助色（Secondary）：`#3E5C76`（办公室灰蓝）
- 强调色（Accent）：`#FF4E00`（加班警报红）
- 成功色：`#22C55E`（KPI绿）
- 背景色（Background）：`#0A1628`（深夜办公室）
- 文字色（Text）：`#E2E8F0`

### UI质感参考
- 飞书/钉钉的极简扁平化UI
- 系统通知样式的弹窗
- 进度条组件（KPI条、精力条）

---

## 4. 终端与体验策略

- 终端范围：`adaptive`
- 判定来源：默认策略（优先PC，兼容平板）
- 实施策略：`responsive_layout`，以 1280×720 为基准尺寸，响应式缩放

---

## 5. 非功能需求

### 性能要求
- 60fps流畅运行（Phaser.js Canvas 渲染）
- 对象池管理怪物和子弹，避免GC卡顿
- 最多同时30个怪物实体

### 技术栈
- 游戏引擎：Phaser.js 3.x（纯前端，npm安装）
- 集成方式：Next.js Page 中直接挂载 Phaser Game 实例
- 无后端依赖，纯客户端运行

### 兼容性
- Chrome 90+, Firefox 88+, Safari 14+
- 最低分辨率：1024×600

---

## 6. 项目计划

### MVP 范围（第一期）
1. Next.js 主页 + 游戏入口
2. 第一关完整实现（地图+6波怪物+4种塔）
3. 周报结算系统
4. 失败/胜利结算界面
5. 怪物头顶飘字语录

### 里程碑
- M1：游戏基础框架 + 地图渲染 + 路径系统
- M2：防御塔系统 + 怪物系统 + 战斗逻辑
- M3：周报结算 + 特殊技能 + UI完善
- M4：主页集成 + 语录库 + 结算界面

---

## 7. 开放问题
- 音效资源：是否需要自制音效（当前先用CSS音效模拟或跳过）
- 存档系统：是否需要保存游戏进度（当前不做）
- 第二关：暂不规划，第一关完善后迭代
