diff --git a/docs/02-game-design.md b/docs/02-game-design.md index 9992e0f..b12f87c 100644 --- a/docs/02-game-design.md +++ b/docs/02-game-design.md @@ -73,9 +73,99 @@ --- -## 2. 地图结构 +## 2. 主页面布局 -### 2.1 MVP 导航(当前实现) +### 2.1 整体结构 + +``` +┌─────────────────────────────────────────────┐ +│ 顶部标题栏 │ +│ 城市抓猫猫 · [设置齿轮] │ +├────┬───────────────────────────────┬─────────┤ +│ │ │ │ +│ 左 │ 中央 3×3 棋盘(洲选择) │ 右 │ +│ 侧 │ │ 侧 │ +│ 边 │ ┌────┬────┬────┐ │ 边 │ +│ 栏 │ │亚洲│欧洲│北美│ │ 栏 │ +│ │ ├────┼────┼────┤ │ │ +│ 邀 │ │南美│非洲│大洋│ │ 礼 │ +│ 请 │ ├────┼────┼────┤ │ 物 │ +│ 好 │ │南极│混战│期待│ │ 区 │ +│ 友 │ └────┴────┴────┘ │ │ +│ │ │ 排 │ +│ 开 │ │ 行 │ +│ 房 │ │ 榜 │ +│ PK │ │ │ +│ │ │ │ +├────┴───────────────────────────────┴─────────┤ +│ 底部信息栏 │ +└─────────────────────────────────────────────┘ +``` + +### 2.2 左侧边栏 — 社交入口 + +竖排 2 个按钮,常驻显示: + +#### 邀请好友 + +- 点击生成小程序分享卡片,邀请好友加入游戏 +- 分享卡片:游戏 Logo + "一起来抓猫猫!" + 邀请人头像 +- 好友点击直接进入游戏 +- MVP 阶段仅做分享邀请,不做邀请奖励 + +#### 开房间 PK + +- 点击创建/加入多人竞技房间 +- 房间模式:同一关卡 seed,多人同时解题,用时最短者胜 +- 支持 2-4 人 +- 房间流程:创建房间 → 分享房间码/二维码 → 等待 → 倒计时开始 → 同步竞技 → 结算排名 +- 结算奖励:第 1 名获道具补给 + 专属 PK 冠军明信片 +- 版本规划:V1.1+ 上线(需要实时同步能力) + +### 2.3 右侧边栏 — 礼物区 + 排行榜 + +竖排 2 个入口,常驻显示: + +#### 礼物区(城市主题礼物区入口) + +- 点击进入 5 个收集册(冰箱贴/邮票/猫猫/动物/地图) +- 图标上显示最新未查看的收藏品红点提示 +- 详见第 4 节"收集系统" + +#### 城市排行榜 + +- 玩家首次进入时选择一个"所属城市战队"(从已解锁城市中选,一旦选定不可更改,或每月可换 1 次) +- 排行维度:该城市战队全体成员收集的城市主题礼物总数量 +- 排行榜包含: + +| 排行类型 | 统计维度 | 刷新周期 | +|---------|---------|---------| +| 城市战队总榜 | 城市战队全体礼物总数 | 实时 | +| 城市战队周榜 | 本周新增礼物数 | 每周一重置 | +| 个人贡献榜 | 玩家在本战队的个人礼物数排名 | 实时 | + +**城市战队机制:** +- 加入战队后,玩家获得的所有收藏品(冰箱贴/邮票/猫猫/动物/地图)都计入该城市战队积分 +- 战队页面展示:战队排名、成员数、总礼物数、本周增量 +- 战队封面:该城市猫猫 + 城市色 +- 社交驱动:"为你的城市而战!" — 激发城市归属感和竞争感 +- 版本规划:V1.1+ 上线(需要服务端排行榜) + +### 2.4 版本边界 + +| 功能 | MVP | V1.1+ | +|------|-----|-------| +| 中央 3×3 棋盘 | ✅ 直入亚洲城市页 | 完整洲选择 | +| 左侧-邀请好友 | ✅ 分享卡片 | 邀请奖励 | +| 左侧-开房间 PK | ❌ 不上线 | ✅ 实时多人竞技 | +| 右侧-礼物区 | ✅ 冰箱贴 + 邮票收集册 | 完整 5 册 | +| 右侧-排行榜 | ❌ 不上线 | ✅ 城市战队排行 | + +--- + +## 3. 地图与导航 + +### 3.1 MVP 导航(当前实现) MVP 只开放亚洲 6 城市,直入城市选择页,不启用完整多级导航。 @@ -222,7 +312,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市 --- -## 3. 城市猫猫系统 +## 4. 城市猫猫系统 ### 3.1 猫猫收集 @@ -250,7 +340,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市 --- -## 4. 收集系统 — 城市主题礼物区 +## 5. 收集系统 — 城市主题礼物区 5 层收集体系,和导航层级一一对应,存放在"城市主题礼物区"。 @@ -438,11 +528,18 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市 collectedMaps: [ // { mapId, continentId, acquiredDate } ], + + // 城市战队(V1.1+) + cityTeam: { + teamCityId: null, // 所属城市战队 id,首次选择后锁定 + joinedDate: null, // 加入日期 + lastSwitchDate: null, // 上次更换日期(每月可换 1 次) + }, } --- -## 5. 每日挑战 +## 6. 每日挑战 | 项目 | 规格 | |------|------| @@ -453,7 +550,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市 --- -## 6. 广告入口设计 +## 7. 广告入口设计 | 广告类型 | 触发点 | 频次控制 | |---------|--------|---------| @@ -467,7 +564,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市 --- -## 7. 分享入口设计 +## 8. 分享入口设计 | 触发点 | 分享内容 | 奖励 | |--------|---------|------| @@ -482,7 +579,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市 --- -## 8. 难度设计思路 +## 9. 难度设计思路 ### 8.1 难度参数 @@ -516,7 +613,7 @@ Framework Ready: 全量 6 洲 48 国 127 城市的 catalog 已搭好,扩城市 --- -## 9. 玩家存档模型 +## 10. 玩家存档模型 所有玩家数据持久化到 `wx.Storage`,key 为 `player_state`。