Files
mini-zmc/docs/PRD.md
2026-07-29 10:50:33 +08:00

370 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 藏猫猫计划:产品需求文档
版本0.1
阶段MVP 可交互原型
产品形态:微信小程序
## 1. 产品概述
### 1.1 产品定位
“藏猫猫计划”是一款帮助用户快速组织线下真人追逃游戏的小程序。它通过房间邀请、身份分配、地图边界、模糊位置线索、抓捕确认和自动结算,承担线下游戏的主持人角色。
产品不鼓励玩家持续盯着手机,而是利用语音、震动、倒计时和少量关键交互,让现实空间成为主要游戏场景。
一句话表达:
> 选择一块场地,邀请几个朋友,现实世界立刻变成游戏地图。
### 1.2 目标用户
- 朋友聚会:希望快速开始一场有互动感的户外游戏。
- 校园社团:需要低成本组织多人活动。
- 亲子家庭:希望进行范围可控的户外探索。
- 企业团建:需要可配置、可复盘的团队项目。
- 景区与营地:希望将场地包装成互动游戏内容。
### 1.3 核心价值
- 两分钟内完成组局,降低组织成本。
- 自动处理分队、倒计时、线索和结算。
- 通过有限位置信息保留躲藏和推理乐趣。
- 用安全边界、越界提醒和紧急集合降低户外风险。
- 通过战报和称号促进复玩与社交传播。
### 1.4 产品原则
1. 安全高于胜负。
2. 模糊信息高于精确导航。
3. 线下互动高于屏幕操作。
4. 每位玩家尽量持续参与,减少被淘汰后的等待。
5. 基础规则公平,付费内容不直接提供竞技优势。
## 2. 游戏核心循环
```text
创建房间 → 邀请好友 → 候场确认 → 分配身份
躲藏准备 → 正式追逃 → 线索与技能 → 抓捕确认
阵营结算 → 趣味战报 → 分享/再来一局
```
一次标准游戏建议配置:
- 人数612 人
- 场地:公园、校园、营地等低车流开放区域
- 半径300800 米
- 时长3045 分钟
- 躲藏准备35 分钟
- 位置线索:每 5 分钟一次,只展示网格或大致区域
## 3. 游戏模式
### 3.1 MVP 模式
#### 经典模式
- 玩家分为寻找者和躲藏者。
- 寻找者在规定时间内抓到全部躲藏者即获胜。
- 任意躲藏者存活至倒计时结束,则躲藏阵营获胜。
- 被抓玩家进入观战状态,不再显示其他躲藏者的实时信息。
#### 感染模式
- 初始仅有少量寻找者。
- 躲藏者被抓后转化为寻找者并继续参与。
- 最后一名未被抓的玩家获得“最终幸存者”称号。
- 推荐作为默认模式,因为玩家被抓后无需长时间等待。
### 3.2 后续模式
- 占点模式:双方争夺地图中的虚拟据点。
- 护送模式:护送目标到达终点,另一方负责拦截。
- 宝藏模式:结合地图线索、二维码和现实任务点。
- 暗号模式:通过线下对话或动作确认队友身份。
- 伪装者模式:队伍中存在秘密身份和隐藏任务。
- 亲子模式:小范围、短时长、监护人可见全员位置。
- 自定义剧本:主办方配置角色、任务、道具与胜利条件。
## 4. 角色和能力
### 4.1 躲藏者
- 目标:在时间结束前保持未被抓状态。
- 可见信息:剩余时间、个人状态、安全边界、公开事件。
- 基础技能“静默”:跳过一次周期性位置暴露。
- 后续能力:假信号、分身、队友换位、紧急撤离提示。
### 4.2 寻找者
- 目标:在时间结束前完成抓捕。
- 可见信息:剩余人数、周期性模糊线索、公开事件。
- 基础技能“雷达”:检测附近是否存在未被抓的躲藏者,但不显示精确方向。
- 后续能力:足迹、缩圈、虚拟封锁区、连续追踪奖励。
### 4.3 房主
- 配置场地、时长、模式和人数。
- 开始、暂停或提前结束游戏。
- 移除异常玩家。
- 发起全员集合。
- 处理抓捕争议和安全事件。
## 5. 功能需求
### 5.1 首页
- 展示产品核心价值和主操作入口。
- 提供“创建游戏”和“加入房间”。
- 展示最近一场未结束的游戏,可继续进入。
- 提供安全规则入口。
- 后续增加历史战绩、常用队伍和附近活动。
### 5.2 创建游戏
房主填写:
- 房间名称。
- 游戏模式:经典或感染。
- 游戏时长1590 分钟。
- 准备时长110 分钟。
- 最大人数430 人。
- 初始寻找者人数。
- 线索间隔310 分钟。
- 场地半径2001500 米。
- 是否开启技能。
校验规则:
- 初始寻找者必须少于最大人数。
- 游戏和准备时间必须在允许范围内。
- 创建前必须勾选安全承诺。
### 5.3 加入房间
- 输入六位房间码加入。
- 支持通过小程序分享卡片携带房间参数直接加入。
- 展示房间名称、模式、房主和当前人数。
- 玩家确认昵称和安全规则后进入候场。
- 房间已满、已开始或已结束时给出明确提示。
### 5.4 候场
- 展示房间码、规则摘要和玩家列表。
- 房主可以邀请好友、调整规则和开始游戏。
- 玩家可以切换“已准备/未准备”状态。
- 开始前进行定位、电量与网络提示。
- 分配身份后,身份只对本人可见。
- 开始游戏时先进入躲藏准备阶段。
MVP 原型为便于单人演示,会自动加入模拟玩家。
### 5.5 游戏进行中
公共信息:
- 当前阶段、倒计时、存活人数和边界状态。
- 游戏事件流,如线索广播、技能使用和抓捕结果。
- 安全按钮:暂停参与、紧急集合、联系房主。
寻找者界面:
- 模糊区域线索。
- 雷达技能和冷却状态。
- 输入动态口令完成抓捕。
躲藏者界面:
- 下次位置暴露倒计时。
- 静默技能。
- 供寻找者验证的动态四位数口令。
- 自身是否越界或接近边界。
### 5.6 抓捕确认
推荐正式版流程:
1. 寻找者在线下发现目标。
2. 双方保持安全距离,不进行身体接触。
3. 躲藏者展示周期性变化的二维码或四位数口令。
4. 寻找者扫码或输入口令。
5. 服务端验证双方距离、口令时效和玩家状态。
6. 双方收到震动和结果提示。
异常处理:
- 口令错误时不泄露目标身份。
- 相同口令不可重复使用。
- 玩家可在短时间内发起争议。
- 房主可查看事件记录并作出裁定。
### 5.7 结算和战报
- 展示获胜阵营和个人结果。
- 展示存活时间、抓捕数、技能使用和移动距离。
- 生成“最终幸存者”“最佳猎人”“极限逃脱”等称号。
- 支持分享战报卡片。
- 支持按原规则再来一局。
### 5.8 安全中心
- 游戏区域必须由房主明确设置。
- 接近边界和越界时持续提醒。
- 禁止将机动车道、水域、施工区和私人区域设为任务点。
- 禁止身体冲撞、拉扯和强行进入封闭空间。
- 提供一键退出、全员集合和紧急联系人。
- 低电量、定位关闭或长时间失联时提醒本人和房主。
- 未成年人参与公开活动时要求监护人同意。
## 6. 隐私与合规
### 6.1 数据最小化
- 只在一局游戏期间采集实现玩法所需的位置数据。
- 默认向其他玩家展示模糊区域,不展示精确坐标。
- 游戏结束后删除精确轨迹,战报只保留聚合结果。
- 陌生人房间隐藏真实姓名、微信号和完整头像信息。
### 6.2 权限使用
- 在用户开始需要定位的玩法前,再解释并请求定位授权。
- 拒绝定位后仍可浏览规则,但不能进入正式游戏。
- 相册和摄像头权限只在扫码或生成战报时按需申请。
- 提供数据导出、历史清除和账号注销入口。
### 6.3 风险提示
- 小程序不是人身安全保障工具。
- 房主必须确认场地合法、安全且适合活动。
- 不建议在夜间、恶劣天气、高车流区域或陌生复杂地形进行游戏。
- 发生危险时立即停止游戏并联系当地紧急服务。
## 7. 状态模型
房间状态:
- `waiting`:等待玩家加入。
- `preparing`:身份已分配,躲藏者准备中。
- `playing`:正式游戏进行中。
- `paused`:房主暂停。
- `finished`:游戏结束。
- `cancelled`:房主取消。
玩家状态:
- `idle`:未准备。
- `ready`:已准备。
- `hiding`:躲藏中。
- `seeking`:寻找中。
- `caught`:已被抓。
- `spectating`:观战。
- `offline`:暂时离线。
- `quit`:退出游戏。
## 8. 非功能需求
- 房间关键事件同步延迟目标小于 1 秒。
- 倒计时由服务端时间校准,客户端不得作为最终依据。
- 弱网重连后能恢复身份、状态和剩余时间。
- 精确坐标传输和存储必须加密并设置短生命周期。
- 单局至少支持 30 人,后续活动版支持 100 人。
- 关键按钮应适合户外单手操作,并提供震动或声音反馈。
- 页面应在主流微信版本和常见屏幕尺寸下可用。
## 9. MVP 范围
### 9.1 本仓库已实现的原型
- 首页、创建、加入、候场、游戏、结算和安全规则页面。
- 本地房间和玩家模拟。
- 经典/感染模式配置。
- 准备与游戏倒计时。
- 角色分配、模糊线索、雷达、静默和口令抓捕。
- 基础战报与再来一局。
### 9.2 真实多人版必须补齐
- 微信服务端登录与用户体系。
- 云数据库或自有后端。
- WebSocket 实时同步。
- 地图选区与地理围栏。
- 后台定位策略和真机兼容性验证。
- 服务端口令和技能校验。
- 分享卡片、订阅消息和内容安全。
- 埋点、崩溃监控、举报和客服流程。
### 9.3 暂不进入 MVP
- 附近陌生人公开组局。
- 付费商城。
- 用户自制剧本市场。
- 景区和企业管理后台。
- 赛季、段位和复杂成长体系。
## 10. 数据指标
北极星指标:
- 每周成功完成的多人游戏局数。
核心漏斗:
- 首页访问 → 创建/加入房间。
- 进入房间 → 完成准备。
- 完成准备 → 正式开局。
- 正式开局 → 正常结算。
- 正常结算 → 分享或再来一局。
质量指标:
- 平均每局人数和时长。
- 中途退出率、失联率和争议率。
- 创建房间至开局的时间。
- 位置授权成功率和弱网重连成功率。
- 7 日内再次开局的房主比例。
安全指标:
- 越界事件数。
- 紧急暂停和集合事件数。
- 举报率及处理时长。
## 11. 版本路线
### V0.1 可交互原型
- 验证规则、信息节奏和页面流程。
- 用模拟玩家完成单人走查。
### V0.2 熟人内测
- 接入真实登录、房间同步和地理围栏。
- 支持 612 人熟人局。
- 完成隐私与安全流程。
### V0.3 公测
- 优化弱网、后台切换和耗电。
- 增加分享战报、历史记录和常用队伍。
- 上线感染模式完整技能和平衡参数。
### V1.0 场景扩展
- 增加宝藏、占点和亲子玩法。
- 提供活动模板和主办方工具。
- 探索营地、景区和团建商业合作。
## 12. 验收标准
MVP 进入熟人内测前至少满足:
1. 6 名玩家可通过分享进入同一房间。
2. 所有玩家看到一致的阶段、倒计时和抓捕结果。
3. 身份信息不会错误地展示给其他阵营。
4. 拒绝定位或越界时能阻止继续参与并清晰提示。
5. 抓捕口令过期、重复或距离不符时无法通过。
6. 短暂断网后能在 10 秒内恢复游戏状态。
7. 房主可暂停、集合和结束游戏。
8. 游戏结束后精确位置按策略完成删除。