Files
cmr-mini/doc/gameplay/地图列表与默认体验活动方案.md

5.3 KiB
Raw Permalink Blame History

地图列表与默认体验活动方案

文档版本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
  1. 纯地图体验活动
  • isDefaultExperience = true
  • showInEventList = false
  1. 既是体验又允许出现在活动列表
  • isDefaultExperience = true
  • showInEventList = true
  1. 当前不开放的体验活动
  • 活动未 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. 一句话结论

建议增加地图列表,但它应被定义为:

默认体验活动的入口层,而不是第二套活动系统。

后台后续只需支持:

  • 地图下挂默认体验活动
  • 默认体验活动是否出现在正式活动列表

这样既能支持未注册/试玩用户体验,也不会把现有活动主链拆成两套。