docs: 添加PRD需求文档、任务计划和设计系统
This commit is contained in:
205
.docs/prd-tower-defense-game.md
Normal file
205
.docs/prd-tower-defense-game.md
Normal file
@@ -0,0 +1,205 @@
|
||||
# 《大厂保卫战:最后的打工人》- 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音效模拟或跳过)
|
||||
- 存档系统:是否需要保存游戏进度(当前不做)
|
||||
- 第二关:暂不规划,第一关完善后迭代
|
||||
Reference in New Issue
Block a user