推进活动系统最小成品闭环与游客体验
This commit is contained in:
292
doc/gameplay/地图列表与默认体验活动方案.md
Normal file
292
doc/gameplay/地图列表与默认体验活动方案.md
Normal file
@@ -0,0 +1,292 @@
|
||||
# 地图列表与默认体验活动方案
|
||||
> 文档版本:v1.0
|
||||
> 最后更新:2026-04-07 14:35:00
|
||||
|
||||
本文档用于定义“地图列表”这条产品线如何与现有活动系统协同工作,重点解决以下问题:
|
||||
|
||||
- 是否需要独立的地图列表入口
|
||||
- 默认体验活动如何挂在地图/地点下
|
||||
- 默认体验活动是否必须出现在正式活动列表
|
||||
- 后台应如何支持这套关系
|
||||
|
||||
本文档的核心原则是:
|
||||
|
||||
**地图列表是体验入口层,不是第二套业务内核。**
|
||||
|
||||
也就是说:
|
||||
|
||||
- 正式业务主链仍然是 `Event -> Release -> Launch -> Session`
|
||||
- 地图列表只是帮助用户从“地点/地图”进入默认体验活动
|
||||
|
||||
---
|
||||
|
||||
## 1. 总体结论
|
||||
|
||||
建议增加一条独立的:
|
||||
|
||||
- `地图列表`
|
||||
|
||||
它主要面向:
|
||||
|
||||
- 未注册用户
|
||||
- 想快速试玩的用户
|
||||
- 先看地点/地图,再决定是否体验的用户
|
||||
|
||||
但这条线不应重新发明一套“体验配置系统”,而应继续复用现有:
|
||||
|
||||
- `Event`
|
||||
- `EventRelease`
|
||||
- `Launch`
|
||||
- `Session`
|
||||
|
||||
默认体验活动只是:
|
||||
|
||||
- 一类特殊的 `Event`
|
||||
- 可以挂在 `Place / MapAsset` 下
|
||||
- 可以选择是否出现在正式活动列表
|
||||
|
||||
---
|
||||
|
||||
## 2. 基本对象关系
|
||||
|
||||
建议继续沿用当前对象模型:
|
||||
|
||||
- `Place`
|
||||
- `MapAsset`
|
||||
- `Event`
|
||||
|
||||
在此基础上,补一层关系:
|
||||
|
||||
- `defaultExperienceEvents[]`
|
||||
|
||||
可理解为:
|
||||
|
||||
- 一个地点下可有多张地图
|
||||
- 一张地图下可挂 `0 ~ N` 个默认体验活动
|
||||
|
||||
默认体验活动本身不需要新建特殊业务对象,仍然是 `Event`。
|
||||
|
||||
---
|
||||
|
||||
## 3. 默认体验活动的定义
|
||||
|
||||
默认体验活动建议继续用 `Event` 承载,但补充两个活动级属性:
|
||||
|
||||
### 3.1 `isDefaultExperience`
|
||||
|
||||
- 类型:`boolean`
|
||||
- 含义:该活动是否属于默认体验活动
|
||||
|
||||
### 3.2 `showInEventList`
|
||||
|
||||
- 类型:`boolean`
|
||||
- 含义:该活动是否出现在正式活动列表中
|
||||
|
||||
这样就能支持以下场景:
|
||||
|
||||
1. 正式活动
|
||||
- `isDefaultExperience = false`
|
||||
- `showInEventList = true`
|
||||
|
||||
2. 纯地图体验活动
|
||||
- `isDefaultExperience = true`
|
||||
- `showInEventList = false`
|
||||
|
||||
3. 既是体验又允许出现在活动列表
|
||||
- `isDefaultExperience = true`
|
||||
- `showInEventList = true`
|
||||
|
||||
4. 当前不开放的体验活动
|
||||
- 活动未 active
|
||||
- 或未挂到地图
|
||||
|
||||
---
|
||||
|
||||
## 4. 产品入口建议
|
||||
|
||||
建议前台保留两条入口:
|
||||
|
||||
### 4.1 活动列表
|
||||
|
||||
面向正式活动。
|
||||
|
||||
默认只展示:
|
||||
|
||||
- `showInEventList = true`
|
||||
|
||||
不要求把所有默认体验活动都混进去。
|
||||
|
||||
### 4.2 地图列表
|
||||
|
||||
面向“先选地图/地点,再试玩”活动。
|
||||
|
||||
流程建议:
|
||||
|
||||
1. 首页进入 `地图列表`
|
||||
2. 用户看到地点/地图卡片
|
||||
3. 点进地图详情
|
||||
4. 查看该地图下挂的默认体验活动
|
||||
5. 点某个体验活动进入现有:
|
||||
- 活动详情页
|
||||
- 准备页
|
||||
- 地图页
|
||||
|
||||
也就是说:
|
||||
|
||||
**地图列表负责入口分发,活动主链仍复用现有链路。**
|
||||
|
||||
---
|
||||
|
||||
## 5. 地图列表页建议
|
||||
|
||||
地图列表页第一阶段建议尽量简单。
|
||||
|
||||
### 每张地图卡片最小字段
|
||||
|
||||
- 地点名称
|
||||
- 地图名称
|
||||
- 地图预览图
|
||||
- 简短描述
|
||||
- 是否存在默认体验活动
|
||||
- 默认体验数量
|
||||
|
||||
### 当前不必一开始就做
|
||||
|
||||
- 复杂筛选
|
||||
- 复杂排序
|
||||
- 地图标签系统
|
||||
- 地图收藏
|
||||
|
||||
---
|
||||
|
||||
## 6. 地图详情页建议
|
||||
|
||||
地图详情页建议承担:
|
||||
|
||||
- 地图介绍
|
||||
- 地图预览
|
||||
- 默认体验活动列表
|
||||
|
||||
### 默认体验活动列表显示建议
|
||||
|
||||
每条体验活动可显示:
|
||||
|
||||
- 标题
|
||||
- 副标题
|
||||
- 玩法类型
|
||||
- 当前状态
|
||||
- 进入体验 CTA
|
||||
|
||||
如果该地图当前没有默认体验活动,应明确显示:
|
||||
|
||||
- `当前暂无体验活动`
|
||||
|
||||
不要整块隐藏。
|
||||
|
||||
---
|
||||
|
||||
## 7. 后台支持建议
|
||||
|
||||
后台后续应支持:
|
||||
|
||||
### 7.1 地图下挂体验活动
|
||||
|
||||
最少应支持:
|
||||
|
||||
- 一张地图可挂 `0 ~ N` 个默认体验活动
|
||||
- 一个默认体验活动可绑定到某张地图
|
||||
|
||||
### 7.2 活动可见性控制
|
||||
|
||||
后台应能控制:
|
||||
|
||||
- 是否默认体验
|
||||
- 是否出现在正式活动列表
|
||||
|
||||
也就是:
|
||||
|
||||
- `isDefaultExperience`
|
||||
- `showInEventList`
|
||||
|
||||
### 7.3 不要求每种玩法都挂默认体验
|
||||
|
||||
后台不应把“默认体验活动”做成强制项。
|
||||
|
||||
可以是:
|
||||
|
||||
- 不挂
|
||||
- 只挂顺序赛
|
||||
- 只挂积分赛
|
||||
- 顺序赛 + 积分赛都挂
|
||||
|
||||
这应由地图、运营目标和活动阶段决定,而不是系统硬约束。
|
||||
|
||||
---
|
||||
|
||||
## 8. 与现有活动系统的关系
|
||||
|
||||
这套方案必须继续遵守:
|
||||
|
||||
- 默认体验活动仍然是 `Event`
|
||||
- 仍然要有 `EventRelease`
|
||||
- 仍然通过 `play / launch / session` 进入
|
||||
- 仍然遵守 `canLaunch`
|
||||
|
||||
不要为地图体验活动单独发明:
|
||||
|
||||
- 新的 launch 入口
|
||||
- 新的 session 类型
|
||||
- 新的结果体系
|
||||
|
||||
否则会把主链拆坏。
|
||||
|
||||
---
|
||||
|
||||
## 9. 推荐实施顺序
|
||||
|
||||
建议按以下顺序推进:
|
||||
|
||||
### 第一步
|
||||
|
||||
先把后台和对象关系定好:
|
||||
|
||||
- 地图可挂默认体验活动
|
||||
- 活动可配置是否在活动列表出现
|
||||
|
||||
### 第二步
|
||||
|
||||
前台做:
|
||||
|
||||
- 地图列表页
|
||||
- 地图详情页
|
||||
|
||||
### 第三步
|
||||
|
||||
地图详情页里的默认体验活动继续复用现有:
|
||||
|
||||
- 活动详情页
|
||||
- 准备页
|
||||
- 地图页
|
||||
|
||||
### 第四步
|
||||
|
||||
再决定是否补:
|
||||
|
||||
- 地图筛选
|
||||
- 推荐体验
|
||||
- 地图封面优化
|
||||
|
||||
---
|
||||
|
||||
## 10. 一句话结论
|
||||
|
||||
建议增加地图列表,但它应被定义为:
|
||||
|
||||
**默认体验活动的入口层,而不是第二套活动系统。**
|
||||
|
||||
后台后续只需支持:
|
||||
|
||||
- 地图下挂默认体验活动
|
||||
- 默认体验活动是否出现在正式活动列表
|
||||
|
||||
这样既能支持未注册/试玩用户体验,也不会把现有活动主链拆成两套。
|
||||
Reference in New Issue
Block a user